x264 tune 的解释

Ste*_*nny 48 ffmpeg x264

运行此命令:

ffmpeg -i xr.mp4 -tune ya zu.mp4
Run Code Online (Sandbox Code Playgroud)

揭示了x264 和 FFmpeg的可能调谐值:

[libx264 @ 0000000002167100] 可能的曲调:电影动画颗粒静止图像 psnr ssim
                                             快速解码零延迟

但是,我找不到解释这些值实际作用的参考资料。

llo*_*gan 78

这就是模式的作用:

  • film – 用于高比特率/高质量电影内容。此处使用较低的解块。
  • animation– 适用于卡通片等,其中增强了去块功能以补偿较大的平坦区域。使用了更多的参考帧。
  • grain – 这应该用于已经有颗粒的材料。在这里,谷物不会被过滤掉太多。
  • stillimage – 顾名思义,它通过降低去块过滤器来优化静止图像编码。
  • psnrssim– 这些调试模式仅用于优化良好的 PSNR 和 SSIM 值。更好的指标并不一定意味着更好的质量。
  • fastdecode – 禁用 CABAC 和环路去块滤波器,以允许在计算能力较低的设备上进行更快的解码。
  • zerolatency – 优化快速编码和低延迟流

您可以使用以下命令查看每个调谐应用的详细选项x264 --fullhelp

--tune <string>         Tune the settings for a particular type of source
                          or situation
                              Overridden by user settings.
                              Multiple tunings are separated by commas.
                              Only one psy tuning can be used at a time.
                              - film (psy tuning):
                                --deblock -1:-1 --psy-rd <unset>:0.15
                              - animation (psy tuning):
                                --bframes {+2} --deblock 1:1
                                --psy-rd 0.4:<unset> --aq-strength 0.6
                                --ref {Double if >1 else 1}
                              - grain (psy tuning):
                                --aq-strength 0.5 --no-dct-decimate
                                --deadzone-inter 6 --deadzone-intra 6
                                --deblock -2:-2 --ipratio 1.1 
                                --pbratio 1.1 --psy-rd <unset>:0.25
                                --qcomp 0.8
                              - stillimage (psy tuning):
                                --aq-strength 1.2 --deblock -3:-3
                                --psy-rd 2.0:0.7
                              - psnr (psy tuning):
                                --aq-mode 0 --no-psy
                              - ssim (psy tuning):
                                --aq-mode 2 --no-psy
                              - fastdecode:
                                --no-cabac --no-deblock --no-weightb
                                --weightp 0
                              - zerolatency:
                                --bframes 0 --force-cfr --no-mbtree
                                --sync-lookahead 0 --sliced-threads
                                --rc-lookahead 0
Run Code Online (Sandbox Code Playgroud)

  • `--tune film` 适用于实景内容:任何用相机拍摄的内容,而不是 cel 动画或计算机生成的文本/图表。它甚至适用于有点逼真的 3d 动画,所以不要让“电影”部分吃掉你。它适用于颗粒状和非颗粒状源,并平衡颗粒保留与每比特率的整体质量,而“--tune 颗粒”将不惜一切代价尝试保留颗粒;如果出于某种原因必须保留谷物,则很有用。`--tune film` 确实*不* 仅对高比特率有帮助(实际上,一般而言,调整往往对较低的比特率有更大的影响)。 (12认同)
  • 注意:“静止图像”适用于编写使用 x264 编码单个静止帧的工具,作为 JPEG 或 JPEG2000 的替代品。然而,它*可能*仍然对人们制作视频有帮助,该视频本质上是静止图像的幻灯片,其中静态图像在更改为下一个图像之前在许多帧中保持不变,只要它字面上是静态幻灯片,没有过渡。“静止图像”的重点在于它增强了某些心理优化,以损害运动为代价来改善单帧。 (12认同)
  • @Florin 两者都适用于高质量的来源,但 `--tune film` 会过滤一些颗粒,而 `--tune grain` 会保留更多的颗粒。AIUI 后者仅应在颗粒是视觉效果的重要组成部分时才应使用,并且在目标设置下仍然很明显。 (8认同)
  • 进一步注意:x264 从不“过滤”颗粒。我们正在改变的是编码器给予谷物特殊处理的程度。例如,“grain”预设会针对颗粒很重要且无处不在的情况优化编解码器,并将更改编解码器以更好地处理这种情况并使颗粒看起来更均匀。Grain 永远不会被任何设置过滤(nr 除外),它本质上很难有效地压缩,并且很难让编解码器看起来很好,除非你专门针对它进行了调整。如果你没有为你的编码分配足够的比特率,grain 会受到影响。 (5认同)
  • 我的印象是 --tune film 适用于颗粒状材料,但从您所说的来看,它是高质量输入的同义词;基本上,如果我的音源总是质量很好,那么我应该总是使用这首曲子。然后 --tune 颗粒应该用于诸如非常旧的电影材料之类的东西。那是对的吗? (2认同)