In recent years, transmission over the Internet has been very successful. In fact, 80% say they want to watch a live stream rather than read a blog post. This probably has to do with the fact that our attention span is decreasing. We need content that has the ability to hook us in just a few seconds. Video, and especially live streaming, has proven to have this capability. To deliver a seamless experience to their consumers, brands rely on advanced technology.
Specifically, streaming protocols help them get broadcasts to their viewers. Two of these formats, HLS and MPEG DASH, are popular in the industry, and publishers often wonder which one to choose.
Both HLS and MPEG-DASH offer adaptive streaming and similar levels of quality and latency. But HLS is best for live streaming, while MPEG-DASH is best for on-demand streaming. HLS is more compatible with Apple devices, while MPEG-DASH is more compatible with other devices. Ultimately, the decision is based on the user's needs and requirements.
If you are facing confusion about which one to use, this article will help to compare HLS with MPEG DASH and help you make the right decision.
What is HLS?
HLS, or HTTP Live Streaming, is a protocol that allows you to stream audio and video content over the internet. It is a relatively new protocol developed by Apple in order to stream content to its devices. HLS is now supported on a wide range of devices and platforms, including iOS, Android, Windows, and more.
The protocol is designed to work efficiently over a variety of networks, including high-speed broadband and mobile networks.
HLS streams are typically divided into a number of small fragments, each of which is downloaded separately by the client. This allows the stream to adapt to changing network conditions, ensuring that the content can be played back smoothly even if the connection is not perfect.
If you're looking to stream audio or video content over the internet, HLS is a great option. It's efficient, widely supported, and relatively easy to set up.
Schedule a Demo with Our Video Expert!
Discover how Gumlet can help you build a cutting-edge video streaming infrastructure.
How does HLS work?
HLS is a streaming protocol that allows you to view live or on-demand video content. It works by breaking up the video into small chunks, which are then delivered to your device in a continuous stream. This enables you to start watching the video almost immediately, without having to wait for the entire file to download first.
In terms of working, HLS first divides video files into small chunks. These chunks are then delivered to the viewer's device in a continuous stream. The delivery of these chunks is managed by a playlist, which is essentially a list of the available video files and their order.
Viewers can access an HLS stream using a variety of devices and players, including computers, smartphones, tablets, and smart TVs. The quality of the stream will automatically adjust to match the capabilities of the device it's being played on. This ensures that everyone can enjoy a high-quality viewing experience, regardless of the type of device they're using.
HLS is a popular streaming protocol because it's compatible with a wide range of devices and offers a high-quality viewing experience. It's also relatively easy to set up and use, which makes it a good option for both businesses and individuals. If you're looking to stream video content, HLS is definitely worth considering.
What is MPEG-DASH?
MPEG-DASH, or Dynamic Adaptive Streaming over HTTP, is a standard for streaming video and audio content over the Internet. Unlike traditional streaming protocols, MPEG-DASH uses a technique called adaptive bitrate streaming, which means that the bitrate of the stream is adjusted based on the bandwidth and network conditions of the viewer. This results in a much smoother viewing experience, with fewer interruptions or buffering. MPEG-DASH is becoming increasingly popular as a way to stream video and audio content and is supported by a number of major streaming platforms, including Netflix, YouTube, and Amazon Prime Video. The first version of the MPEG-DASH standard was published in 2011, and the most recent version was published in 2016. MPEG-DASH is an open standard, which means that it is free for anyone to use.
How does MPEG-DASH Work?
The MPEG-DASH standard is a new ISO/IEC standard (23009-1) that enables the use of standard HTTP web servers for the streaming of media content. DASH stream is represented by an MPD (Media Presentation Description) file in XML format which contains tagged information about media files (which are in mp4 format) which is essential for media playback. These tags enable the file to be divided into a number of small fragments, each of which can be downloaded independently. The media player can then play these fragments in sequence to give you cohesion, allowing for the continuous playback of the content even if individual downloads are interrupted.
In order to use MPEG-DASH, you will need to create a set of MPD tags for your content. These tags can be generated manually, or you can use one of the many MPEG-DASH packages that are now available. Once you have created your MPD file, you will need to host it on a web server, along with the media fragments that it references. Your media player will then be able to request the appropriate fragments as needed in order to playback the content.
Difference between HLS and DASH
|Created by||Apple Inc.||A consortium of companies led by MPEG|
|Support HTTP-based ABR streaming||Yes||Yes|
|Supported by major CDNs||Yes||Yes|
|Security and Encryption||Yes, via Apple Fairplay||Yes, via Microsoft PlayReady & Google Widevine|
|Supports CENC (Common Encryption) and fmp4||Yes||Yes|
|Supported platforms, browsers, OS.||iOS, Safari, latest versions of Android, and Chrome.||Chrome and Edge.|
|Low Latency Playback||LL-HLS||LL-DASH|
|Advertising support||Yes (VAST & VPAID)||Yes (VAST & VPAID)|
|Video codecs supported||H.265, H.264.||codec-agnostic|
|Audio codecs supported||AAC-LC, HE-AAC+ v1 & v2, xHE-AAC, Apple Lossless, FLAC.||Encoding-agnostic.|
High-quality Video Streaming Encoding formats
One of the biggest differences is in how each protocol handles encoding. MPEG-DASH only allows having a single stream with a particular bitrate for a particular resolution whereas in HLS you can have multiple streams with different bitrates for a particular resolution. HLS uses multiple bitrates and can adapt to the video quality on the fly based on the viewer's connection speed.
This can impact both the quality of the video stream and the user experience. MPEG-DASH streams are typically higher quality overall, but HLS streams can provide a better experience for viewers on slower connections by automatically adapting to their connection speed.
Similarly, MPEG DASH was previously used to support higher-resolution video than HLS. However, HLS added support for 4K video resolutions in late 2017. This improvement eliminates the previous difference between MPEG DASH and HLS. Both protocols support HDR (High Dynamic Range) for a wider color gamut and better sound reproduction. When it comes to overall streaming video quality, both HLS and MPEG DASH can deliver superior-quality video. In this regard, both DASH and HLS are at the top.
There are many things to consider when comparing HLS vs MPEG-DASH, but one of the most important is reliability. After all, what's the point of having a streaming service if it isn't reliable?
HLS has been around for longer than MPEG-DASH, and in that time, it has proven to be a very reliable streaming protocol. This is due in part to the fact that it is a closed system - Apple developed and maintains HLS, so there are no third-party compatibility issues to worry about.
MPEG-DASH, on the other hand, is an open standard that anyone can implement. This has its advantages, but it also means that there are more potential points of failure. That being said, MPEG-DASH has been around for long enough and is a very reliable streaming protocol in its own right.
So, which is more reliable? In our opinion, it's a tie. HLS and MPEG-DASH are both very reliable streaming protocols that will give you peace of mind knowing that your stream is unlikely to experience any major issues.
HLS is natively supported on all Apple devices, as well as on many Android devices. MPEG-DASH, on the other hand, is not natively supported on any devices. Instead, it relies on third-party players. This means that MPEG-DASH is not as widely compatible as HLS.
Another key difference is that HLS streams are typically delivered using HTTP or HTTPS, while MPEG-DASH streams are delivered using a variety of protocols, including HTTP, HTTPS, and RTSP. This means that HLS streams can be easily played in a browser without any additional software, while MPEG-DASH streams require a player that supports the chosen protocol.
Overall, MPEG-DASH and HLS are both valid options for encoding and delivering video content. The best option for a particular project will depend on a variety of factors, including the quality of the video stream, the desired user experience, and compatibility with different devices and platforms.
1. What is the advantage of DASH in video streaming?
MPEG-DASH supports adaptive bitrate, which is the ability to dynamically adapt the video stream to the user's bandwidth and device capabilities without the need for multiple versions of the video. Additionally, MPEG-DASH is an open standard supported by a wide range of devices and services.
2. What are the advantages of HLS?
Adaptive bitrate streaming, Low latency, Wide compatibility and Secure streaming are some of the advantages of HLS.
3. Is DASH better than HLS?
The key differentiating factor here is that HLS is more widely used and supported, while DASH is a newer protocol that offers more flexibility and control. Hence, HLS is a better choice than DASH.