How adaptive bitrate streaming works
The video is encoded into a set of versions, called renditions, at different resolutions and bitrates. Each rendition is cut into short segments of a few seconds, aligned so that a switch can happen at any segment boundary. A manifest file lists what is available.
The player measures how fast segments are arriving and how much video it has buffered. If the connection is strong it requests the next segment from a higher rendition; if it weakens, a lower one. The viewer sees a change in sharpness instead of a spinning wheel.
The bitrate ladder
The set of renditions is called a bitrate ladder. An example for a film in H.264 might be:
- 1080p at about 5 Mbps
- 720p at about 3 Mbps
- 480p at about 1.5 Mbps
- 360p at about 0.8 Mbps
- 240p at about 0.4 Mbps
Why it matters
- Fewer stalls: playback continues when a connection dips
- Faster starts: the player can begin on a low rung and step up
- One set of files serves every device, from a phone on mobile data to a 4K television
- Lower delivery cost: viewers on small screens are not sent more data than they can use
Protocols that use it
HLS and MPEG-DASH are the two adaptive streaming protocols in general use. Both work over ordinary web servers and CDNs, which is what makes large-scale streaming affordable.
Last reviewed