与ffmpeg中的crf和qp有什么区别?

Nov*_*ova 5 ffmpeg

在浏览Google之后,我遇到了关于h264编码的这个页面并发现了关于qp的内容.https://trac.ffmpeg.org/wiki/Encode/H.264

我的问题是:与crf和qp有什么不同?是否更好地使用qp而不是crf整体,还是只有使用qp 0才能获得最佳无损?如果首选,qp是否具有已知的合理设置?到目前为止,我知道crf的默认值为23,而18是质量的明显优选增加,虽然我不明白为什么18如果更好的明智无损则不会违约.最后,改变其中任何一个都会导致与非ffmpeg玩家不兼容或只是qp?

顺便说一下,我正在从webm转换为mp4.

我打算测试crf 23和18并选择哪个最好,但我似乎无法找到关于此比较或qp的任何具体信息.

aer*_*tal 8

QP直接设置量化参数时,它在整个编码过程中保持不变,并且每个帧将根据设置值进行压缩.

恒定速率因子CRF允许QP向上移动具有大量运动的帧或向下移动用于静止帧,从而在保持压缩效率的同时产生一致的感知质量.

这篇文章很好地解释了它.

CRF默认情况下只是默认,你需要选择适合你的类型视频的价值.FFmpeg具有PSNRSSIM等过滤器,可用于比较结果.

  • @Nova让自己轻松忘记`-qp`甚至存在:对于一般用户来说它基本上没用.使用`-crf`. (2认同)
  • @Nova 不,现有的所有播放器都支持使用 -qp 或 -crf 生成的文件。还有其他选项会影响非常有限的用例(例如蓝光)的可玩性,但您不必担心这一点,除非您专门将文件放在蓝光磁盘上。如今,移动设备和显卡中的硬件播放器对 H.264 的支持非常一致,因此您不再需要为此担心。 (2认同)

Mic*_*eon 6

仅供记录,由和编解码器(CUDA 支持的编解码器)-qp支持。libx264h264_nvenc

CUDA忽略了 -crf,这让我花了很长时间才注意到。