← All concepts
Messaging & flow
Adaptive bitrate streaming
Encode video at several qualities in small segments so the player can switch quality as bandwidth changes.
Videos are transcoded into renditions (240p–4K) and cut into 2–10 second segments listed in a manifest (HLS or DASH). The player measures throughput and picks the best quality for the next segment, avoiding buffering.
See it in action
Step through the scenarios on the diagram.
Laying out diagram…
1/5After upload, the video is encoded at several bitrates.
- Original upload
- — One high-quality file
- Transcoder
- — Makes a ladder of qualities
- Renditions
- — 240p … 4K, cut into 4-s segments
- CDN
- — Caches manifest and segments
- Player
- — Measures bandwidth, picks quality per segment
How it works
- Transcode in parallel chunks; store segments in object storage.
- Serve manifests and segments from a CDN.
- Per-title encoding tunes bitrates to content complexity.
Trade-offs
- Many renditions multiply storage and encoding cost.