Adaptive Bitrate Streaming Explained

How ABR algorithms automatically select the best quality for your connection

Updated March 2025 9 min read ABR, Streaming, HLS, DASH

What is Adaptive Bitrate Streaming?

Adaptive Bitrate Streaming (ABR) is the technology that allows streaming platforms to automatically switch your video quality up or down based on your available bandwidth — without interrupting playback. When your connection slows down, ABR drops to a lower bitrate to avoid buffering. When bandwidth improves, it switches back up.

ABR is built into HLS, MPEG-DASH, and most modern streaming protocols. It's why Netflix can play on both a 3G mobile connection and a 1 Gbps fibre line from the same server infrastructure.

The Quality Ladder

Every ABR stream is encoded at multiple bitrate/resolution combinations called a quality ladder. A typical quality ladder for a South African broadcaster might look like:

LevelResolutionBitrateTarget connection
Level 1240p300 kbps2G, congested mobile
Level 2360p600 kbps3G, slow LTE
Level 3480p1.2 MbpsStandard LTE
Level 4720p2.5 MbpsGood LTE, entry fibre
Level 51080p5 MbpsStandard fibre
Level 61080p609 MbpsFast fibre
Level 74K18 MbpsHigh-speed fibre

ABR Algorithms: How Quality is Selected

Throughput-Based ABR

The simplest ABR approach: measure recent download speed and select the highest quality level whose bitrate is safely below that speed (usually 80% of measured throughput to leave headroom). Used by early HLS implementations and many IPTV systems.

Problem: Throughput estimates are bursty on mobile networks. Selecting quality based on recent throughput can lead to constant oscillation between levels.

Buffer-Based ABR (BBA)

Instead of measuring bandwidth, BBA watches the buffer level. If the buffer is full (e.g. 30s ahead), it steps up quality. If the buffer is draining below a threshold (e.g. 5s), it steps down. This is more stable on variable networks.

BOLA (Buffer Occupancy based Lyapunov Algorithm)

Used by hls.js (which powers Reddisa's stream player). BOLA uses Lyapunov optimisation to balance quality versus buffer stability. It's more mathematically rigorous and performs better on South African LTE networks where throughput is highly variable.

Reddisa uses hls.js with BOLA-ABR: When you test an HLS stream on Reddisa, the player uses buffer-based ABR with low-latency mode enabled — giving you the most realistic ABR behaviour for comparison testing.

ABR Considerations for South African Networks

South African networks have specific characteristics that affect ABR performance:

Testing ABR Behaviour

You can observe ABR in action using Reddisa's stream tester. Load a multi-bitrate HLS stream and use your browser's DevTools (Network tab) to watch which segment URLs are being fetched — you'll see the quality level in the segment path change as ABR adapts.

Try it: Open the Reddisa Stream Tester, paste a public HLS URL, click Analyze to see quality levels, then play the stream and use DevTools → Network to observe segment switching in real time.
ABRAdaptive BitrateHLS MPEG-DASHQuality LadderBOLA

Related Articles