When people talk about video quality, they often land on “bitrate.” It’s one of those terms that sounds more complicated than it is, and once it clicks, most of the other compression settings stop being mysterious: they are all different ways of deciding how much bitrate to spend and where.
What is bitrate?
Bitrate is the amount of data used per second of video, measured in kilobits per second (kbps) or megabits per second (Mbps).
Higher bitrate = more data per second = better quality and larger file size. That’s the whole trade-off.
Video bitrate vs audio bitrate
A video file has two separate bitrates:
- Video bitrate controls image quality. Typically 1,000–50,000+ kbps depending on resolution and quality settings.
- Audio bitrate controls sound quality. Usually 96–320 kbps. Much less significant for file size.
When people refer to “bitrate” without qualification, they mean video bitrate.
What a normal bitrate looks like
Published, checkable reference points are rarer than you would expect — most streaming services do not disclose their per-title bitrates, and the numbers that circulate online are usually measured by third parties on a single title. The most useful figures that are published are YouTube’s recommended upload bitrates, which the platform documents because it wants creators to hit them:
| Upload resolution | YouTube’s recommended video bitrate (SDR, 30 fps) |
|---|---|
| 2160p (4K) | 35,000–45,000 kbps |
| 1440p | 16,000 kbps |
| 1080p | 8,000 kbps |
| 720p | 5,000 kbps |
| 480p | 2,500 kbps |
Source: YouTube’s recommended upload encoding settings. Note what those are for — they are upload targets, deliberately generous, because YouTube re-encodes everything you send it and wants quality to work from. They are not what YouTube streams back to you, and they are not what you should aim for when compressing a file for email.
For your own delivery, treat them as a ceiling and work down. The rule that actually matters is the ratio between bitrate and pixel count: a bitrate that looks fine at 720p will look poor stretched over 1080p, and comfortable at 480p.
What happens when you lower the bitrate
Lowering the bitrate is the most direct way to make a file smaller, because size is bitrate multiplied by duration. Halve the bitrate and you halve the file. What you give up does not disappear evenly, though. The encoder has less to describe each frame with, so it drops what it judges least important first, and the damage arrives in a fairly predictable order:
- Fine texture goes first. Grain, foliage, water, gravel and fabric weave get smoothed into something waxy. On a phone screen this is often invisible.
- Gradients start to band. Skies, dark walls and soft studio backdrops break into visible steps of colour instead of a smooth fade.
- Motion turns blocky. Fast pans, handheld footage and anything with confetti or rain fall apart into squares, then recover once the camera settles.
- Shadows and text smear. Dark areas go blotchy, and small text goes soft during a scroll and sharpens when it stops.
The fix at that point is not to lower the bitrate further and hope. It is to lower the resolution with it, because a smaller frame spends the same bits on fewer pixels. On ordinary footage in H.264, 1080p stops holding together somewhere around 2,000 kbps, and 720p is the better choice below that; the video bitrate calculator gives the range each resolution wants, adjusted for frame rate and content.
How to check a video’s bitrate
The file’s overall bitrate, audio included, and its length:
ffprobe -v error -show_entries format=bit_rate,duration -of default=nw=1 input.mp4
The video stream on its own, in bits per second:
ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate -of default=nw=1:nk=1 input.mp4
The second one prints N/A for many MKV and WebM files, which do not record a per-stream bitrate; use the overall figure and subtract the audio. Without a terminal, VLC’s codec information window and MediaInfo both show the same numbers. Divide by 1,000 for kbps.
This is the number worth knowing before you compress anything. If a phone recorded your 1080p clip at 17,000 kbps, bringing it to 5,000 kbps loses very little you would notice. If it is already at 2,000, there is not much left to take.
CBR vs VBR
Constant Bitrate (CBR) uses the same bitrate throughout the video regardless of scene complexity. Simple scenes waste bits; complex scenes get no extra budget. CBR is mainly used for live streaming where the receiver can’t buffer.
Variable Bitrate (VBR) allocates more bits to complex scenes and fewer to simple ones. The result is better quality at the same average file size. Modern encoders like FFmpeg use VBR by default.
CRF encoding is a form of VBR that targets a constant quality level rather than a constant bitrate. It is generally the best approach for offline compression, and it is what most FFmpeg-based workflows reach for by default.
How bitrate relates to CRF
When you set CRF in H.264 encoding, you are not setting a bitrate directly. You’re telling the encoder: “maintain this quality level, and use whatever bitrate is needed.” On a talking-head video with a plain background, that might be 1,000 kbps. On a fast-action sports clip, it might be 10,000 kbps at the same CRF value.
This is why CRF is preferred for most compression: you set the quality you want, and the encoder figures out the bitrate.
Choosing the right approach
CRF encoding is the right default. Set the quality target (CRF 18–28) and let the encoder handle bitrate. You get the best quality-per-bit ratio.
Target bitrate is useful when you have a strict file size requirement (email attachment limits, for example). Calculate: (video_kbps + audio_kbps) × 1000 × duration_seconds / 8 / 1,048,576 = file_size_MB, then allow a few percent on top for the container.
CBR is only worth using for live streaming.
Practical example
You have a 10-minute video and need it under 100MB for email:
Target: 100 MB (100 × 1,048,576 bytes)
Duration: 600 seconds
Budget: 100 × 1,048,576 × 8 / 600 / 1000 ≈ 1,398 kbps total
Keep 4% for container overhead: ≈ 1,342 kbps
Subtract audio (128 kbps): ≈ 1,214 kbps for video
Set that as your target video bitrate with -b:v 1214k. A CRF value might land near it, or might not, depending on the footage; with a hard limit, the bitrate target is the one you can rely on. That is the same arithmetic the compressor on this site uses in target-size mode.
For most cases the quality slider in the free online video compressor on this site handles the arithmetic for you: it reads your file’s duration and size, works out the source bitrate, and targets a fraction of it. If you have a hard size limit to hit, the target-size walkthrough shows the calculation in full.
Keep reading
- How to reduce video file size without losing quality — turning this theory into settings for your content type.
- How to compress video for the web — bitrate, codec and resolution choices for embedded video.
- CRF (Constant Rate Factor) in FFmpeg: which value to use — the other way to control the same trade-off.
- Video file size calculator — the arithmetic on this page, as a tool.
- Compress to a target file size — 8 MB, 25 MB, 100 MB and the rest, with the bitrate solved for you.
- Supported video formats — how the container relates to the codec doing the compressing.
Sources
- YouTube recommended upload encoding settings — the bitrate table above.
- FFmpeg H.264 encoding guide — CRF, how it relates to bitrate, and rate control modes.