adaptive bitrate streaming
Imagine watching a video where the picture quality quietly steps up when your connection is strong and steps down when it weakens — so it keeps playing smoothly instead of freezing to buffer. That gentle, automatic adjustment is adaptive bitrate streaming. The idea is to encode the same video at several quality levels (bitrates) at once, chop each into short segments, and let the player choose, segment by segment, the highest quality its current bandwidth can sustain.
Here is how it works in plain steps. The server prepares the video in multiple renditions — say 240p, 480p, 720p, and 1080p — and splits each into small chunks of a few seconds. It also publishes a manifest, a small index file listing every rendition and its segments. The player downloads the manifest, then fetches segments one at a time over ordinary HTTP. After each segment, it estimates how fast that download went and how full its buffer is, and picks the bitrate for the next segment accordingly: download was fast and buffer is healthy, step up; download was slow or buffer is draining, step down. Because each rendition is cut at the same boundaries, the player can switch quality between segments without interrupting playback. Two standard formats package this: DASH and HLS.
Why it matters: adaptive bitrate is why modern video just works across phones, laptops, fast fiber, and shaky mobile links alike — the alternative (one fixed quality) either stalls on weak connections or wastes bandwidth and looks blurry needlessly. Running over plain HTTP is a deliberate, clever choice: it lets video ride the same caches, CDNs, and firewalls as web pages, so segments are cached at the edge like any other file. The honest trade-offs: the player's bandwidth estimate can lag reality, so you may briefly see the wrong quality or a stall during a sudden drop; and chasing the highest bitrate every moment can cause distracting up-and-down quality switches, which good algorithms work to smooth out.
You start a movie on Wi-Fi at 1080p. You walk outside onto a weak mobile signal; the player notices segments arriving slowly, drops to 480p for a few segments, and playback never pauses. Back on Wi-Fi, it climbs back to 1080p.
Quality follows your bandwidth, segment by segment, to avoid stalls.
Adaptive bitrate trades picture quality to keep playback continuous; it does not create bandwidth. On a genuinely slow link it simply settles on a lower quality — adding renditions cannot beat the actual capacity of the path.