How to force Constant Bit Rate using FFMPEG
Try this:
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
Had to use aac instead of libfaac, which requires "-strict -2".
Also had to add ".mp4" to output file name.
I moved the "-y" next to the output file name since it tells it to overwrite the file, but it seemed to work where you had it too.
I did this on 64 bit OS X 10.8.4; ffmpeg version 1.2.1-tessus.
I have seen the same ffmpeg version work differently on 32 bit and 64 bit linux systems, so who knows if this will work for you.
user1338254
Updated on October 07, 2020Comments
-
user1338254 over 3 years
I use FFMPEG (command line Input) to convert my videos to a specific output format. The problem I am facing is when I try to pass a constant bit rate(700 kbps) to FFMPEG, the result is an output video with a different bit rate(say 1000 kbps). This phenomenon occurs invariably for all videos.Why is this happening? I need to maintain a constant bit rate. Can anyone help me out.
My FFMPEG version is 0.5
The command line parameter which I am passing to FFMPEG is,
-i {inputfile} -b 700k -ab 64k -vcodec libx264 -acodec libfaac -ac 2 -ar 44100 -y -s 320x240 {outputfile}
EDIT:
I was able to force CBR with a fluctuation of +/- 3% when I used the following parameters.
ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k out.m2v
But when I used -maxrate and - minrate along with my parameter set I was not able to force CBR. My parameter set is as follows,
-i {inputfile} -b 1200k -minrate 1200k -maxrate 1200k -bufsize 1200k -ab 64k -vcodec libx264 -acodec libfaac -ac 2 -ar 44100 -y -s 320x240 {outputfile}
Why is this happening?
-
Jet over 10 yearsThanks for your answer. And what was the difference between 32 and 64 bits ??
-
utdev about 7 yearsHow can one distinguish the bitrate of video and audio for an .mp4 file superuser.com/questions/1195622/…