It was bound to happen at some point. MPEG DASH (Dynamic Adaptive Streaming over HTTP) has been ratified and is on its way to becoming an industry-accepted standard. There will still be a few bumps along the way, but it seems that streaming industry vendor development is moving along well. Adobe and Microsoft are active participants in the DASH Promoters Group, along with Netflix, Akamai, Samsung and many others (including RGB Networks!), and in fact Microsoft chairs the group.
What is MPEG DASH?
MPEG DASH is the MPEG standardization of Dynamic Adaptive Streaming over HTTP. DASH is described by document ISO/IEC 23009-1. For those already familiar with the three prominent adaptive streaming protocols – Apple HLS, Microsoft Smooth Streaming, and Adobe HDS – DASH can be thought of as an amalgamation of the three (for a comparison of these protocols, download our white paper).
At a high level, DASH works nearly identically to the other adaptive streaming protocols. Available stream content is presented to the player in a manifest (index) file. In DASH, the manifest is called a Media Presentation Description (MPD) file, which is in XML format. The MPD is analogous to an HLS m3u8 file, a Smooth Streaming Manifest file or an HDS f4m file. After the MPD is delivered to the client, content – such as video, audio, subtitles or other data – is downloaded to clients over HTTP as a sequence of video files that is played back contiguously.
The MPD describes the content that is available, including URL addresses of stream chunks, byte-ranges, different bitrates, resolutions, and content encryption mechanisms. The task of choosing which adaptive stream bitrate and resolution to play, and changing to different bitrate streams according to network conditions, is done by the client (again, similar to other adaptive streaming protocols). In fact the MPEG DASH standard does not prescribe any client-specific playback functionality, rather it pertains to the formatting of the content and associated MPDs only.
There are two file segment types allowed in DASH – MPEG2 TS and ISO Base media file format (ISO BMFF). MPEG2 TS is what HLS currently uses, and ISO BMFF is what Smooth Streaming and HDS currently use. This allows for a relatively easy migration of existing adaptive streaming content to MPEG DASH, as the media segments can often stay the same, and only the index files need to be migrated to an MPD format.
MPEG DASH defines and allows for different profiles to be created. A profile is a set of restrictions of media formats, codecs, protection formats, bitrates, resolutions, or other aspects of the content. For example, the DASH spec defines a profile for ISOBMFF basic on-demand.
What capabilities will MPEG DASH offer for video service providers?
MPEG DASH offers a standards-based approach for enabling a host of services that operators have traditionally offered in IPTV and broadcast environments, and extends those capabilities to adaptive bitrate delivery, including:
- Live and on-demand content delivery
- Time-shift services (NDVR, Catch-up TV)
- Targeted ad insertion
MPEG DASH enables these features through a number of inherent capabilities, and importantly, flexibility of design and implementation:
- Multiple segment formats (ISO base media FF and MPEG-2 TS)
- Codec independency
- Trick mode functionality
- Profiles: restriction of DASH and system features (claim & permission)
- Content descriptors for protection, accessibility, content rating, and more
- Common encryption (defined by ISO/IEC 23001-7)
- Clock drift control for live content
- Metrics for reporting the client session experience
One of the most important features of DASH is its use of Common Encryption (a topic for another blog post), which standardizes a number of different, widely-used encryption methods. This allows content owners to distribute content, and allows service providers to have access to an interoperable ecosystem of vendors.
What aspects of DASH could hinder widespread adoption?
First, there are some unresolved intellectual property rights with DASH. Normally, IP introduced into MPEG standards is accepted only if the IP owner agrees to Reasonable and Non-Discriminatory (RAND) terms. In the case of DASH, it is not clear that all IPR in the standard is covered by RAND terms. Second, while DASH has one name, it is a collection of different, non-interoperable profiles. So DASH doesn’t solve the problem of different, non-interoperable implementations unless DASH clients support all profiles. And this is basically equivalent to having a client that supports HLS and HDS and Smooth Streaming (which incidentally would also address the interoperability problem).
Time will tell if MPEG DASH will coexist or supersede existing adaptive streaming formats. Certainly, DASH provides quite a flexible framework for delivering streaming media content. As usual, it will depend on what the major vendors do, and whether VSPs see the benefits of augmenting or changing trajectory of in-process deployments and content offerings.