Choosing a Bitrate Target

Bitrate is the maximum number of bits used to encode one second of a media stream. The more bits used per second, the higher the fidelity. Bitrate and resolution both relate to the amount of data in a media file. You can always lower bitrate and resolution during conversion, but increasing either one—without specialized software that can reconstruct detail—will reduce quality.

Always start with the highest quality source file available. Even before changing codec or container, verify that the source file has a higher bitrate or resolution than the desired output. Check the file's display characteristics first to ensure it meets your requirements.

Delivery method Bitrate
Blu-ray 20Mbs
DVD 6 Mbs
Desktop web 2 Mbs
4G mobile 0.7 Mbs
3G mobile 0.35 Mbs
2G mobile Depends on network type.

EDGE: 0.4 Mbs
GPRS: 0.04Mbs

Choosing a Target for the Web

The bitrates the web can handle are relatively low compared with physical media. For common network conditions, use the table above as a guide. Desktop, 4G, and 3G are reasonable minimum targets for most web pages. If you serve video in markets referred to as "the next billion users"—India, for example—include 2G support as well. For demonstration purposes here, target 3G.

FFmpeg sets bitrate with the -b flag. If FFmpeg isn't installed, see Media application basics for a Docker-based setup.

MP4

/media # ffmpeg -i glocken.mov -b:v 350k -b:a 64k glocken_3g.mp4

WebM

/media # ffmpeg -i glocken.mov -b:v 350k -b:a 64k glocken_3g.webm

Note that there are two bitrate flags: -b:a for the audio stream and -b:v for the video stream.

/media # ls -l
-rw-r--r-- 1 root root  12080306 Mar  7 12:16 glocken.mov
-rwx------ 1 root root    531117 Mar  7 13:42 glocken_3g.mp4
-rwx------ 1 root root    706119 Mar  7 13:46 glocken_3g.webm

With bitrate configured, you can move on to adjusting resolution.