How ABR Works
Video is encoded at multiple quality levels — called renditions or representations. Netflix encodes each title in approximately 20 quality levels, from ~235 kbps (low-quality mobile) up to 25 Mbps (4K HDR). Each rendition is split into short segments of 2–6 seconds each.
The ABR algorithm in the player works in a continuous loop:
- Measure how quickly the last segment downloaded (throughput estimate).
- Check the current buffer level (how many seconds of video are pre-downloaded).
- Select a quality level for the next segment that can be downloaded before the buffer empties.
- Download the next segment.
- Repeat.
If bandwidth drops below the current rendition's bitrate, the player switches to a lower tier for the next segment — a quality downgrade that appears as a momentary blur. If bandwidth recovers and the buffer grows, it steps up toward higher quality.
Buffer-Based vs Throughput-Based ABR
Throughput-based ABR (older approach) selects quality purely based on measured download speed. Vulnerable to bandwidth estimation errors — a brief spike in throughput can cause it to select a quality too high to sustain.
Buffer-based ABR (dominant today) primarily uses buffer level as the control signal. If the buffer is large, increase quality. If the buffer is shrinking toward empty, decrease quality immediately. Less reactive to short-term bandwidth fluctuations, producing smoother quality transitions. Netflix's BOLA algorithm and YouTube's implementation both use buffer-based approaches with throughput as a secondary signal.
What ABR Cannot Hide
ABR can adapt to bandwidth fluctuations but cannot eliminate the effects of:
- Sustained low bandwidth: If your connection can only sustain 2 Mbps, the player settles at SD quality permanently — no amount of ABR intelligence can stream 4K at 2 Mbps.
- High packet loss: Packet loss causes TCP retransmissions that dramatically reduce effective throughput. ABR cannot compensate for severe loss without live stream FEC.
- Latency spikes causing TCP stalls: Very high latency causes TCP congestion window backoffs that stall downloads, which ABR interprets as bandwidth drops.
- Buffer drain during live streaming: Live streams cannot pre-buffer more than a few seconds. ABR has far less time to adapt before the buffer empties and playback stalls.
Quality Tiers by Service
| Quality | Typical Bitrate | Netflix Min Speed | YouTube Min Speed |
|---|---|---|---|
| 480p SD | 0.5–2 Mbps | 3 Mbps | 1.1 Mbps |
| 1080p HD | 3–8 Mbps | 5 Mbps | 5 Mbps |
| 4K UHD | 15–25 Mbps | 25 Mbps | 20 Mbps |
| 4K HDR | 20–25 Mbps | 25 Mbps | 20 Mbps |
Frequently Asked Questions
Why does Netflix start in low quality and improve over time?
Netflix uses a conservative startup strategy — it begins at a low quality tier to fill the buffer quickly and start playback fast, then ramps up quality as it measures sustained throughput. The initial low-quality period lasts 10–30 seconds. This prevents stalls that would occur if the player gambled on 4K immediately before knowing your actual throughput.
Why does quality drop during the evening on a fast connection?
Evening congestion can affect ISP peering links between your ISP and the CDN, not just your local connection. A speed test to a nearby server may show 200 Mbps while Netflix streams at 1080p because the Netflix-to-ISP interconnect path is congested. This is upstream peering congestion — an ISP-side problem, not your home network.