ZeroBuffer
PricingDocsNetworkBlogsContact
Sign inStart free
ZeroBuffer
PricingDocsNetworkBlogsContact
Sign inStart free
Tools/Bitrate ladder calculator

Bitrate ladder calculator

Pick a source, a codec, and a content type, and get the ladder: per-rung bitrates, an ffmpeg command that produces it, and what it costs in storage and egress. Every published ladder is one row of this — quoted for H.264 at 30fps on general content — and stops applying the moment any of those change.
Source resolution

Rungs above the source are never generated — upscaling costs bitrate and adds no detail.

Frame rate

Bitrate scales sub-linearly with frame rate: 60fps costs about 1.5× of 30fps, not double.

Codec

The baseline everything else is quoted against. Decodes in hardware on essentially every device made this century, which is why it is still the safe bottom rung even when the ladder is otherwise modern.

Content type

Mixed motion and cutting. This is the content type every published ladder is quoted for.

Audio track

Added to every rung. A ladder quoted as video-only understates storage by more than people expect at the bottom rungs.

Segment length

Sets the keyframe interval: 180 frames at 30fps. A GOP that does not divide the segment exactly is the most common cause of a ladder that will not switch cleanly.

Your ladder — 6 rungs

RungResolutionVideo+ audiomaxrateSegmentShare
1080pHigh1920×10806.10 Mbps6.23 Mbps9.20 Mbps4.67 MB36%
720pHigh1280×7202.75 Mbps2.88 Mbps4.15 Mbps2.16 MB27%
480pMain854×4801.30 Mbps1.43 Mbps1.95 Mbps1.07 MB18%
360pMain640×360730 kbps858 kbps1.10 Mbps0.64 MB10%
240pBaseline426×240250 kbps378 kbps380 kbps0.28 MB6%
144pBaseline256×144100 kbps228 kbps150 kbps0.17 MB3%

Share is the assumed portion of viewer-hours landing on each rung, weighted to the top because ABR players climb to the highest rung the connection sustains. It drives the egress figure below and is the number most worth replacing with your own player analytics.

Storage per hour

5.40 GB

All 6 renditions of one hour of source, stored once.

Blended bitrate

3.38 Mbps

Weighted average actually delivered to a viewer.

Egress / 1,000 viewer-hours

1.52 TB

2.80 TB if every viewer pinned the top rung.

Storage is paid once per hour of content; egress is paid again for every hour watched. At any real audience size the second number is the bill — put it into the CDN cost calculator to see what it costs across providers.

How these numbers are produced

Bitrate is modelled as width × height × frame factor × bits-per-pixel × codec × content. The only empirical term is bits per pixel, which is tuned per rung so that the H.264 / 30fps / general column lands on the conventional published ladders — 1080p at about 6 Mbps, 720p at about 2.8 Mbps, 360p at about 730 kbps. Everything else is a multiplier off that anchor, and the per-rung bits-per-pixel figure is shown in the table so you can see which number to disagree with.

The frame-rate term is deliberately not linear. Doubling frame rate halves the difference between consecutive frames, so the encoder spends much less on each one — 60fps costs roughly 1.5× of 30fps rather than double, and a model that scales linearly will over-provision every high-frame-rate ladder it touches.

What it does not do

This is a static model, and a modern encoder doing per-title or per-shot analysis will beat it — that is the entire point of per-title encoding. Use this for the questions that come first: how many rungs, roughly what bitrates, how much storage, and how much egress. Then measure the real encodes against it.

The bottom two rungs are also not efficiency-optimised, and that is intentional. They exist so a stream survives a bad connection, so they run below the bits-per-pixel curve and accept the quality cost in exchange for staying reachable.

Where the ladder meets delivery

A ladder is only half the problem — the other half is whether the segments it produces are actually cached. Segments are immutable once written, so they should carry a year-long lifetime, while a live media playlist must expire faster than its segment duration. The Cache-Control generator has presets for both, and the cache header checker shows what your origin is sending today. For background on the formats themselves, see adaptive bitrate streaming and the HLS guide.

Frequently asked questions

How many rungs should a bitrate ladder have?
Five to seven for most catalogues. The constraint is not resolution coverage but switching behaviour: rungs spaced closer than about 1.5× apart give the player almost nothing to gain by switching, while gaps much wider than 2× make every switch a visible jump in quality. Below roughly 1.5× spacing you are paying storage and encoding for renditions that barely differ.
What bitrate does 1080p video need?
Around 6 Mbps for H.264 at 30fps on general content, about 4 Mbps for HEVC, and about 3.4 Mbps for AV1. Frame rate and content type move it substantially: the same 1080p rung carrying 60fps sports needs roughly double what a 25fps talking-head interview does, which is why a single published number is only ever right for one kind of content.
How much bandwidth does AV1 actually save?
Roughly 45% against H.264 at matched quality, with HEVC around 35% and VP9 around 30%. The saving is real but it is not free — AV1 encoding is far more expensive in CPU time, and hardware decode only reached mainstream devices recently. The usual approach is an AV1 ladder for devices that can decode it with an H.264 ladder alongside for everything else, which means paying storage twice to save egress.
Why must the keyframe interval divide the segment duration?
Because a player can only switch renditions at a segment boundary, and it can only start decoding a segment that begins with a keyframe. If the GOP length does not divide the segment duration exactly, boundaries drift away from keyframes and the player is forced to keep decoding the rendition it is already on. The symptom is a ladder that looks correct but refuses to adapt — set -g and -keyint_min to frame rate × segment duration, and disable scene-cut keyframe insertion.
Is storage or egress the bigger cost for video?
Egress, at any real audience size, and it is not close. Storage is paid once per hour of content encoded; egress is paid again for every hour anyone watches. A thousand viewer-hours of a 1080p ladder moves several terabytes while the ladder itself occupies a few gigabytes — which is why adding a rung is cheap and raising the bitrate of an existing one is not.
Should I use a fixed ladder or per-title encoding?
Per-title encoding wins when the catalogue is large and varied, because it analyses each source and spends bitrate where that specific content needs it — a fixed ladder has to be provisioned for the hardest content it will ever carry. A fixed ladder is the right answer for live, for small catalogues, and as the starting point you measure per-title results against.

ZeroBuffer™

High-performance CDN, storage, streaming and optimization — built for global scale.

Product

  • Home
  • About Us
  • Features
  • Network
  • Use Cases
  • Pricing
  • Contact Us

Solutions

  • CDN for OTT
  • CDN for Gaming

Company

  • Blogs
  • Contact
  • Careers

Legal

  • Privacy Policy
  • Terms of Service
  • Acceptable Use Policy
  • Refund Policy
  • Report Abuse
© 2026 Apexnova Private Limited. All rights reserved.