Commentary: HLS's Ubiquity May Be DASH's Gain
Now that virtually all major players support Apple's HLS, the shortcomings of that de facto standard may lead to more widespread implementation of MPEG-DASH
Adobe made news several weeks ago, when it announced the impending inclusion of Apple's HTTP Live Streaming (HLS) in the Primetime player, part of Adobe's video publishing ecosystem for big media companies.
Yes, we all agree, it's a big deal for HLS, both from the standpoint of players—all major players, except the standalone Flash Player without the Primetime SDK on top, now have plans to include HLS—as well as a win for Apple in creating a de facto standard out of a proprietary solution.
But it may be too much too late, and could spell the beginning of the end of HLS as we know it. Wait, don't I mean too little too late? No, in this instance, I think HLS's popularity, as it is thrust out on to the global broadcast stage without yet fully putting on its costume (stabilized "recommendation" spec) may be its undoing.
Here are five points to consider:
HLS Is Not a Structured Standard
Remember that HLS derives from a specification, often referred to as the "Pantos spec" that's been through many iterations as an IETF recommendation. And it's a very fluid one at that.
HLS implementations, to date, have been humbling, at best, for those who follow the specification (any version of the specification). I've heard a number of complaints across the industry, ranging from "the spec doesn't exactly provide the detail we're used to in a standard" to "Apple provides the specification to make it appear like anyone can implement HLS, but we see Apple implement it differently from the spec."
HLS Isn't Even Really MPEG-2 Transport Stream (M2TS)
In its current form, HLS is based on a modified MPEG-2 Transport Stream. That's problematic on two fronts: First, when it comes to integrated digital rights management and a number of other key HTTP streaming requirements, true MPEG-2 Transport Streams aren't cut out to handle the load. Second, Apple's version of M2TS isn't even in lockstep with the M2TS standard, meaning broadcasters have to modify their traditional transport stream equipment to be able to work with HLS.
If broadcasters are going to go to all that work, it begs the question of whether they'll consider going to DASH, which can handle both classic M2TS and the newer, more capable fragmented MP4 file structure within the M2TS payload.
HLS Doesn't Scale
Rapid adoption of HLS, coupled with by-the-specification implementations, are bound to expose several of HLS's primary shortcomings when it comes to mass-scale delivery. There's a reason that Netflix and others deliver via fMP4 to as many devices as possible, only using HLS to reach iOS devices. And, even there, a growing number of iOS apps are bypassing HLS altogether, although Apple won't publicly comment on that topic.
Developers Now Have a Choice
With HLS and DASH both slated to be included in all major players, sans the standalone Flash Player, by the end of the summer, developers now have a choice. They can start out on HLS, but easily change over to DASH, given the fact that all major servers (AMS 5, Wowza, etc) now have both HLS and DASH support.
Apple Has a Choice
One key point in Adobe's Primetime announcement was the fact that Primetime Player will include DASH, for all devices except iOS devices. As Jan Ozer pointed out in his article about Primetime, "DASH in Primetime Player will will only extend to the desktop and Android versions of Primetime, not iOS--the Primetime SDK for iOS will only support HLS".
The reason for this, according to Adobe director of product management for video solutions Ashley Still, is the processing power that will be required—at the client side—to transmultiplex from a stardards-based adaptive bitrate (ABR) technology such as DASH to a proprietary ABR technology such as HLS.
With Samsung's uptick in the rest of the world, and Apple's slowing sales, the question becomes whether Apple will choose to take an honest look at HLS, especially for at-scale delivery, and understand the technical issues that point back to fragmented MP4's benefits over HLS.
If so, it's an easy enough play for Apple to implement either a standards-compliant MPEG-2 Transport Stream version of DASH, or to adopt the MP4 file structure for fragmentation. How easy? Many readers might not remember that, about a decade ago, Apple championed both the advent of H.264 in streaming and the use of the MP4 file format. The latter shouldn't be a surprise, given the fact that the entire MPEG-4 System standard was based on QuickTime, a player capability embedded into every Macintosh, iPad, iPhone and iPod touch—plus a few million Apple TVs.
In conclusion, is it a pipe dream to think that HLS will stumble and falter tomorrow? Yes, probably. Given its antiquated underpinnings, however, it's a matter of when, not if. For true global broadcasting of live content, HLS has many limitations inherent to its own design, a matter Apple is well aware of.
Apple's HTTP Live Streaming (HLS) protocol is the technology used to deliver video to Apple devices like the iPad and iPhone. Here's a primer on what HLS is and how to use it.
MPEG DASH is the latest hot topic in the online video space. Here we break down what it is, and what its implications might be for video delivery in the future.
Adobe's plans for Primetime highlight both the strengths and limitations of HLS and DASH, as well as the fact that Flash isn't going away anytime soon
The DASH-IF continues move toward interoperability points and even H.265 integration. Publication will follow in mid-July.