为什么 FFMPEG 会给视频增加额外的比特率?

为什么 FFMPEG 会给视频增加额外的比特率?

我使用 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

要强制 CBR,您应该使用minratemaxratebufsize(请参阅这里

ffmpeg -i myfile.avi
       -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k
       out.m2v

相关内容