What is MPEG-DASH and How Does Dynamic Adaptive Streaming Compare to HLS?
One of the most widely used and highly compatible streaming protocols is MPEG DASH. It delivers audio and video streams in real-time using a three-part process and incorporates adaptive bitrate streaming to ensure the best possible streaming quality despite poor network conditions.
What Is Dynamic Adaptive Streaming over HTTP (MPEG-DASH)?
MPEG-DASH is an adaptive HTTP-based streaming protocol used to transport segments of live and on-demand video content that can be encoded at different bitrates from web servers to viewers' devices. The adaptation to the bitrate or resolution is done on the client side for each segment, enabling the client to switch to a higher bitrate — if bandwidth permits — on a per-segment basis.
Sometimes just called "DASH," the protocol was developed by the Moving Pictures Expert Group (MPEG) to create an industry-standard alternative to Apple's HTTP Live Streaming (HLS) protocol. They named it DASH, which stands for Dynamic Adaptive Streaming over HTTP. Additionally, MPEG-DASH is a "codec-agnostic" streaming solution that can use content encoded in any format.
How Does MPEG-DASH Work?
Three distinct processes enable the MPEG-DASH protocol to function and its users to live stream.
1. Encoding and Segmentation First, the server segments the video into smaller pieces for streaming and creates an index file for the video segments, like a table of contents. The segments are then encoded, which formats them for multiple devices to playback since DASH is a format that can be used with any encoding standard.
2. Delivery Segmented and encoded videos are then delivered to client devices over the Internet. When users decide to watch a stream, their player requests a server to send the encoded video segments through to be played back by the device. In most cases, the stream travels through a content delivery network (CDN) that efficiently distributes video content.
3. Decoding and Playback Once the video has been segmented, encoded, and delivered, it must decode the streamed data and playback video. DASH uses adaptive bitrate streaming (ABR), allowing the video player to adjust automatically to network conditions and switch to lower or higher quality resolution. By continuously monitoring bandwidth and buffer levels, the player adaptively streams the content to provide a good user experience.
Adaptive Bitrate Streaming and MPEG-DASH
Adaptive bitrate streaming is the ability to adjust video quality in the middle of a stream as network conditions change. Several streaming protocols, including MPEG-DASH, HLS, and HDS, leverage adaptive bitrate streaming.
Devices And Browsers That Support MPEG-DASH Streaming
MPEG-DASH is widely supported by electronic brands and many popular streaming platforms, like YouTube, Netflix, Roku, and Chromecast. It's also supported as a part of the Android and Apple ecosystems.
Some of the more well-known and well-used media players supporting MPEG-DASH include:
Consumer electronics that support MPEG-DASH:
- Samsung Smart TVs from 2012-forward
- LG Smart TV from 2012 onward
- Sony TV, 2012 and onward
- Philips NetTV 4.1 and forward
- Panasonic Viera, 2013 onward
Servers and services that support MPEG-DASH streaming:
HLS vs. MPEG-DASH
The HLS protocol is another internet streaming protocol often listed as an alternative to MPEG-DASH. However, they do differ in several key ways. We outline the key characteristics of any streaming protocol below and how they apply to both MPEG-DASH and HLS:
- Proprietary vs. International: HLS is proprietary to Apple, whereas DASH is an open standard defined by MPEG.
- Playback Compatibility: HLS is more widely supported than DASH due to the immense influence that Apple has on the industry at large.
- Codec Requirements: Whereas HLS specifies the use of certain video codecs (H.265, H.265) and audio codecs (detailed here), DASH is codec-agnostic. This could enable higher-quality broadcasts at lower bitrates when more advanced codecs are leveraged.
- Container Format: HLS has traditionally used the MPEG-2 transport stream container format, or .ts (MPEG-TS), whereas DASH used the MP4 format or .mp4.
- Latency: Both protocols have traditionally lagged in terms of delivery speed, but new approaches seek to change this. For DASH, this takes the form of the Common Media Application Format (CMAF), whereas Apple now offers the Low-Latency HLS extension.
Frequently Asked Questions
Is MPEG-DASH an open standard?
Yes, DASH is an open standard defined by MPEG. Unlike HLS, which is proprietary to Apple.
Is MPEG-DASH a codec?
No, MPEG-DASH is a streaming protocol that is codec agnostic due to its open source nature.
What is MPEG protocol?
MPEG-DASH is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data.
Does YouTube use DASH?
Yes, YouTube, Netflix, and Hulu all rely on DASH to dynamically adapt media streams to the viewer's bandwidth capacity by shifting between high- and low-quality video encodings.
Is MPEG-DASH encrypted?
USP supports Common Encryption (CENC) for MPEG-DASH. The options for enabling encryption are stored in the server manifest file.
What is MPD in DASH?
In DASH, the media presentation description (MPD) is the manifest file that contains all the information necessary for the client to download and present a given piece of content.
What is a M4S file?
An M4S file is a segmented video clip within an MPEG-DASH stream that contains binary data. M4S files that are the first segment of a video also contain initialization data, which allows media players to recognize and begin playing the video.