Skip to content

CONCEPT Cited by 2 sources

Adaptive bitrate streaming (DASH)

Definition

Dynamic Adaptive Streaming over HTTP (DASH) is a streaming technique where the server publishes multiple pre-encoded renditions of the same video — differing in resolution, codec, framerate, or quality level — and the client player dynamically selects which rendition to fetch based on runtime signals (network bandwidth, CPU headroom, screen size). The player can seamlessly switch between renditions mid-playback — across segment boundaries — without tearing down the stream (Source: sources/2026-03-09-meta-ffmpeg-at-meta-media-processing-at-scale).

HLS (HTTP Live Streaming) is Apple's protocol in the same category; the architectural properties are the same.

The architectural consequence

DASH forces the production side to emit a ladder of encodings for every piece of content — every resolution tier × every codec × every bitrate target. This is the multi-lane encoding problem:

"When a user uploads a video through one of our apps, we generate a set of encodings to support Dynamic Adaptive Streaming over HTTP (DASH) playback. DASH playback allows the app's video player to dynamically choose an encoding based on signals such as network conditions. These encodings can differ in resolution, codec, framerate, and visual quality level but they are created from the same source encoding, and the player can seamlessly switch between them in real time."

See concepts/multi-lane-encoding-pipeline for the pipeline shape this creates, and patterns/deduplicate-decode-across-encoder-lanes for the efficiency pattern that makes it viable at hyperscale.

Why it forces de-duplication

If each rendition in the ladder is produced by a separate FFmpeg process, the source frames are decoded N times — once per lane. This wastes CPU at ingest scale. The fix is a single FFmpeg command producing multiple outputs with a shared decoder and N parallel encoder instances. Meta's > 1 billion daily video uploads × multiple FFmpeg invocations per upload makes this load-bearing.

Real-time quality signal

Because DASH is used for livestreams as well as VOD, quality metrics need to be computable during encoding (see concepts/in-loop-quality-metrics), not only post-hoc on pairs of completed files.

Seen in

  • sources/2026-03-09-meta-ffmpeg-at-meta-media-processing-at-scale — canonical DASH-at-hyperscale reference on this wiki.
  • sources/2026-04-02-netflix-smarter-live-streaming-vbr-at-scale — ABR under VBR: the player's throughput-vs-label comparison becomes systematically misleading once the encoder stops targeting nominal. Netflix's forward-work direction: feed upcoming segment sizes to device-side ABR algorithms instead of relying only on nominal bitrates, so the player can react to actual VBR behaviour in the next few seconds rather than the paper label. Makes explicit that ABR's decision input needs to evolve when the underlying rate-control mode moves from tight (CBR) to loose (capped VBR).
Last updated · 319 distilled / 1,201 read