Adaptive Bitrate (ABR) selects which rendition to fetch next. Three families dominate: throughput-based, buffer-based, hybrid (BOLA, MPC). The choice shapes how the player handles network changes and how it trades stalls for quality.

Advertisement

Throughput-based (rate-based)

Pick highest rendition whose bitrate ≤ recent throughput × safety factor (~0.8). Simple, jittery — drops quality fast on transient slowdowns. Used in older HLS players.

Buffer-based (BOLA)

Pick rendition based on current buffer occupancy. High buffer → safe to try higher quality. Low buffer → conservative. Less jittery; can underutilize bandwidth.

Advertisement

Hybrid / MPC

Optimize trajectory: predict future throughput, choose rendition to maximize total quality minus stall penalty. Implemented in DASH-IF reference. Most modern players (Shaka, dash.js) ship a hybrid.

Hybrid (MPC-like) wins in benchmarks; buffer-based is simpler and competitive. Pure throughput-based is legacy.