How MPEG-DASH works
The video is encoded at several quality levels and split into segments. The MPD, a Media Presentation Description written in XML, lists the available video, audio and subtitle tracks and where their segments are. The player reads the MPD and requests segments, changing quality as conditions change.
DASH vs HLS
- Origin: DASH is an open ISO standard; HLS was created by Apple
- Manifest: DASH uses an XML file (.mpd); HLS uses text playlists (.m3u8)
- Apple devices: HLS is native; DASH is not supported by Safari on iPhone or by Apple's native player
- Android and smart TVs: both are widely supported
- DRM: DASH is typically paired with Widevine and PlayReady; HLS with FairPlay
- Codecs: DASH is codec-agnostic by design; HLS specifies supported codecs
Using both without doubling storage
The Common Media Application Format (CMAF) defines a segment format that both protocols can use. A service stores one set of fragmented MP4 segments and publishes two small manifests, one HLS and one DASH, that point to them.
Where DASH is used
DASH is common in web players on non-Apple browsers, on Android and Android TV, and on many smart TVs and set-top boxes. Since Apple devices need HLS, a service aiming at every screen either supports both or uses HLS throughout.
Last reviewed