[请求] MCEBuddy 中 FFMPEG 和 Handbrake 的更新版本?

查看 MCEBuddy 中的 FFMPEG 版本,顯示為「N-95085-g525de95679」,這串字並未透露 FFMPEG 的日期或版本。雖然標註「built with gcc 20190918」,但無法確定這是指用來編譯此版 FFMPEG 的 GCC 編譯器日期,還是 FFMPEG 從 git 原始碼庫拉取並編譯的日期。

我看到 Gyan Doshi 會發布每週版本,裡面確實包含 NVENC 與 NVDEC 編碼器/解碼器。
參見:Builds - CODEX FFMPEG @ gyan.dev

Handbrake 似乎是 1.3.3 版,NVENC 版本為 12.0。
目前最新版是 1.5.1。我不清楚 Handbrake 是否包含 NVDEC 解碼器,還是只有 NVENC 編碼器。

我的問題是:我們能否直接置換更新版本的 FFMPEG 與 HandbrakeCLI 執行檔?

若不行,何時才能在 MCEBuddy 升級這些關鍵工具到最新版?

comskip 是否能利用 GPU「解碼器」?

我们确实会测试各种工具的新版本。我们必须测试其稳定性、性能(以及兼容性)。通常,新版本会有 bug,或者有时性能更差;例如,我们针对 Intel QSV 转码和 NVEnc 转码使用不同版本的 HandBrake。每个测试周期需要数周时间,在大量机器上 24×7 运行,测试数十万个文件,然后才会认证其可在 MCEBuddy 中普遍使用。

但如果是个人使用,完全可以直接替换、亲自测试,并欢迎分享你的反馈。

我也在焦急地等待更新版的 FFMPEG。

我已经不再用 MCEBuddy 重新编码我的录制文件,因为它无法处理 ATSC 3.0 中使用的 AC-4 音频。现在我只是让它复制并重命名文件,然后让 Emby 进行转码,因为 Emby 内置了更新版的 FFMPEG,可以处理 AC-4。但我真的很希望能重新使用 MCEBuddy,因为它提供了更多配置和控制选项。

Ffmpeg 正式版目前還不支援 ac-4,仍在開發中;不過若你有預先發布的開發版本,可直接放進 MCEBuddy 使用。

Emby 构建版本基于 FFMPEG 5 分支。
在转码日志中我看到:

*01:56:01.333 ffmpeg version 5.1-emby_2022_10_11 Copyright (c) 2000-2022 the FFmpeg developers and softworkz for Emby LLC*
*01:56:01.334 built with gcc 10.3.0 (Rev5, Built by MSYS2 project)*

我曾尝试直接替换为 MCEBuddy 的构建版本,但任务无法执行。时间有点久,不过我记得 MCEBuddy 传给 FFMPEG 的命令行参数无法正常工作。

此致,

-Scott

我试用了 Handbrake-CLI v1.5.1,目前一切正常,没有问题。系统:Win10x64 22H2 (19045.2364),i5-4430,RTX-2060。

GPU 风扇似乎并未全速运转,GPU 利用率约 60–70%,可能还略低;编码时 CPU 利用率仍保持在 95% 左右。

我没有用同一文件在两个版本间对比,但同一频道、同一节目,早前用 MCE Buddy 和 Handbrake 1.3.1 处理后的版本,与 1.5.1 处理后的版本并排播放并同步对比时,前者色度看起来更低。

不清楚 Handbrake 两个版本间的处理速度是更快还是更慢。我正在转码为 H.265 和 AC3,封装成 MKV。

關於我(有限、僅一筆資料、Intel i5-Haswell、RTX2060)的隨插即用更新測試報告:
Handbrake CLI 1.6.1 ── 正常,從 1.3.3 升級。未更動 CLI-qsv(1.0.7),儘管 1.6.1 號稱支援,所以 qsv 版本已不需要?
MKVMerge 與 MKVExtract 74.0.0 ── 正常,從 17.0.0 升級(下載免安裝版並抽出個別工具)。
AVIdemux 2.8.1 ── 正常,從 2.7.1 升級(程式結構重組,僅保留 plugins 目錄)。

FFMPEG 6.0 穩定版釋出!使用 gyan.dev 編譯版本。
詳情:https://ffmpeg.org/index.html#news

> ffmpeg -version
ffmpeg version 6.0-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads 
  --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls 
  --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib 
  --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 
  --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid 
  --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation 
  --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab 
  --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm 
  --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc 
  --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libgme 
  --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame 
  --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm 
  --enable-libopencore-amrnb --enable-libopus --enable-libspeex 
  --enable-libvorbis --enable-librubberband
libavutil      58.  2.100 / 58.  2.100
libavcodec     60.  3.100 / 60.  3.100
libavformat    60.  3.100 / 60.  3.100
libavdevice    60.  1.100 / 60.  1.100
libavfilter     9.  3.100 /  9.  3.100
libswscale      7.  1.100 /  7.  1.100
libswresample   4. 10.100 /  4. 10.100
libpostproc    57.  1.100 / 57.  1.100

Comskip ── 0.80.003。目前捐贈版為 0.82.012。
不確定它是否使用外部 ffmpeg 或內嵌版本。
希望它能使用 MCEBuddy 提供的那一份。

刚刚注意到 HandBrake 1.7 已发布到 GitHub。值得注意的是,内置的 FFmpeg 将升级至 v6.1,并支持 AV1(包括 NVENC)。正式版预计几天内上线,现已可在 nightly 构建中使用。

详见 Github NEWS

视频

  • 新增 AMD VCN AV1 编码器
  • 新增 NVIDIA NVENC AV1 编码器
  • 新增 SVT-AV1 多通 ABR 模式支持
  • 新增保留环境观看环境元数据支持
  • 新增 QSV 旋转与格式滤镜
  • 提升 arm64 / aarch64 / Apple Silicon 架构性能
    • 最新 FFmpeg 提供更快的 HEVC 解码,bwdif 滤镜提速 30%
    • 全新 SVT-AV1 汇编优化,性能最高提升 4 倍
  • 通过移除多余帧拷贝提升视频转换速度,内存效率更高
  • 改进 Dolby Vision 动态范围元数据透传
    • 支持编码器:x265 10-bit
    • 支持配置文件与交叉兼容 ID:8.4、8.1、7.6(仅基础层,转换为 8.1)、5.0
  • 改进 HDR10+ 动态范围元数据透传
    • 支持编码器:x265 10-bit、SVT-AV1
  • 改进 Linux 上的 QSV 支持(#4958
  • 更新 NVENC 默认不再使用多通;可在高级选项中配置
  • 将“2-pass 编码”选项重命名为“多通”(#5019
  • 修复 Intel QSV 编码器在某些情况下输出绿色视频的问题(#4842、#4876
  • 修复使用 10-bit 硬件编码器时像素格式转换导致颜色轻微偏差的问题(#5011
  • 修复源分辨率非 mod 2 时使用 swscale 而非 zscale 导致的扫描失败
  • 修复读取变形 AV1 视频轨道时的错误 PAR
  • 移除 VP9 CQ 模式的人工码率限制

命令行界面

  • --two-pass 重命名为 --multi-pass--no-two-pass 重命名为 --no-multi-pass,移除 -2#5019
  • 修复即使预设禁用裁剪,自动裁剪仍被启用的问题(#5055

音频

  • 修复 AC3 与 EAC3 下混时音量过低的问题
  • 修复仅左声道或仅右声道的单声道混音(#3533、#5054

字幕

  • 修复区域设置可能导致 SSA 头中小数分隔符错误的问题
  • 修复可能影响零时长字幕的潜在问题

构建系统

  • 为 Linux GUI 新增 Meson 构建系统

第三方库

  • 新库
    • libdovi 3.2.0(Dolby Vision 动态范围元数据)
  • 更新库
    • AMF 1.4.30(AMD VCN 视频编码)
    • FFmpeg 6.1(解码与滤镜)
    • FreeType 2.13.2(字幕)
    • Fribidi 1.0.13(字幕)
    • HarfBuzz 8.2.2(字幕)
    • libass 0.17.1(字幕)
    • libdav1d 1.3.0(AV1 视频解码)
    • liblzma (xz) 5.4.5(LZMA 视频解码,如 TIFF)
    • libopus 1.4(Opus 音频编码)
    • libjpeg-turbo 3.0.1(预览图像压缩)
    • libvpx 1.13.1(VP8/VP9 视频编码)
    • libxml 2.11.5(通用)
    • oneVPL 2023.3.1(Intel QSV 视频编码/解码)
    • SVT-AV1 1.7(AV1 视频编码)
    • x264 164 r3107(H.264/AVC 视频编码)
    • x265 r12776(H.265/HEVC 视频编码)
    • zimg 3.0.5(色彩转换)
    • zlib 1.3(通用)

值得注意的是,上面提到了 NVENC SV1(nVidia 硬件编码为 SV1)的加入。
该功能现已出现在 Handbrake 的 nightly 构建中,Handbrake 1.7.0 也很快就会发布。

然而,NVENC SV1 GPU 编码仅在新一代 Ada(RTX40 系列)显卡上可用。

目前尚不清楚 nVidia 是否会将该编码器反向移植到 RTX10 系列(Pascal)、RTX20 系列(Turing)或 RTX30 系列(Ampere)显卡。我没有 RTX40 系列显卡,因此看不到该选项。

如果我确实入手了 RTX40 系列显卡,那将是我从 x265 切换的转折点。

SV1 对应的开源音频编解码器是 Opus。遗憾的是,目前设备对该编解码器的支持很少,而像 AAC、AC3、E-AC3 和 Dolby 5.1 这类受 IP 限制的编解码器则得到了广泛且根深蒂固的媒体与支持。

因此,目前我未来的媒体编码方案将是 SV1 和 AAC。