DASH or HLS? Which is the Best Format Today?

The survey results are in:

So, out of 87 responses, over 50% chose DASH, while over 30% choose HLS. The balance chose to explain why, and there were some very useful comments.

“Not sure why I wouldn’t cover both options.”

“DASH also doesn’t work on OTT boxes like AppleTV and Roku, where HLS does. DASH does have support for VP9 though, which is a great quality/cost saver. We’ll see about HEVC in the future…”

“It’s not a selection question there is a need to use both for complete coverage and it costs almost nothing to add one on top of the other when using cloud-based encoding and delivery (CDN) services.”

“Don’t choose just one. choose Wowza and be ready for all formats!” (editor’s note: not from a Wowza email address)

“DASH, but what I’d really like is MP4 fragments with a simpler manifest format than DASH.”

The column referred to below has been submitted, but is not yet published. I’ll include a link when it’s public.

Thanks to all who contributed by taking the poll or via comments.

______________________________________________________

My next column for Streaming Media magazine is about the HLS vs DASH format decision. As you know, many web producers are moving away from RTMP-based Dynamic Streaming, or even HDS, and must choose between HLS and DASH. Twelve months ago, HLS was the clear best choice. Twelve months from now, DASH is probably in the driver’s seat. But what about today?

To help firm up my analysis, I created two pro and con charts; one for HLS, the other for DASH. Both are presented below, with a touch of explanation for those points that are not obvious. Anyone who wants to weigh in, please do. Comments are free, and no salesman will call.

I’ve also included a one question survey for those who don’t want to comment but do want to weigh in.you can take the survey below.

Not shown in the charts is the obvious. Both formats enable developers to distribute one adaptive group of files to a very broad range of target platforms, though you’ll need an app to distribute DASH on the iOS platform. You’ll also likely need MP4 files for Flash or single-file HTML5 fallback, but that’s very dependent upon the player technology that you choose, and perhaps the subject of a different analysis.

HLS Pros

Let’s start with HLS.

The pros are pretty clear. HLS is a mature technology, so advertising and DRM, such as it is, are in good shape. Obviously, HLS plays natively on iOS devices and on Safari on the Mac, and it’s very well supported in the encoding world.

As you may know, many off-the-shelf (OTS) players, including the JW Player, support the playback of HLS on desktop and notebook browsers but do so by using the Flash or Silverlight plugins. More on that in a moment. Just to be clear, not all OTS players support HLS playback via the Flash or Silverlight plug ins. The most notable exception is the THEOplayer from OpenTelly, which does not require any plugins for HLS playback.

HLS Cons

On the con side, HLS is a proprietary technology, so ultimately it will go away, and it really hasn’t advanced much in the last 10 years. Every file you encode into HLS format today will ultimately become obsolete, which means you’ll have to re-encode it down the road into a different format. Beyond that, the only natively supported DRM is encryption, so to really protect your content, you have to wrap HLS streams in another DRM technology like PlayReady or Adobe Primetime DRM.

Those OTS players that support HLS playback via Flash will lose that capability once the Flash plugin goes away. So while you’re moving away from Flash-based formats, you’re still reliant upon Flash for playback. If your concern is that Flash is going away soon, this is a big deal.

A key point for me is that browser support for HLS will never grow. In two or three years, native DASH support will likely be universal among all relevant browsers, and all mobile devices not manufactured by the big fruit, not to mention STBs, Smart TVs, and other devices. So while there are major gaps in direct DASH coverage today, usually addressed via some form of fall back, in two or three years that won’t be the case. In contrast, the current major gaps in HLS coverage will never go away and you’ll likely always need a plug-in, an OTS player, or both, to play HLS streams in a desktop or notebook browser (other than Safari on the Mac).

Here are the DASH pros and cons.

DASH Pros

As I just finished saying, DASH is a standard and support will grow over time, so supporting DASH will grow easier over time. DASH plays natively today in most recent Chrome and Android versions, and while support among encoding tools and OTS players isn’t quite at the HLS level, you will have multiple options for both.

DASH Cons

The big negative is that native support in most browsers is not currently there. I say Microsoft is the major culprit because they are limiting DASH support to Windows 8 and newer, which means IE11 and later.  According to netmarketshare, in September, 2015, Windows 7 had more than two and a half times the market share of Windows 8 and 10 combined, and Microsoft is leaving these users, and those still on Windows XP, stranded for an IE-based DASH solution. This really stinks because IE still has a very high utilization rate, particularly among corporations, government offices, and educational institutions.

Moving on to the next DASH con, there is obviously no DASH support on the iOS platform. However, there are multiple SDKs, including ones from castLabs and BuyDRM, that allow developers to create apps that do play DASH-encoded video on the iOS platform. That doesn’t give you native, browser-based DASH playback, but it gets the same content playing on the iOS platform so you don’t have to encode in two formats.

As with HLS, some OTS players, if not all, rely on Flash or Silverlight for playing back DASH streams when the browser doesn’t natively support DASH-based playback. Interestingly, however, you wouldn’t expect a browser to drop Flash until it supported DASH completely. Even Chrome didn’t drop Silverlight until DASH was available. So if a browser drops Flash support, it’s extremely likely that you’ll be able to move forward with native DASH support. That won’t be the case with a Flash-based HLS solution; If Flash goes, HLS goes, at least for those OTS players that rely on Flash.

The big DASH con, in my humble opinion, is that DRM under the Encrypted Media Extensions is a mess, which you can read about here. Advertising support is coming, so it’s not nearly as well developed as Flash or HLS. In a nutshell, this is why many broadcasters have yet to migrate away from Flash, but if you don’t need DRM or advertising support, that’s obviously irrelevant.

Where does that leave us? I’m honestly still up in the air, though leaning towards DASH. What do you think? What am I missing? Which format would you choose if converting over today?

About Jan Ozer

Avatar photo
I help companies train new technical hires in streaming media-related positions; I also help companies optimize their codec selections and encoding stacks and evaluate new encoders and codecs. I am a contributing editor to Streaming Media Magazine, writing about codecs and encoding tools. I have written multiple authoritative books on video encoding, including Video Encoding by the Numbers: Eliminate the Guesswork from your Streaming Video (https://amzn.to/3kV6R1j) and Learn to Produce Video with FFmpeg: In Thirty Minutes or Less (https://amzn.to/3ZJih7e). I have multiple courses relating to streaming media production, all available at https://bit.ly/slc_courses. I currently work as www.netint.com as a Senior Director in Marketing.

Check Also

Take the Bitmovin Video Developer Survey

Contribute to the one of the most valuable sources of industry data by completing the …

Speech-to-text In Premiere Pro – Fast, Easy, Accurate, and Free

This video tutorial teaches you how to convert speech-to-text in Premiere Pro. I’ve been using …

Streaming Media 101: Training for App & Player Development/Testing Professionals

Leave a Reply

Your email address will not be published. Required fields are marked *