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:
| Level | Resolution | Bitrate | Target connection |
|---|---|---|---|
| Level 1 | 240p | 300 kbps | 2G, congested mobile |
| Level 2 | 360p | 600 kbps | 3G, slow LTE |
| Level 3 | 480p | 1.2 Mbps | Standard LTE |
| Level 4 | 720p | 2.5 Mbps | Good LTE, entry fibre |
| Level 5 | 1080p | 5 Mbps | Standard fibre |
| Level 6 | 1080p60 | 9 Mbps | Fast fibre |
| Level 7 | 4K | 18 Mbps | High-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.
ABR Considerations for South African Networks
South African networks have specific characteristics that affect ABR performance:
- LTE congestion: Peak hour throughput on LTE can drop 60–80% compared to off-peak. ABR must respond quickly to avoid stalls.
- Fibre micro-outages: Short interruptions during load-shedding or ISP maintenance cause ABR to step down unnecessarily. Buffer length (default 30s) provides resilience.
- Latency to CDN edge: South African CDN PoPs (Johannesburg, Cape Town) reduce segment fetch latency. Streams using overseas CDNs without SA PoPs suffer 150–300ms added latency per segment request.
- International peering: Streams hosted outside SA traverse submarine cables (WACS, SEACOM, EASSy). Peak congestion on these cables affects ABR stability for international streams.
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.