![FFmpeg 中的 -crf 有什么用途?](https://linux22.com/image/1386472/FFmpeg%20%E4%B8%AD%E7%9A%84%20-crf%20%E6%9C%89%E4%BB%80%E4%B9%88%E7%94%A8%E9%80%94%EF%BC%9F.png)
将 JPEG 数组转换为视频文件(Ogg 格式)时,我一直在使用该-crf
选项。 的有效范围是什么-crf
? 目前我使用的是 23。
我找不到我读过的书签来了解这个标志的作用,我花了一些时间在 Google 上搜索。
这些是我目前正在使用的论点:
-f image2 -r 10 -i " + _sourcePath + @"\img%05d.jpg -crf 18 -y -r 10 " + _destPath + "\\" + _filename + ".ogg"
答案1
这是指恒定速率因子(crf
)。
正如其他人指出的那样(感谢大家),这些值取决于您使用的编码器。
为了x264您的有效范围是0-51
:
量化尺度的范围是0-51:其中 0 表示无损,23 表示默认,51 表示最差可能。降低价值在于更高的品质主观上理智的范围是18-28。认为 18 在视觉上无损或者几乎如此:它应该看起来与输入相同或几乎相同,但从技术上讲它并不是无损的。
为了韓國范围是4-63
(因为@sebastian-hoffner已回答):
默认情况下,CRF 值可以是 4-63,10 是一个不错的起点。值越低,质量越好。
在这两种情况下,值越低,质量越高。 根据我的经验,我更常看到 x264。
Slhck 的无耻宣传(SU mod)链接看起来有一些很好的信息。
答案2
如果我理解下面链接的页面没有问题的话,crf 标志可确保可变比特率以保持恒定质量。默认范围是 4 到 63,但可以进一步调整。
看一下https://trac.ffmpeg.org/wiki/Encode/VP9了解更多信息。
答案3
CRF 标度的范围是 0–51,其中 0 表示无损(仅适用于 8 位,对于 10 位使用 -qp 0),23 为默认值,51 表示质量最差。较低的值通常可带来更高的质量,主观上合理的范围是 17–28。将 17 或 18 视为视觉上无损或接近无损;它应该看起来与输入相同或接近相同,但从技术上讲它不是无损的。
范围是指数的,因此增加 CRF 值 +6 会导致比特率/文件大小大约减少一半,而增加 -6 会导致比特率大约增加两倍。