如何使用FFMPEG强制恒定比特率
我使用FFMPEG(命令行输入)将视频转换为特定的输出格式。我面临的问题是,当我尝试将恒定比特率(700 kbps)传递给FFMPEG时,结果是以不同比特率(比如1000 kbps)输出视频。这种现象在所有视频中都会发生。为什么会发生这种情况?我需要保持恒定的比特率。有人能帮我吗 我的FFMPEG版本是0.5 我要传递给FFMPEG的命令行参数是如何使用FFMPEG强制恒定比特率,ffmpeg,bitrate,Ffmpeg,Bitrate,我使用FFMPEG(命令行输入)将视频转换为特定的输出格式。我面临的问题是,当我尝试将恒定比特率(700 kbps)传递给FFMPEG时,结果是以不同比特率(比如1000 kbps)输出视频。这种现象在所有视频中都会发生。为什么会发生这种情况?我需要保持恒定的比特率。有人能帮我吗 我的FFMPEG版本是0.5 我要传递给FFMPEG的命令行参数是 -i {inputfile} -b 700k -ab 64k -vcodec libx264 -acodec libfaac -ac 2 -ar 44
-i {inputfile}
-b 700k -ab 64k
-vcodec libx264
-acodec libfaac -ac 2 -ar 44100
-y -s 320x240
{outputfile}
编辑:
当我使用以下参数时,我能够以+/-3%的波动强制CBR
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}
为什么会发生这种情况?试试这个:
ffmpeg
-i input
-b 1200k
-minrate 1200k
-maxrate 1200k
-bufsize 1200k
-ab 64k
-vcodec libx264
-acodec aac -strict -2
-ac 2
-ar 44100
-s 320x240
-y output.mp4
必须使用aac而不是libfaac,这需要“-strict-2”
还必须在输出文件名中添加“.mp4”
我将“-y”移到了输出文件名旁边,因为它告诉它覆盖文件,但它似乎在您拥有它的地方也能工作
我是在64位OS X 10.8.4上做的;ffmpeg版本1.2.1-tessus
我看到相同的ffmpeg版本在32位和64位linux系统上的工作方式不同,所以谁知道这是否适用于您。谢谢您的回答。32位和64位之间的区别是什么?如何区分.mp4文件的视频和音频比特率