Dash
What Is DASH?
DASH, formally MPEG-DASH (Dynamic Adaptive Streaming over HTTP), is an international standard for adaptive bitrate video streaming over standard HTTP infrastructure. Published as ISO/IEC 23009-1 by the Moving Picture Experts Group in 2012, it specifies how a media presentation is divided into small segments encoded at multiple quality levels, how those segments and their metadata are described in a manifest file, and how a client player selects and requests segments in real time to match available network bandwidth. DASH is codec-agnostic, functioning equally well with H.264/AVC, H.265/HEVC, VP9, AV1, and other video codecs, which distinguishes it from proprietary adaptive streaming formats tied to specific encoding pipelines.
The core problem DASH addresses is the variability of internet connections. A viewer on a congested mobile network might have 500 kilobits per second available one moment and 5 megabits the next. A non-adaptive system would either buffer or deliver consistently low quality; DASH instead maintains a smooth experience by switching between pre-encoded representations of the same content to keep the playback buffer healthy. Major streaming platforms including YouTube, Netflix, and Amazon Prime Video use DASH or closely related adaptive protocols as the delivery layer for their catalogs.
Media Presentation Description
The organizational core of a DASH stream is the Media Presentation Description (MPD), an XML file that catalogues all available representations of the content. Each representation specifies its bitrate, codec parameters, resolution, and the HTTP addresses of its segments. The player fetches the MPD first, then uses it as a roadmap for all subsequent segment requests. Segment durations typically fall between 2 and 10 seconds, with 2 to 4 seconds being common for live streaming applications where shorter segments reduce latency. The MDN Web Docs documentation on adaptive streaming media sources provides an annotated MPD example showing how video and audio adaptation sets are organized, how byte ranges reference initialization segments, and how DASH profiles for on-demand and live content differ structurally.
Adaptive Bitrate Logic
The segment request algorithm is not standardized in ISO/IEC 23009-1; the standard defines the format and protocol, not the player-side adaptation logic. In practice, DASH players estimate available bandwidth from recent download measurements and select the highest representation whose bitrate falls safely below that estimate, subject to buffer occupancy constraints. The dash.js reference player, maintained by the DASH Industry Forum, implements several adaptation algorithms and is widely used for both production deployments and research into quality-of-experience optimization. DASH relies on the browser's Media Source Extensions (MSE) API to append segments programmatically to a video element, which decouples the player logic from the browser's built-in media handling.
DASH and Live Streaming
DASH supports live streaming through its dynamic MPD type, in which the manifest describes a sliding window over an ongoing media presentation rather than a fixed-duration file. The availability timeline in a live MPD tells the client when each segment becomes available on the server, which the client uses to pace requests and avoid requesting segments that have not yet been generated. Latency in live DASH delivery is a function of segment duration and MPD update frequency; chunked transfer encoding and low-latency DASH (CMAF-based) reduce end-to-end latency to the range of 3 to 5 seconds, competitive with broadcast delivery. The ISO/IEC 23009-1 standard has been revised multiple times since 2012 to incorporate these low-latency extensions.
Applications
DASH is used across:
- Video-on-demand platforms delivering multi-bitrate content to heterogeneous devices
- Live sports and event streaming requiring low latency and high resilience
- Broadcast-grade content delivery networks using HTTP infrastructure
- IPTV and operator-managed video services over managed networks