← Lessons

quiz vs the machine

Platinum1780

System Design

The Video Streaming Design

Serving video at scale with transcoding, adaptive bitrate, and a CDN.

5 min read · advanced · beat Platinum to climb

From upload to playback

A video streaming service ingests large video files and plays them smoothly to millions of viewers on varied networks and devices. The pipeline turns one raw upload into many ready to stream variants delivered from the edge.

Transcoding

  • A raw upload is transcoded into several resolutions and bitrates, since one file cannot fit every device or connection.
  • Each variant is segmented into small chunks, often a few seconds each.
  • Transcoding is heavy, so it runs as asynchronous jobs after upload, not during it.

Adaptive bitrate

  • The player measures bandwidth and picks the highest quality chunk it can stream without buffering.
  • As the network changes, it switches between variants chunk by chunk for smooth playback.
  • A manifest lists the available variants and chunk urls for the player.

Delivery

  • Chunks are served from a content delivery network so bytes come from a server near the viewer.
  • Popular content stays cached at the edge, sparing the origin.

Key idea

A video streaming service transcodes uploads into segmented multi bitrate variants, lets the player adapt quality chunk by chunk via a manifest, and delivers chunks from a CDN near each viewer.

Check yourself

Answer to earn rating on the learn ladder.

1. Why transcode an upload into several variants?

2. What does adaptive bitrate streaming do?

3. Why is transcoding done asynchronously after upload?