VideoBB
Upload Premium Sign in

Video bitrate guide

Bitrate is the budget an encoder spends on every second of picture. Here is how to read it, how to set it, and how much to give a file before you upload.

Bitrate is how many bits per second an encoder spends on the picture. More bits mean fewer compression flaws, up to a limit set by resolution, frame rate and content. For upload, give the file about twice the bitrate of the host's top rendition: about 10 Mbps for 1080p and 30 Mbps or more for 4K.

Abstract illustration of a stream of small squares flowing from a wide funnel into a narrow channel, some squares larger than others.

Bits are the money of video. Every second of a stream is paid for from a budget of them. The encoder's whole job is to spend bits where the eye will notice and save them where it will not. Resolution decides how many pixels need paying for, and frame rate decides how often. The content decides how expensive each one is. Bitrate is the number that ties them together, and most people never look at it.

This guide explains bitrate from the arithmetic up. It shows how bitrate turns into file size and how VideoBB's ladder spreads it across renditions. It compares constant, variable and quality-based encoding. It lists the footage that uses bits fastest, and how much to give a file before it goes through upload. It is one of five guides in the video quality hub.

Bits, seconds and the size formula

Bitrate is usually quoted in kilobits per second (kbps) or megabits per second (Mbps); 1 Mbps is 1,000 kbps. File size follows directly: size in megabytes = bitrate in kbps × seconds ÷ 8 ÷ 1,000, because there are eight bits in a byte. A ten-minute video at 5,000 kbps is 5,000 × 600 ÷ 8,000, or 375 MB, plus audio. Turned around, the formula tells you how long a file can be at a given bitrate before it hits a limit. VideoBB accepts files up to 4 GB: at 8 Mbps that is about 66 minutes, at 12 Mbps about 44 minutes, and at 40 Mbps about 13 minutes.

Note the units. Bitrates are bits; storage is bytes; and file managers often show gigabytes as 1,024 megabytes while encoders count in thousands. The differences are small enough to ignore for planning and large enough to explain why a file lands a few percent off your estimate.

VideoBB's ladder, in bits per pixel

Target video bitrate per rendition, and the bits spent on each pixel of each frame at 30 fps. Frame widths for the smaller renditions assume 16:9.

RenditionFrame sizeTarget kbpsBits per pixel at 30 fps
2160p3840×216016,0000.064
1440p2560×14409,0000.081
1080p1920×10805,0000.080
720p1280×7202,8000.101
480p854×4801,4000.114
360p640×3608000.116
240p426×2404000.130
144p256×1442000.181

Reading the bits-per-pixel column

Bits per pixel, bitrate divided by pixels per frame divided by frames per second, is the most useful single measure of how hard an encoder is working. The ladder spends fewer bits on each 4K pixel than on each 1080p pixel, and far more on each 144p pixel. Small frames need more information per pixel to keep edges and text readable. Large frames are full of smooth areas that compress cheaply. The figures shift with frame rate. At 60 fps the same bitrate halves the bits per pixel. That is why high-frame-rate content wants a higher rate than the ladder's 30 fps baseline. See the frame rate guide for that trade-off.

CBR, VBR and CRF

Constant bitrate (CBR) spends the same budget on every second, whatever the content. It suits live streaming and hardware with fixed pipes, and it wastes bits on static scenes. Variable bitrate (VBR) sets an average and lets the encoder move budget from easy seconds to hard ones. Two-pass VBR does this best, because the first pass maps where the hard parts are. Constant rate factor (CRF) is the mode most editors show as a quality slider. It drops the bitrate target altogether and asks for steady visual quality. The file size then lands wherever it needs to.

For a master you will upload, CRF is usually the right choice: it spends what the content needs and no more. For a file that must fit a size limit, two-pass VBR with a calculated average is the tool. CBR is for live encoders and for delivery to systems that require it.

The range of the CRF scale is 0–51, where 0 is lossless (for 8 bit only), 23 is the default, and 51 is worst quality possible.

FFmpeg H.264 encoding guide

Peak, average and the buffer

A VBR or CRF file has an average bitrate and a peak. Players stream at the peak, not the average, so a file averaging 5 Mbps with 20 Mbps bursts behaves like a 20 Mbps stream during the bursts. Encoders cap this with a maximum rate and a buffer size, -maxrate and -bufsize in x264, which is how hosting ladders keep each rendition streamable at its stated target. For an upload master, peaks do not matter; the transcoder will re-encode within its own limits. For a file you serve directly, they matter a great deal.

What eats bitrate

Content is the variable the ladder cannot control. These are the things that make a second of video expensive to encode well.

  • Motion, especially motion that covers the whole frame: pans, handheld shake, sport.
  • Noise and film grain, which look like detail to the encoder and change every frame.
  • Fine texture: foliage, fabric, crowds, water, and confetti, the classic worst case.
  • Rapid cuts, since every cut is a new keyframe that must be described from scratch.
  • Fades and dissolves, where every pixel changes a little on every frame.
  • Small text and thin lines, which blur first when the budget is tight.

Upload bitrate: the two-times rule of thumb

The transcoder decodes your file and re-encodes it, so any softness or blocking in the source is inherited by every rendition and then compressed again. Giving the source a healthy margin over the top rendition's target keeps that second generation clean. For most content, aim for about twice the top rendition's bitrate. That is around 10 Mbps for a 1080p master, 16 to 20 Mbps for 1440p, and 30 to 40 Mbps for 4K. Content from the list above deserves the high end; a static presenter can go lower. There is little point going far beyond, because the rendition's target is fixed and the file only gets slower to upload.

Long recordings need a choice. At 30 to 40 Mbps, the 4 GB limit holds only about 13 to 17 minutes of 4K. For anything longer, a clean 1080p master at about 10 Mbps beats a 4K file starved of bits. The free resize tool can make that 1080p copy from your 4K export.

The mistake to avoid is exporting at the rendition target itself. A 1080p master at 5 Mbps becomes a 1080p rendition at 5 Mbps of an already-compressed picture, and the result looks like a 3 to 4 Mbps file. If you are unsure what a file's bitrate is, check it before uploading; the blurry after upload guide shows how, and preparing video for upload gives export presets by editor.

Check and set bitrate with FFmpeg

Two commands cover most needs. FFmpeg is free and available for every platform.

  1. Read the bitrate of a file

    ffprobe -v error -show_entries format=bit_rate,duration -of default=nw=1 in.mp4 prints the overall bitrate in bits per second and the duration.

  2. Encode a master with CRF

    ffmpeg -i in.mov -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p -c:a aac -b:a 192k out.mp4 gives a high-quality H.264 file whose size follows the content.

  3. Hit a size target instead

    Work out the average from the formula, then use -b:v with -pass 1 and -pass 2 for a two-pass VBR encode. If you just need a smaller copy to email or share, the free video compressor can target a file size for you. Keep the full-quality master for upload.

  4. Compare before uploading

    Scrub the output next to the source at fullscreen on the busiest scene. If it looks worse, lower the CRF or raise the bitrate and encode again.

Codec changes the exchange rate

Everything above assumes H.264, which is what VideoBB's ladder produces and what plays everywhere. Newer codecs get more quality from the same bits. H.265 and AV1 are commonly described as needing something like 30 to 50 percent less bitrate for similar quality. The saving depends heavily on content and encoder settings, so treat it as an expectation rather than a promise. For an upload master this is mostly irrelevant, since the file is re-encoded anyway, but it matters if you store masters or serve files yourself. The codec comparison covers the trade-offs, and the hosting costs guide follows bitrate through to the bandwidth bill.

Frequently asked questions

What CRF value should I use for an upload master?

CRF 18 to 20 with a slow or medium preset is a reasonable range for H.264 masters that a host will re-encode. It looks close to the source without an enormous file. FFmpeg's guide describes 17 to 28 as the subjectively sane range, with lower numbers meaning higher quality. Go lower for grainy or fast footage, higher if the file must stay small.

Is a higher upload bitrate ever a problem?

Only practically. The renditions are capped at the ladder's targets, so bits beyond what the content needs improve nothing and make the upload slower. A 4K master at 100 Mbps fills the 4 GB limit in about five minutes. Aim for the two-times rule of thumb and spend the saved time checking the export instead.

Why does my exported file's bitrate differ from what I set?

Variable and quality-based modes treat the number as an average or a target, not a promise, so the actual rate follows the content. Container overhead and audio add a little. Some editors also report the video stream alone while ffprobe reports the whole file. Check both streams with ffprobe -show_streams if the discrepancy matters.

Does the bitrate I upload change VideoBB's rendition bitrates?

No. The ladder targets are fixed per rendition: 5,000 kbps for 1080p, 16,000 for 2160p and so on. What your upload bitrate changes is how clean the picture entering the encoder is, which affects how good each rendition looks at its fixed target. A better source, not a bigger number, is what improves the result.

Sources

bitrateencodingcrfffmpegfile size

Related guides