ENCODING

ABR Encoding Ladder Generator

An ABR encoding ladder is the set of resolution-and-bitrate renditions an HLS or DASH player can switch between based on the viewer's bandwidth. This tool generates a sensible ladder for any source, codec, and target device set - with copy-paste STREAM-INF lines and JSON export.

Generated ladder
6 renditions
Total ladder footprint: ~14.6 Mbps
#ResolutionBitrate (kbps)Max fpsProfileCodec string

        
Skip the ladder math.

OTT Engine builds and serves these ladders for you across Roku, Fire TV, and Apple TV - with per-title optimization and CMAF packaging.

How the ladder is generated

Every rung in an ABR ladder is a resolution-and-bitrate pair sized to be roughly 1.5-2× the bandwidth of the rung below it - the spacing Apple's HLS Authoring Specification for Apple Devices recommends so a player always has a usable rung as a viewer's bandwidth halves or doubles. Each rung's bitrate is computed from the same pixel-rate formula used by the bitrate calculator, then scaled by codec efficiency and content complexity:

rung_kbps = (width × height × fps × bits_per_pixel) × complexity_factor × hdr_factor

The top rung is capped at the source resolution (no upscaling), the bottom rung is floored at 200 kbps audio + 250 kbps video so it remains playable on a 2G/edge link, and every rung shares a single audio track at the bitrate selected above.

Recommended 1080p H.264 SDR ladder (Apple baseline)

#ResolutionBitrate (kbps)Codec string
1416 × 234145avc1.42c00d
2640 × 360365avc1.42c01e
3768 × 432730avc1.4d401e
4960 × 5402000avc1.4d401f
51280 × 7203500avc1.640020
61920 × 10806000avc1.640028

Frequently Asked Questions

How many renditions do I need in an ABR ladder?

Most CTV ladders use 5 to 7 renditions spanning roughly 400 kbps up to the source resolution. Apple's HLS authoring spec recommends spacing rungs about 1.5-2× apart so the player has a usable rung every doubling of bandwidth.

What is a good 1080p ABR ladder?

A common 1080p H.264 ladder is: 270p/400k, 360p/700k, 480p/1.2M, 720p/2.5M, 720p/4M, 1080p/6M. With HEVC, halve every bitrate.

What is the difference between an HLS ladder and a DASH ladder?

The ladder concept - resolution and bitrate pairs - is identical. HLS describes each rung as an EXT-X-STREAM-INF entry in a master playlist; DASH describes each rung as a Representation inside an AdaptationSet in an MPD. With CMAF you package once and reference the same segments from both manifests.

Should I cap the top rung at the source resolution?

Yes. Upscaling above the source wastes bandwidth without adding detail. A 720p source should top out at 720p; only encode 1080p or 4K rungs if your master is actually that size.

Related tools

Related reading