HLS vs MPEG-DASH - Comparison Between Video Streaming Protocols
hls vs dash

HLS vs MPEG-DASH - Comparison Between Video Streaming Protocols

6 min read

HLS and MPEG-DASH are the most popular streaming protocol in the video industry. This article compares hls vs dash and much more.

jagadeesh krishnan
jagadeesh krishnan

4 July 2022

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. If you are facing similar issues, our article will help! It helps to compare HLS with MPEG DASH and understand what they are.

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.

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.

📹
Compare encoding efficiency and quality of your videos vs state-of-the-art custom transcoding and optimization engine.

Difference between hls and dash

Comparison Table

Feature HLS MPEG-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.

You can use any coding standard with MPEG-DASH. On the other hand, HLS requires you to use H.264 or H.265. Learn more about H.264 vs. H.265.

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.

Reliability


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.

Playback Support


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.


Conclusion

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.

📹
Simplify your video streaming pipeline with Gumlet, learn more about our dual stream HLS and DASH support for a remarkable streaming experience.