Published

Choosing a video bitrate that does not waste bandwidth

A video editing timeline with blue and purple clips on a dark screen
Photo by Peter Stumpf on Unsplash

You finish an edit, open the export dialog, and it asks for a bitrate. The default is 10 Mbps. You have no idea whether that is generous or stingy, so you type 50 to be safe, and end up with a 4 GB file that looks identical to the 800 MB one. Bitrate is the setting most people guess at, and the guess is usually too high.

What the number means

Bitrate is how many bits of data each second of video is allowed to use. At 10 Mbps, one second of video is about 1.25 MB, and a ten-minute clip is roughly 750 MB:

file size ≈ bitrate (Mbps) ÷ 8 × duration (seconds) = MB

That is the whole relationship, and it runs in both directions — if you have a size budget, divide back out to get the bitrate you can afford. A 25 MB upload limit on a 60-second clip gives you 25 × 8 ÷ 60 ≈ 3.3 Mbps, and no amount of fiddling with other settings changes that ceiling.

What the encoder does with it

The bitrate is a budget, and the encoder spends it on the parts of the frame that changed. A static talking head against a plain wall barely changes between frames, so most of the budget goes unused and the encoder coasts. A drone shot over a forest changes every pixel in every frame, and the same budget is nowhere near enough — the encoder starts discarding fine detail, and you see blocking in the leaves and banding in the sky.

This is why there is no single correct bitrate. The number that looks flawless on an interview looks terrible on sport. Three things drive it:

Pixels per second. Resolution times frame rate. 4K at 60 fps has roughly eight times the pixels per second of 1080p at 30, so it needs several times the data to hold the same level of detail.

Motion and complexity. Fast movement, camera shake, grain, water, foliage, confetti, rain — anything where the frame is different everywhere. Grain is especially expensive because it is random, and randomness does not compress.

Codec. H.265 (HEVC) and AV1 produce the same picture as H.264 at roughly half to two-thirds the bitrate, because they have smarter tools for predicting the next frame. The trade is encoding time and compatibility.

Rough starting points

For H.264, which is still the safe default for anything that has to play everywhere:

Take the lower end for talking heads, screen recordings and animation with flat colour; the upper end for sport, action, handheld footage and anything with visible grain. For H.265 or AV1, start at about 60% of these.

Audio is a separate budget and a small one: 128 kbps stereo AAC is transparent for speech, 192–256 kbps for music. It adds to the total, so a 10 Mbps video with 192 kbps audio is a 10.2 Mbps file.

Diminishing returns

Quality against bitrate is a curve that flattens hard. Going from 2 Mbps to 6 Mbps at 1080p is a dramatic improvement — blocking disappears, text becomes readable. Going from 10 to 20 is almost invisible on most footage, and from 20 to 40 is invisible on all of it. You have doubled the file twice for nothing.

The practical method is to find where your footage stops improving. Export a 20-second section of your most difficult shot at three bitrates — say 6, 10 and 16 Mbps — and compare them at 100% on the screen the video will actually be watched on. Almost always, two of the three are indistinguishable, and you ship the smaller one.

Uploading to a platform

If the destination is YouTube, Instagram or TikTok, the platform re-encodes everything you send. Your file is an input to their encoder, not what anyone watches. That changes the strategy: upload at a generous bitrate — roughly 1.5 to 2× the figures above — so their encoder is working from a clean source rather than compounding your compression with theirs. Encoding an already-compressed file is the one place where being stingy visibly costs you.

For anything you host yourself, the opposite applies. Every megabyte is bandwidth you pay for and time the viewer waits, so find the flat part of the curve and stop there.

Constant or variable

Most encoders offer CBR and VBR. Constant bitrate spends the same amount on every second regardless of need, which wastes data on easy shots and starves hard ones; its only real use is live streaming, where the network needs a predictable rate. Variable bitrate lets the encoder move the budget to where it is needed, hitting an average across the file. For an export, use VBR — usually two-pass, so the encoder sees the whole file before deciding how to spend.

Better still, if your encoder offers it, use quality-targeted mode (CRF in x264 and x265) and set a quality level instead of a bitrate. The encoder then spends whatever each shot needs to hit that quality, and the file size falls out of it. CRF 18–23 covers most work, lower being better quality. It is the right tool when you care about how it looks; a bitrate is the right tool when you care about how big it is.

The bitrate calculator works the arithmetic in either direction — a bitrate and duration to a file size, or a size limit back to the bitrate that fits inside it.

More from the blog

← All posts