Well, it seems some companies, including Netflix and Microsoft, have got together behind a single format for media streaming. The format, MPEG DASH, now has its own Promoters Group. DASH, or dynamic adaptive streaming over HTTP, was just finalized in November and allows for, obviously, the ability of the stream to change bitrate based on network health.
Without getting too technical, I want to give an overview of what MPEG DASH is so I pulled the feature list from the Promoters Group.
MPEG-DASH Highlighted Features
- Internet friendly. MPEG-DASH uses standard HTTP protocol. It can be deployed using standard web servers and it work with existing Internet infrastructures, including CDNs, caches, firewalls and NATs.
- On-demand, live and time-shift applications. MPEG-DASH supports on-demand, live and time-shift applications and services with a single framework.
- Switching and selectable streams. The MPD provides adequate information to the client for selecting and switching between streams, for example, selecting one audio stream from different languages, selecting video between different camera angles, selecting the subtitles from provided languages, and dynamically switching between different bitrates of the same video camera.
- Ad insertion. Advertisements can be inserted as a period between periods or segment between segments in both on-demand and live cases.
- Compact manifest.The segments’ address URLs can be signaled using a template scheme resulting in a compact MPD.
- Fragmented manifest. The MPD can be divided into multiple parts or some of its elements can be externally referenced, enabling downloading MPD in multiple steps.
- Common Encryption and Multiple DRM support. The content can be encrypted once and delivered to client supporting various DRM schemes. The supported DRM schemes can be signaled in MPD. (including UltraViolet apparently)
- Segments with variable durations. The duration of segments can be varied. With live streaming, the duration of the next segment can also be signaled with the delivery of the current segment.
- Multiple base URLs. The same content can be available at multiple URLs—that is, at different servers or CDNs—and the client can stream from any of them to maximize the available network bandwidth.
- Clock-drift control for live sessions. The UTC time can be included with each segment to enable the client to control its clock drift.
- Scalable Video Coding (SVC) and Multiview Video Coding (MVC) support.The MPD provides adequate information regarding the decoding dependencies between representations, which can be used for streaming any multilayer coded streams such as SVC and MVC.
- A flexible set of descriptors. These describe content rating, components’ roles, accessibility features, camera views, frame packing, and audio channels’ configuration.
- Subsetting adaptation sets into groups. Grouping occurs according to the content author’s guidance.
- Quality metrics for reporting the session experience. The standard has a set of well-defined quality metrics for the client to measure and report back to a reporting server.
I applaud the fact that some of the industry have moved towards working on this and that it is currently in completion stages for ISO publishing. One of the major reasons behind the initiative is for no-stutter high quality video over LTE networks.
This does not solve the codec for HTML5 question as MPEG DASH is not a system, protocol, presentation, codec, middleware or client specification. It is a specification defining standard delivery format for streaming multimedia over Internet and a standard for building interoperable solutions by various vendors.
- reuse of existing technologies (containers, codecs, DRM etc.);
- deployments on top of HTTP-CDNs (Web Infrastructures, caching);
- high user-experience (low start-up, no rebuffering, trick modes);
- Selection based on network and device capability, user preferences;
- dynamic and seamless switching between different tracks;
- live, on demand, time-shift viewing;
- addressing global and regulatory deployment issues; and
- Provides convergence with existing proprietary technologies in this space.
Who is supporting MPEG DASH?
Microsoft and Netflix are involved, Apple is not so far. Other supporters involved in the Promoters Group are Qualcomm, Adobe, AEG Digital Media, Akamai, BuyDRM, Digital Rapids, Digital TV Labs, Dolby, EBU-UER, Elemental, Envivio, Ericsson, Harmonic, Intertrust, NDS, Packet Ship, Path1, RGB Networks, Samsung, Thomson, University of Klagenfurt, and ZiXi.
Something that I don't like the sound of is what the group is calling DASH-264, which they claim is "to enable a minimum set of DASH requirements for the industry and help enable further commercialization of mobile devices that support it." But it certainly sounds like it will be based on H.264, doesn't it?
After some further research I found out that the DASH-264 profile is based on the same fMP4 (Part 12) foundation that both Adobe and Microsoft have developed Adobe HTTP Dynamic Streaming (HDS) and Microsoft Smooth Streaming on.
I finally got my answer from Workflowed:
MPEG-DASH will never define a codec, but with DASH-264 there's a move to use an H.264 codec in an MP4 container with a common file format (CFF) and common encryption (CENC).... There's also a possibility of adding DASH-264 into the HTML5 standard, since W3C requires a codec to be considered in HTML5 but MPEG-DASH itself is codec agnostic.
That is exactly what I wanted to find out. Also, Apple has been actively participating, Google has not. With no requirement for a specific codec I would gather that Google doesn't care either way, as long as it gets more people watching more video from YouTube, right?
Another major hurdle would be licensing and this was also addressed:
From a licensing standpoint, there is a requirement to notify ISO of their intent to license; Qualcomm and Cisco have announced they'll offer royalty-free since HTTP adaptive streaming has been done for a number of years but to get to a standard we need to see a path forward to royalty-free licensing.