HLS vs. MPEG-DASH: Live Streaming Protocol Comparison
There is a lot that goes on behind the scenes of live streaming. Various technologies work in unison to produce the end result that viewers see when they watch your content.
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 format.
In this post, we’re going to define video streaming protocols and how they work before reviewing the specifics of HLS Streaming and MPEG-DASH. We’ll also make a live-streaming protocol comparison between 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 Live Streaming Protocol Comparison
- FAQs
- Conclusion
Introduction to Streaming Protocols
A streaming protocol is a type of technology that is designed to transport video files over the internet.
Before protocols evolved, online video was delivered primarily via RTMP streaming platforms. 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. It is no longer possible to run Flash player in the new versions of most web browsers.
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. This has created an increase in the need to understand the difference between MPEG vs HLS.
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, the HLS format 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 that the 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 adjust video quality accordingly. HLS format does a lot more than just deliver your video; it impacts the quality of the video delivery.
That’s how a mobile user can receive a full HD video 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 format. Adaptive bitrate protocol is one reason why HLS stands out when comparing MPEG-DASH vs. 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.
Some of the best HLS alternatives for live streams include MPEG-DASH, RTMP, and RTSP. You can use MPEG-DASH as a great HLS alternative because it offers low latency streaming and are highly compatible with a wide range of devices. RTMP and RTSP are also ideal for streaming media over IP networks and are great for large-scale streaming applications.
What is MPEG-DASH?
MPEG-DASH extension is the next streaming protocol we’ll examine in this comparison. As a newer standard, MPEG-DASH extension is an up-and-coming competitor to the HLS format that has gained a lot of recognition in recent years.
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 an MPEG-DASH server as an alternative, unifying streaming protocol. MPEG-DASH streaming was developed to ensure that there was a protocol everyone could use.
MPEG-DASH extension is an open-source standard. Like the HLS streaming protocol, MPEG-DASH is an adaptive bitrate video method. This means that it is an adaptive streaming protocol that enables video streams to switch between bit rates. This usually depends on how weak or strong the internet connection is. As a result, live streams will play without interruption, even with inconsistent network connection.
It also supports advertising, and the technology for this is rapidly advancing. DASH protocol stands out with its advertising support, and because it is always changing.
MPEG-DASH iOS supported devices also support DRM, HTTP delivery, lower-latency streaming, and several other features. For example, it’s codec agnostic. It supports H.264, HEVC/H.265, VP9, and any other codec.
How Does MPEG-DASH Work?
If you want to create MPEG-DASH live streams, you must use specialized software called packagers. Some of the packagers you can use for this process include FFmpeg, Shaka Packager by Google, mp4dash by Bento4, and mp4box by GPAC.
Here’s what the streaming protocol looks like for MPEG-DASH extension:
- Segmentation and encoding: Here, your origin server segments video files into multiple files of smaller lengths of about a few seconds and creates an index for these segments. These video portions are then formatted in a way that different devices can interpret them—a process known as encoding.
- Content delivery: The above segments are then uploaded to the internet for viewers to access through a live or prerecorded stream. Here, you can use a content delivery network (CDN) to reduce latency and improve the quality of your MPEG-Dash stream.
- Decoding and playback: Your user’s device will now receive these files, decode the encoded segments, and play them back as a complete video. Due to MPEG-DASH’s adaptive bitrate streaming capabilities, the viewer’s video plate will automatically switch between high and lower-quality resolutions depending on network strength.
For instance, if the user’s network is currently operating on a lower bandwidth, their video quality will drop accordingly. This way they can continue their stream uninterrupted.
Some examples of players that support MPEG-DASH live streams include:
- Bitmovin: This is an MPEG-DASH player that provides cloud-native solutions which allow users to produce high-quality live streams. It uses specialized SDKs to guarantee seamless playbacks and an advanced analytics function that gives users insights into the performance of their live streams.
- JWPlayer: This is an end-to-end live streaming solution that supports MPEG-DASH adaptive streaming. This makes it a popular choice among publishers, broadcasters, and advertisers.
- NexPlayer: This is one of the MPEG-DASH live streaming examples that allows users to stream live and VOD broadcasts in both DASH and Apple HLS streaming video format.
- Roku: Another MPEG-DASH streaming protocol worth exploring is Roku, a TV streaming platform that supports MPEG-DASH dynamic adaptive streaming.
HLS vs. MPEG-DASH Live Streaming Protocol Comparison
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. DASH vs HLS format, 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 video. This includes smart TVs, game consoles, and set-top boxes.
However, the MPEG-DASH player 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 HD streaming 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 format. 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. In this respect of DASH vs HLS, both come out on top.
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 2022 and the foreseeable future. DASH streaming protocol audience reach is limited, making it an inferior streaming protocol at the moment
HLS format provides the features and compatibility you need along. If MPEG-DASH is updated to support mobile Safari, that would certainly change this conclusion.
However, you can also explore extensions that allow native MPEG-DASH HLS playback. For example, the native MPEG-DASH file extension developed by David Cavar can be added to browsers. This allows users to play HLS and MPEG-DASH video format without downloading them.
FAQs
1. What is Apple HLS?
Apple’s HTTP live streaming protocol is a popular technology Apple uses to live stream or deliver on-demand content to iPads, iPhones, and other Apple supported devices.
2. Is HLS streaming the same as MP4?
With the HLS streaming protocol, the video segments load one after the other and therefore uses a low bandwidth. On the other hand, MP4 has a higher bandwidth.
3. Does Netflix use HLS or MPEG-DASH?
Netflix uses MPEG-DASH to provide consistent, uninterrupted streaming to its viewers.
4. What is the difference between adaptive streaming and progressive streaming?
Adaptive streaming provides uninterrupted live streams that adapt to the quality of network connection provided. On the other hand, live stream videos uploaded using progressive streaming will stop and buffer if there is poor connection.
5. Which streaming services use dynamic adaptive streaming?
Popular streaming services like Hulu, YouTube, and Netflix use dynamic adaptive streaming to provide live streams that adapt to the quality of their viewers’ bandwidth.
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 live streaming protocol comparison 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.
Looking for a live streaming platform? Dacast offers an HLS-ready platform that works with secure video upload capabilities, China video hosting for VOD content, and more.
And to sign up for our 14-day free trial (no credit card required), just click the button below to start streaming today!
And to sign up for our 14-day free trial (no credit card required), just click the button below to start streaming today!