Reduce file size by limiting bitrate
compression
// what it does
Constrains the encode (default libx264 for mp4) with VBV rate control: -b:v 1M sets the average target, -maxrate 1M caps the instantaneous peak, and -bufsize 2M defines the rate-control buffer, which at this maxrate spans roughly two seconds. Capping maxrate keeps the stream within a bandwidth ceiling, which matters for streaming or bitrate-limited playback devices. Reach for this when a downstream player or network has a firm bitrate limit rather than just a total-size goal.
// shell
$ ffmpeg -i input.mp4 -b:v 1M -maxrate 1M -bufsize 2M -c:a aac output.mp4// gotcha
-maxrate does nothing without -bufsize — omit the buffer and x264 has no window to enforce the cap. Setting maxrate equal to b:v like this is effectively CBR, which wastes bits on simple scenes compared to a CRF or two-pass encode.