FFmpeg 中的 -crf 有什么用途?

FFmpeg 中的 -crf 有什么用途?

将 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 会导致比特率大约增加两倍。

相关内容