What changed, and what did not

A higher bitrate gives the encoder a larger data budget. It does not add detail that was missing from the source. We held our eight-second synthetic chart at 720p and 30 fps, used the same H.264 preset, and changed the video target from 500 to 1,500 to 5,000 kbps. The audio setting remained 128 kbps.

Look at the same frame

Each image below is frame 120, four seconds into the clip. Open an image to inspect the full 1280 × 720 frame. Look first at the moving edges, small patterns and noisy background. Comparing different moments would confuse motion with compression damage.

Synthetic chart at 500 kbps
500 kbps · frame 120
0.668 MB · SSIM 0.8854
Synthetic chart at 1500 kbps
1500 kbps · frame 120
1.630 MB · SSIM 0.9117
Synthetic chart at 5000 kbps
5000 kbps · frame 120
5.080 MB · SSIM 0.9180
Lossless synthetic source frame
Lossless source, frame 120. The noise is generated on purpose.

A metric alongside your eyes

We aligned both inputs to the same timestamps and compared all 240 frames using FFmpeg’s SSIM filter. The table reports the mean of the per-frame “All” scores. A score closer to 1 means more similarity under this metric; it is not a viewer satisfaction score.

TargetMeasured sizeSSIM
500 kbps0.668 MB0.8854
1500 kbps1.630 MB0.9117
5000 kbps5.080 MB0.9180

Moving from the middle setting to the high setting uses much more space, while the SSIM increase is smaller than the first step. That is a result for this chart and encoder, not a universal point of diminishing returns. You may care more about readable text or faces than about noise preservation.

The same bitrate is a different budget at another size

A video bitrate is shared by every pixel of every frame. Dividing it by width × height × frames per second gives bits per pixel, a rough way to compare budgets at different sizes. It ignores codec efficiency and how hard the content is to compress, so use it to compare settings rather than to judge quality on its own.

bits per pixel = kbps × 1,000 ÷ (width × height × fps)
SettingkbpsBits per pixel per frame
Our test, 1280 × 720, 30 fps5000.018
Our test, 1280 × 720, 30 fps1,5000.054
Our test, 1280 × 720, 30 fps5,0000.181
Same 5,000 kbps at 1920 × 1080, 30 fps5,0000.080
Same 5,000 kbps at 3840 × 2160, 30 fps5,0000.020
YouTube 1080p, 30 fps SDR recommendation8,0000.129
Calculator’s 4K, 30 fps representative value40,0000.161

Our 5,000 kbps export gave each 720p pixel about 0.181 bits per frame. At 1080p the same rate would leave 0.080, and at 4K 0.020, close to our 500 kbps 720p test (0.018). A rate that looks comfortable at one size can be starved at another. The 1080p and 4K rows are arithmetic; we did not encode them.

Inspect motion before choosing

  1. Watch moving details at the size your audience will actually see.
  2. Choose the smallest export that keeps the parts you need readable.
  3. Check the platform’s recommendations separately; the platform may re-encode your upload.
The source is a generated chart with seeded noise, not camera footage. SSIM and one still image cannot certify a setting for every scene.
Evidence & sources

Original synthetic encoding test, recorded 8 October 2026. Actual MP4 files, byte counts and frame comparisons; Read the method.