There is a lot that goes on behind the scenes of live streaming. Various technologies work in unison to produce the end result.
One technological aspect of this process involves delivering the video from the camera to the encoder to the video host and finally, to the viewers.
Two of the top streaming protocols that professional broadcasters use are MPEG-DASH vs. HLS.
In this post, we’re going to define streaming protocols and how they work before reviewing the specifics of HLS Streaming and MPEG-DASH. We’ll also compare these two standards on a variety of quality and reliability metrics.
Table of Contents
- Introduction to Streaming Protocols
- What is HLS?
- What is MPEG-DASH?
- HLS vs. MPEG-DASH
- Which is More Widely Supported?
- Which Offers Higher-Quality Streaming?
- Which Protocol is More Reliable?
- Which Protocol Should You Use?
Introduction to Streaming Protocols
A streaming protocol is a type of technology that is designed to transport video files over the internet.
In the past, online video was delivered primarily via the RTMP protocol. RTMP or real-time messaging protocol is a Flash-based live streaming standard that’s still used today for sending video from your RTMP encoder to your online video platform.
However, Flash-based video is no longer appropriate for delivering video to users. The Flash plugin has been depreciated and fewer and fewer devices support this aging protocol each year.
RTMP has slowly been replaced by the HLS protocol.
In the past decade, the MPEG-DASH protocol has become a player in the game. It serves the same purpose as HLS, but since it is the newest option available, it is on the rise.
With that background in mind, let’s jump right into our MPEG-DASH vs. HLS streaming comparison.
What is HLS?
HLS is short for HTTP Live Streaming. It is a protocol used to stream live video over the internet. Originally developed by Apple, the purpose of HLS was to make the iPhone capable of accessing live streams.
At first, HLS was exclusive to iPhones, but today almost every device supports this protocol, so it has become a proprietary format.
As the name implies, HLS delivers content via standard HTTP web servers. This means that no special infrastructure is needed to deliver HLS content. Any standard web server or CDN will work. Additionally, content is less likely to be blocked by firewalls with this protocol, which is a plus.
HLS can play video encoded with the H.264 or HEVC/H.265 codecs.
How it works is video is chopped up into 10-second segments. Latency for delivery tends to be in the 45-second range. However, Dacast now has a solution for low-latency HLS live streaming that reduces latency to 15 seconds or less.
This protocol also includes several other built-in features. For example, HLS is an adaptive bitrate protocol. This means that the client device and server dynamically detect the internet speed of the user and adjusts video quality accordingly.
That’s how a mobile user can receive a full HD stream while using speedy, home WiFi. The same user can receive a medium-quality stream after walking out the door via LTE. Finally, that user can even maintain a low-quality stream when encountering areas of poor cell service. All of this happens automatically with HLS.
Other HTTP live streaming features include HLS ingest via RTMP encoders, embedded closed captions, synchronized playback of multiple streams, good support for advertising standards (i.e., VPAID and VAST), DRM support, and more.
What is MPEG-DASH?
MPEG-DASH is the next streaming protocol we’ll examine in this comparison. As a newer standard, MPEG-DASH is an up-and-coming competitor to HLS.
This protocol was created as a response to fragmentation in the video streaming market. At the time, Apple’s HLS was competing with several other video streaming protocols. The outcome was uncertain, which led standards organizations to develop MPEG-DASH as an alternative, unifying streaming protocol.
MPEG-DASH is an open-source standard. Like the HLS streaming protocol, MPEG-DASH is an adaptive bitrate video method. It also supports advertising, and the technology for this is rapidly advancing.
It also supports DRM, HTTP delivery, lower-latency streaming, and several other features. For example, it’s a codec agnostic. It supports H.264, HEVC/H.265, VP9, and any other codec.
HLS vs. MPEG-DASH
Now that you are familiar with the history of these two protocols, let’s compare them side by side. We’re going to look at which is more widely supported, which offers higher quality streaming and which is more reliable.
We will wrap our comparison up by determining which you should choose for live streaming.
Which is More Widely Supported?
MPEG-DASH was envisioned as the successor to the conflicted streaming market that existed several years ago.
This situation has evolved since HDS and Smooth Streaming have declined in importance, and HLS is the leading protocol.
Any Android, iOS, Windows, Mac, Linux, Chrome OS, or other modern devices should support HLS. This includes smart TVs, game consoles, and set-top boxes.
However, MPEG-DASH is not supported on the mobile Safari browser. Given that most iPhone, iPad, and AppleTV users use the default Safari browser, this is a major downside for HLS vs. MPEG-DASH.
Which Offers Higher-Quality Streaming?
Poor quality streams can be extremely frustrating for viewers, which is why high quality is such a priority for broadcasters.
The short answer to whether MPEG-DASH or HLS can deliver better quality is simple: there’s not much difference between the two.
MPEG-DASH used to hold the advantage, but this is no longer the case. By being codec agnostic, MPEG-DASH could deliver better quality at lower bitrates. However, now HLS supports HEVC/H.265. This delivers quality essentially on-par with other top codecs or containers, essentially eliminating this distinction.
So what about resolution? Likewise, MPEG-DASH was previously used to support higher resolution video than HLS. However, HLS added support for 4K video resolution in late 2017. This improvement eliminated another previous difference between MPEG-DASH and HLS.
Both protocols also support HDR (High Dynamic Range), which can deliver a wider color gamut and better tonal rendition.
In terms of overall streaming video quality, both HLS and MPEG-DASH can deliver excellent-quality video.
Which Protocol is More Reliable?
HLS and MPEG-DASH, as we’ve mentioned, are both adaptive bitrate protocols. Users automatically receive the best-quality video that their internet connection can handle at any given moment.
Ideally, this should provide a stable, high-quality viewing experience to viewers while minimizing buffering and lag. However, you’ll need to be sure to use multi-bitrate streaming to take advantage of this functionality.
Both platforms are stable, easy to implement, and powerful. In short, they’re both quite reliable.
Which Protocol Should You Use?
As this article highlights, there is a great deal of feature equivalence between HLS and MPEG-DASH. Both are powerful, reliable protocols for delivering online video.
However, we think it’s the compatibility concern that tips the scales toward HLS. HLS is simply much more widely compatible than MPEG-DASH. There are over a billion iOS users globally, which means that most of those users unless they use third-party browsers, can’t play MPEG-DASH video streams
You can’t afford to ignore an audience of that size.
With that being said, we have come to the conclusion that HLS is the best protocol to use for live streaming in 2020 and the foreseeable future.
HLS provides the features and compatibility you need along. If MPEG-DASH is updated to support mobile Safari, that would certainly change this conclusion.
One-third of all online activity involves watching videos, especially since many businesses are finding that video makes up an increasingly important part of their operations. With this trend on the rise, broadcasters can’t afford to use the wrong technology.
We hope that this article has given you a better understanding of MPEG-DASH and HLS streaming protocols. More so, we hope it’s helped you form an opinion of your own.
And to sign up for our 30-day free trial (no credit card required), just click the button below to start streaming today!
Any questions or comments? We love to hear from our readers, so sound off below this article and we’ll do our best to respond as soon as we can! Thanks for reading, and as always—good luck with your live streams.