Start with both streams
A bitrate is a rate, not a file size. Add the video and audio rates, multiply by the running time, then divide by eight to turn bits into bytes. This gives a payload estimate. The MP4 container also needs space, and an encoder does not necessarily hold the exact rate you entered.
For a 60-second clip at 8,000 kbps video and 128 kbps audio, the estimate is 60.96 MB. Ignoring audio gives 60 MB. The difference is small here; for a low-bitrate clip it can be a large part of the file.
Three exports from one source
We generated an eight-second 1280 × 720, 30 fps chart with reproducible noise, then encoded it with H.264 and a 128 kbps AAC test tone. Resolution, frame rate, source and encoder preset stayed the same. Only the bitrate settings changed: the target, with a rate cap and buffer set to twice the target. These are actual local exports, not estimated file sizes.
| Video target | Calculated MB | Actual MB | Difference |
|---|---|---|---|
| 500 kbps | 0.628 | 0.668 | 6.42% |
| 1500 kbps | 1.628 | 1.630 | 0.14% |
| 5000 kbps | 5.128 | 5.080 | -0.93% |
Read the differences
The low-rate export is larger than its nominal-rate estimate. The high-rate export is slightly smaller. Container overhead alone cannot explain a negative difference: variable bitrate and the actual audio rate matter too. Compare the measured stream rates with your target before blaming the calculator.
| Video target | MB | Video measured, kbps | Audio measured, kbps |
|---|---|---|---|
| 500 kbps | 0.668 | 531 | 127 |
| 1500 kbps | 1.630 | 1493 | 127 |
| 5000 kbps | 5.080 | 4943 | 127 |
When the estimate applies, and when it cannot
The calculation describes exports that are told to hit a bitrate: constant or average bitrate, with or without a cap. Some encoders default to a constant-quality mode instead. HandBrake’s documentation recommends it over aiming for a target file size, and x264 calls it CRF. That mode holds a quality level and lets the bitrate follow the content, so no formula can tell you the size in advance. HandBrake’s documentation describes the result as unpredictable and different for every source. When the file size matters more than a fixed look, switch to an average-bitrate setting before relying on this estimate.
| Duration | 1,500 kbps | 8,000 kbps | 40,000 kbps |
|---|---|---|---|
| 1 min | 12.2 MB | 61.0 MB | 301.0 MB |
| 5 min | 61.1 MB | 304.8 MB | 1,504.8 MB |
| 10 min | 122.1 MB | 609.6 MB | 3,009.6 MB |
| 30 min | 366.3 MB | 1,828.8 MB | 9,028.8 MB |
Payload estimates with 128 kbps audio, before container overhead. 8,000 kbps is YouTube’s 1080p, 30 fps SDR recommendation and 40,000 kbps is the calculator’s representative choice for 4K at 30 fps. Both are upload targets, not requirements. Doubling the duration or the total rate doubles the estimate.
Use the estimate for planning
- Estimate using the final duration, including an end card or closing silence.
- Keep a margin when a service enforces a hard byte limit. Recheck the exported file.
- If the exported file is larger, inspect its measured average rates rather than repeatedly changing the same target.
Original synthetic encoding test, recorded 8 October 2026. Actual MP4 files, byte counts and frame comparisons; Read the method.