我使用FFMPEG(命令行输入)将我的视频转换为特定的输出格式。我面临的问题是当我尝试将恒定比特率(700 kbps)传递给FFMPEG时,结果是具有不同比特率(例如1000 kbps)的输出视频。所有视频都会出现这种现象。为什么会发生这种情况?我需要保持恒定的比特率。谁能帮我吗。
我的FFMPEG版本是0.5
我传递给FFMPEG的命令行参数是,
-i {inputfile}
-b 700k -ab 64k
-vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240
{outputfile}
编辑:
当我使用以下参数时,我能够强制CBR的波动为+/- 3%。
ffmpeg -i myfile.avi
-b 4000k -minrate 4000k
-maxrate 4000k -bufsize 1835k out.m2v
但是当我使用-maxrate和 - minrate以及我的参数集时,我无法强制CBR。我的参数设置如下,
-i {inputfile}
-b 1200k -minrate 1200k
-maxrate 1200k -bufsize 1200k
-ab 64k -vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240
{outputfile}
为什么会这样?
1
不要忘记您的音频比特率增加了64 kbps。
—
llogan 2012年
我以为
—
Marco
-b
交换机已被弃用了。
@Marco它并没有被弃用,但它确实具有与以往不同的含义:
—
Evilsoup 2013年
-b
用于设置视频比特率,但现在它设置了整体比特率(视频和音频)。要设置视频比特率,您应该更正确地使用-b:v
(而-b:a
不是-ab
)。但这些都不会对提问者特别有帮助。