ray-goldman/ffmpeg-jellyfix

GitHub: ray-goldman/ffmpeg-jellyfix

为 Jellyfin 用户提供的非官方 FFmpeg 8.1.2 Windows 定制构建,用于修补 MagicYUV 解码器中的 CVE-2026-8461 漏洞。

Stars: 0 | Forks: 0

# ffmpeg-jellyfix 非官方的 Windows FFmpeg 8.1.2 构建版本,专为需要解决 [CVE-2026-8461](https://nvd.nist.gov/vuln/detail/CVE-2026-8461) 的 Jellyfin 用户打造。NVD 表示此 MagicYUV 解码器问题影响 8.1.2 之前的 FFmpeg 版本。 ## 二进制文件 本仓库有意不提交 `libfdk_aac` 二进制文件。经核实的本地构建版本使用了 `build/testested-local/SHA256SUMS.txt` 中的哈希值,但上游 FFmpeg 将此配置标记为 `nonfree and unredistributable`(非自由且不可分发),因此更安全的公共信任模型是:检查配方,自行构建,并将 Jellyfin 指向您的本地输出文件。 ## Jellyfin 用法 1. Clone 此仓库。 2. 运行 `.\build\build.ps1`。 3. 将 out\ffmpeg.exe 和 out\ffprobe.exe 复制到您的 Jellyfin Server 目录中,并在备份后替换原有的捆绑二进制文件。 4. 重启 Jellyfin。 5. 检查 Jellyfin 播放/转码日志中报告的版本: ``` ffmpeg version 8.1.2-Jellyfin ``` ## 此构建版本是什么 - 来自 `https://ffmpeg.org/releases/ffmpeg-8.1.2.tar.xz` 的上游 FFmpeg 8.1.2 源码 - Windows x64 命令行工具:`ffmpeg.exe` 和 `ffprobe.exe` - 版本后缀:`Jellyfin` - 具备足够的静态/便携性,无需在其旁边放置 MSYS2 编解码器 DLL 即可运行 - 包含 `libfdk_aac`、`libx264`、`libx265`、`libsvtav1`、`dav1d`、`zimg`、CUDA/NVENC/NVDEC、AMF、QSV/oneVPL、DXVA2、D3D11VA 和 D3D12VA ## 此构建版本不是什么 - 不是官方的 Jellyfin 发行版 - 不是基于官方的 `jellyfin-ffmpeg` 分支构建的 - 不包含仅用于 Jellyfin 的补丁(例如 `tonemapx`) - 由于启用了 `libfdk_aac`,因此无法在上游 FFmpeg 的常规 GPL 条款下重新分发 ## 许可证警告 配置命令行使用了 `--enable-nonfree --enable-libfdk-aac` 以匹配正常工作的 Jellyfin 捆绑二进制文件。上游 FFmpeg 将此报告为: ``` License: nonfree and unredistributable ``` ## 自行重新构建 这些步骤假设 Windows 和 MSYS2 安装在 `C:\msys64`。 安装 `build/msys2-packages.txt` 中列出的 MSYS2 软件包: ``` $packages = Get-Content .\build\msys2-packages.txt & C:\msys64\usr\bin\pacman.exe -S --needed $packages ``` 构建: ``` .\build\build.ps1 ``` 该脚本会下载 FFmpeg 8.1.2,检查源码的 SHA256,应用 `patches/ffmpeg-8.1.2-windows-static-jellyfin.patch`,使用 `BUILD-INFO.txt` 中记录的相同选项进行配置,然后构建并将输出写入 `out/`。 验证您构建的二进制文件: ``` .\build\verify.ps1 -BinDir .\out ``` ## 构建说明 请参阅 `BUILD-INFO.txt` 以了解确切的源码哈希值、主要配置选项以及少量的本地补丁说明。
标签:AI合规, FFmpeg, Jellyfin, Libemu, 多媒体处理, 媒体服务器, 漏洞补丁, 视频转码