什么是-crf用于ffmpeg


13

将jpegs数组转换为视频文件(ogg格式)时,我一直在使用-crf选项。-crf的有效范围是多少?目前我正在使用23。

我找不到我读过的书签,知道这个标志是做什么的,我花了一些时间用谷歌搜索。

这些是我目前使用的论据:

-f image2 -r 10 -i " + _sourcePath + @"\img%05d.jpg -crf 18  -y -r 10 " + _destPath + "\\" + _filename + ".ogg"

1
我对这个命令一无所知,但这里有很好的记录:ffmpeg.org/ffmpeg.html
Ben Plont 2013年

1
您使用的是libx264(用于H.264视频)还是用于libvpx(用于VP8视频)?请显示您的ffmpeg命令和完整的控制台输出。
llogan 2013年

嗨,抱歉延误。不得不遛狗。我会修改我的问题。谢谢
安德鲁辛普森

1
所以,问题是你是否想要将这个问题保持在CRF上,或者如果你有特定的问题需要帮助。在后一种情况下,我们需要获得完整的命令行输出(即从“ffmpeg version ...”到最后一位)的所有内容以及您正在使用的实际命令,但遗憾的是,现有的答案无效。如果您遇到具体问题,您可能想问一个新问题。
sl'ck

@slhck嗨,你是对的。我确实需要学习将来更具体和全面。因为这是你的答案比其他人更适合我的需求,但其他人的信息也很丰富。我将来会更加谨慎:)谢谢你的时间。非常感激。
安德鲁·辛普森

Answers:


18

这指的是恒定速率因子(crf)。

正如其他人指出的那样(全部谢谢),这些值将取决于您使用的编码器。

对于x264,您的有效范围是0-51

量化器标度的范围是0-51:其中0是无损的,23是默认值,51是最差的。甲的值是一个更高的质量和主观理智的范围是18-28。考虑18在视觉上无损或几乎如此:它应该与输入看起来相同或几乎相同,但它在技术上不是无损的。

对于vpx,范围是4-63(如@ sebastian-hoffner所回答):

默认情况下,CRF值可以是4-63,而10是一个很好的起点。值越低意味着质量越好。

在这两种情况下,越低越好 根据我的经验,我更经常看到x264。

Slhck的无耻插件(SU mod)链接看起来有一些很好的信息。


3

如果我理解下面正确链接的页面,则crf标志确保可变比特率以保持恒定质量。默认范围是4到63,但可以进一步调整。

有关更多信息,查看https://trac.ffmpeg.org/wiki/vpxEncodingGuide


我有点困惑,我们都链接到同一个网站,每个页面都说略有不同(范围,即)。无论如何,两者看起来都合情合理,所以我对此感到有些困惑。
nerdwaller

嗨,谢谢你。我希望提高视频流的质量,这样低的crf会做到吗?
安德鲁·辛普森2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.