By Andy Salo, RGB Networks
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, 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.
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 -- MPEG-2 TS and ISO Base media file format (ISO BMFF). MPEG-2 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 independence
- 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, intellectual property introduced into MPEG standards is accepted only if the intellectual property owner agrees to Reasonable and Non-Discriminatory (RAND) terms. In the case of DASH, it is not clear that all intellectual property rights in the standard are 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 with 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 video service providers see the benefits of augmenting or changing trajectory of in-process deployments and content offerings.
This sponsored column was provided by Andy Salo, the Director of Product Marketing for RGB Networks. He can be reached at [email protected].