Looking at https://trac.ffmpeg.org/wiki/Encode/H.264:
I see this example as being the recommended method to target a bit rate for files meant for streaming
ffmpeg -i input -c:v libx264 -b:v 1M -maxrate 1M -bufsize 2M -pass 1 -f mp4 /dev/null
ffmpeg -i input -c:v libx264 -b:v 1M -maxrate 1M -bufsize 2M -pass 2 output.mp4
I encoded a file using a slightly variation here:
ffmpeg -i *mkv -c:v libx264 -b:v 2.5M -maxrate 2.5M -bufsize 5M -profile:v high -level 4.2 -pass 1 -an -f mp4 /dev/null -y \
ffmpeg -i *mkv -c:v libx264 -b:v 2.5M -maxrate 2.5M -bufsize 5M -profile:v high -level 4.2 -an -movflags +faststart -pass 2 output.mp4
I see that sometimes it's uses a bitrate of 1.800 kbits/s but where does it get that?
Is it using some kind of default CRF value or what?
Does setting a -preset slow
would increase the quality further?