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.