The State of MPEG-DASH 2016
The industry is turning away from plug-ins and embracing HTML5 everywhere. Here's how the vendor-independent streaming standard is gaining momentum.
Learn more about the companies mentioned in this article in the Sourcebook:
If you ask industry experts about future streaming formats, most will say they see a combination of MPEG-DASH for the majority of new platforms and HLS for iOS and legacy devices. The move has begun, first with DASH replacing other ABR formats, such as HDS and Smooth Streaming, which are suffering from the no-plugin browser trend. The deprecation of the old Netscape Plugin API (NPAPI) in Chrome in September 2015 was the first major signal of this trend. As Microsoft didn’t want to issue a new version of the Silverlight plug-in using the new Chrome Pepper API (PPAPI), all content providers using Smooth Streaming through Silverlight-based players were forced to find an alternative. Some of them chose to stay with Smooth Streaming for now and use hasplayer.js (a fork of dash.js v1.2), which can play Smooth Streaming content through Media Source Extensions (MSE). But that’s risky for several reasons, including DRM support, since PlayReady is not supported in Chrome and would instead require an on-the-fly translation to Widevine Modular DRM. And for content providers delivering streams in the clear, Smooth Streaming over hasplayer.js is not an ideal long-term approach either, as the evolution of dash.js deviated from the cross-format support that was initially proposed by the framework. All the concerned content providers are now working on migrating their Smooth players to DASH for the most recent platforms, and to HLS for legacy platforms, such as the Xbox 360, where DASH support needs extra development.
HTML5 and MSE Changing the Game
On the other side of the streaming chessboard, HDS also suffered in 2015 from the deprecation of Flash player in browsers. Although it’s not yet official, several browsers, including Firefox, have temporarily banned Flash for security reasons, and after having started to pause nonessential Flash content in Chrome, Google is working on getting the advertising industry to switch to HTML5. If at some point Google disables the Flash engine embedded in Chrome, it won’t be a surprise. With Flash Player less and less prevalent, the HDS format is steadily losing ground, all the more so since there is no MSE-based HDS player on the market, and because Adobe has ceased all support effort behind OSMF and switched to HLS and DASH in Primetime. Facebook’s recent transition from a Flash-based player to an HTML5-based one is a confirmation of where the market is going: It’s HTML5 everywhere.
The HTML5 Video Stack Matrix
DASH in Legacy Browsers
Axel Delmas, Streamroot’s CTO, summarizes the project intent: “Having two codebases—one for Flash and one for HTML5—is a huge source of frustration and complexity for broadcasters. We developed the beginnings of a Flash MSE polyfill internally nearly a year ago, and have decided to open source the project, given the enthusiastic support of Akamai and other industry players. This is really going to fill a gap in the market and bring us one step closer to putting Flash to rest.”
Growing Player Options
The next step for DASH is to outmatch HLS as the major streaming format. Before 2015, that could hardly have happened, because of a limited player choice and a still-evolving core feature set. The open source DASH player world was previously summarized in MSE-based dash.js, but 2015 has seen the arrival of Google’s Shaka Player for MSE, which was welcomed because of its strong support for live streaming, and also the establishment of Google’s ExoPlayer as the reference DASH player in the Android world. Although all commercial implementations are not based on open source code, as DASH player solutions have blossomed, they’ve led to a significant expansion of DASH in the commercial player sphere.
Alongside the historical Bitmovin Bitdash and Castlabs DASH Everywhere implementations, we have seen all major players add DASH as a supported format, starting with the prominent JW Player, as well as Flowplayer, Kaltura, and THEOplayer. Back in the open source world, we’ve seen video.js integrate dash.js, and more surprisingly a new wave of contributions coming from the broadcasters, with rx-player from Canal+ and DASH PLAY from RTL. This shows the deep interest in DASH within the broadcasting community, beyond the first adopters (Netflix, Hulu, and others). Following Viaplay and other major DASH deployments, it’s an open secret that major broadcasters are working on DASH migration plans for 2016, now that the technology is stable and that the HEVC licensing terms are getting clearer. And given the wide availability of DASH players on almost all platforms, it is now easier for newly launched OTT services to make different technology choices up front, and focus on a DASH-plus-HLS combo rather than using three or four different streaming technologies. If we combine wide DASH player choice with the growing DASH support availability on the major CDNs (in passthrough or repackaging modes) and the extensive offer of DASH-compliant packagers and origin servers, we reach a tipping point where it will be as easy to produce, distribute, and play back DASH as it can be with HLS.
The iOS Conundrum
On iOS, DASH is still locked out. While we can now find several applications on regional App Stores using DASH as streaming format, all of them apply a local repackaging from DASH to HLS. The sole exception is Netflix, which plays ISO Base Media File Format (ISO-BMFF) segments everywhere but on iOS6, thanks to a special arrangement with Apple. On the desktop, Apple authorized Netflix to use FairPlay DRM with DASH streams encrypted using CENC, but other content providers can’t use this combination yet. Thanks to Netflix’s pressure, Apple also introduced MSE to Safari desktop, so we can at least play DASH streams in the clear on this platform now. But on iOS, Safari mobile doesn’t support MSE, and playing DASH natively in compiled apps is still cause for applications being rejected in the App Store, at least for 3G/4G cellular use cases. In theory, if you plan to restrict your app use to Wi-Fi, you can use almost any streaming technology and player component. In 2015 we have seen the first native DASH playback SDKs for iOS: the Viblast Player iOS SDK for live and the DataArt MPEG-DASH Player iOS Application for on-demand. But there is still no obvious sign that the advances made by DASH through MSE on the Safari desktop platform will spread to Safari mobile. HLS will probably stay in the landscape—or at least the M3U8 playlists portion of it—for a long time.
Despite the duality of formats with HLS and DASH, there are already some ways to alleviate the principal burden that affects content providers: having to produce two sets of media files to accommodate the HLS playlists and DASH manifests, or MPDs. Since version four, released in September 2011, the HLS IETF Draft authorizes playing on-demand content using byte range requests that seek in a monolithic MP4 file. It’s working on iOS without MSE being implemented in Safari mobile, and the same MP4 file can also be used in combination with DASH on-demand profile using a similar byte range approach. Today, the remaining part of the problem is live streaming, where HLS still mandates the use of TS segments, since the use of ISO-BMFF segments is impossible in this context. There is pressure from content providers and OTT services to achieve convergence for live streaming, as the current model costs more and lowers the cacheability ratio of the media segments. It will probably be possible to produce live HLS playlists using the same ISO-BMFF segments as the live DASH manifests in just a few months from now. Apple’s incremental evolutions on HLS, combined with MP4 byte ranges and MSE/DASH on Safari desktop, pave the way toward the unified media format the industry is waiting for.
Zooming inside video with SRD
ISO-BMFF Rules Them All
While very few companies used DASH-TS—mostly in the U.S. cable industry—there was another alternative to ISO-BMFF media encapsulation with the WebM DASH specification proposed by the Google team on the WebM Project wiki. Google joined the DASH Industry Forum (DASH-IF) in 2014 but never proposed its WebM DASH specification for standardization alongside DASH-264 and DASH-265 interoperability points, so the use of this DASH flavor was limited to YouTube.
MPEG-DASH is slowly but surely becoming the main competitor to HLS, driven by adoption by major players and intrinsic strengths. Here's who's using it now, who's going to be soon, and what challenges still need to be addressed.
With the rise of MPEG-DASH and the NAB-related announcements from both Microsoft and Adobe on the topic, we sat down with both companies to discuss the status of DASH support as well as their legacy ABR protocols, Smooth Streaming and HDS
Presenting the past, present, and future of MPEG-DASH, the standard that's transforming the entire video landscape in a quiet revolution.
At Streaming Media East, Iraj Sodagar, president and chairman of the DASH Industry Forum, explained what's coming with version 3.0.
The upcoming third edition of DASH will address several missing features, says a Comcast principal architect, and will drive down live video latency.
iOS and macOS announcements aren't the only things coming out of WWDC 2016: Apple announced that HLS will support fragmented MP4. Here's why that means huge cost savings for video providers.
As over-the-top video continues to grow in popularity—call it the "Netflix-ification" of the web—the streaming standards the industry relies on begin to feel the strain.