These days, the high demand for video sharing has made VoD website owners wonder which streaming protocol can help them provide the highest-quality streaming for their users. So, we are here to compare the most popular streaming protocols: RTMP, HLS, and DASH.
These three protocols are the de-facto standards for streaming video and audio over the Internet. They evolved due to the need to stream high-quality video over the Internet and previous streaming protocol issues.
The older protocols are UDP-based, so port assignments must be made on the fly to remain secure and network administrators have been forced to open a wide range of vulnerabilities in their firewalls.
All three streaming protocols (RTMP, HLS, and DASH) use TCP under the covers instead of UDP. Additionally, they can work over an open port and even encapsulate the streaming traffic in some cases with HTTP. Consequently, streaming traffic can be considered similar to web traffic, reducing the impact on firewalls.
To meet the high-quality streaming expectations of your viewers, it is crucial to select a streaming protocol that provides the highest-quality content. If your viewers cannot watch your stream because of poor audio quality or constant buffering, they will leave the stream
There are several solutions available to you. Some of the most popular are HLS, MPEG-DASH, and RTMP. We’re here to assist you in understanding what each is, how it works, and what best fits your needs.
What is MPEG-DASH?
MPEG-DASH, the newest streaming protocol, has been HLS’s best competitor as of this writing. This protocol was introduced by the MPEG group between 2009 and 2012 and, like its competitor, uses HTTP to transfer content. DASH stands for Dynamic Adaptive Streaming over HTTP. However, like HLS, DASH is a bitrate-compatible broadcast protocol, and its quality is adjusted according to the user’s internet speed.
Some features of MPEG DASH
- DASH is compatible with almost every video codec: H.264, H.265/HEVC, VP9/10, and WebM.
- Supports various audio codecs such as AAC and MP3.
- Supports DRM.
- It uses MP4 fragments and MPEG-2 TS transfer format.
What is HLS?
HLS stands for HTTP Live Streaming, a protocol for delivering live content over the Internet, which was created by Apple and is still being developed. HLS was initially only supported on iOS, but it didn’t take long to become a universal standard. It is now supported on almost all devices. HLS delivers video content over HTTP web servers.
Therefore, setting up a video streaming service with the HLS protocol does not require additional infrastructure. It is also a broadcast protocol with adaptive bitrate, whose resolution is adjusted according to the user’s Internet speed. All this is done automatically.
Some Features of HLS
- Plays videos with H.264 or HEVC/H.265 codec and audio with AAC or MP3 codec.
- Divides the video into 10-second segments.
- It uses the MPEG-2 TS transport format.
- Supports Closed Caption (subtitle with the ability to turn off and on).
- Supports DRM technology for digital rights management.
- Compatible with VAST and VPAID advertising standards.
HLS vs. DASH: What are the Main Differences?
While the two protocols share several similarities, there are also several key differences between them:
Encoding Formats: While MPEG-DASH accepts any encoding standard, HLS on the other hand, requires you to use either H.264 or H.265.
Device Support: A video delivered via MPEG-DASH cannot be played on Apple products such as iPhones, MacBooks, and other Apple products. HLS is the only video format supported by Apple products.
Segment Length: The default segment length for HLS was 10 seconds before 2016, and protocol lengths varied greatly before 2016. Currently, the default segment length for HLS is 6 seconds, but it can be adjusted in accordance with the protocol. MPEG-DASH segments, however, can typically last between 2 and 10 seconds, with an ideal duration between two and ten seconds.
Standardization: The MPEG-DASH standard is an international standard, whereas the HLS standard was developed by Apple and is still not an international standard, despite having been widely adopted worldwide.
Compatibility with Devices and Browsers
- HLS is generally supported by most modern operating systems and devices, including iOS, Android, Mac, Linux, and Windows.
- MPEG-DASH is not supported by Safari. Safari is the default browser on most Apple and macOS devices, which is a significant drawback.
- Many Chrome browser versions, from Chrome version 4 to Chrome version 70, do not support HLS properties.
- It is possible to use both methods (HLS and MPEG-DASH) on standard HTTP servers such as Apache and Nginx.
Video Quality
- The HLS video compression standard supports High-Efficiency Video Coding, HEVC, or H.265. It is one of the best video compression standards currently available.
- With MPEG-DASH, there is no need to worry about codec compatibility, and high-quality video can be delivered at low bit rates.
- Both of them support HDR (High Dynamic Range) video.
- They are both capable of supporting a resolution of 4K video.
Reliability
- Adaptive bitrate streaming is supported by both protocols, which means that users will always receive the best possible quality video based on their connectivity.
- Several audio channels are supported by both protocols, which is an important characteristic when creating multilingual video content.
- As a result of using MPEG-DASH, the content can be protected in various ways with a standard encryption system (CENC).
- The HLS protocol supports both media encryption as well as user authentication.
Features of Video
- It is important to remember that both protocols support subtitles and close captions, which are usually stored separately.
- The MPEG-DASH protocol enables an efficient new way to insert ads into video, which means that traditional HTTP servers can also deliver chunks of video with advertisements within them.
- MPEG-DASH supports multiple CDNs in parallel. Client applications can choose which CDNs will be used to ensure the best performance for their network when interacting with them.
- Through the HTML5 Media Source Extensions (MSE), MPEG-DASH enables native video playback in browsers.
- The MPEG-DASH protocol allows the user to view multiple angles within the same video player, which allows the user to select one of many different angles when streaming.
- HTML5 native video supports HTTP Live Streaming (HLS) protocol.
Which Provides Better Live Streaming?
The worst thing you can do is record a low-quality live stream since it annoys your viewers. Most viewers will leave a video before it concludes if they are unsatisfied with its quality. You must use a robust streaming protocol to ensure your audience gets the best live-streaming experience.
The two technologies (HLS and MPEG-DASH) are both capable of delivering high-quality live streams, so in that regard, there is not much difference between them.
In the past, MPEG-DASH was regarded as a standard protocol for picture quality. However, things have changed significantly in recent years as it can deliver better picture quality with lower bitrates, which is its most significant advantage. In contrast, HLS also supports H.265 (High-Definition Video), also known as HEVC. So, in terms of live streaming quality, both protocols can deliver high-quality video.
Which One Has Better Support?
HLS has wider support; because it is compatible with Android, iOS, Windows, Linux, Chrome OS, smart TVs, all kinds of set-top boxes, and game consoles. MPEG-DASH is not supported in the Safari browser. This is bad news for Apple users (iPhone, iPad, Apple TV, and Mac operating system) because the dependence of these products on the Safari browser makes it challenging to use streaming services based on the MPEG-DASH protocol.
Which One Offers Better Quality?
The quality of these two protocols is at the same level. Early on, MPEG-DASH could provide better video quality at lower bitrates due to its broader codec support. But recently, HLS has reduced this difference by supporting the HEVC/H.256 codec. MPEG-DASH resolution offers a higher resolution than HLS, but in late 2017, with HLS supporting 4K resolution, they were again at the same level. In the current situation, qualitatively, there is not much difference between the two protocols.
Do YouTube and Netflix use MPEG DASH or HLS?
MPEG-DASH is used by YouTube wherever possible, including Internet Explorer 11, Chrome, and Safari, so it is essential to know that MPEG-DASH is the most important streaming technology for the internet. Both of these services use it as their primary streaming technology. In addition to MPEG-DASH being used in HTML5, Netflix is also using MPEG-DASH, so it can be considered the most important streaming technology available.
Which One to Choose, MPEG-DASH or HLS?
Both technologies compete with one another for the biggest audience on the market. Many believe MPEG-DASH will be the best choice since it is the newest technology. However, there is just one significant difference between the two technologies: their support for one major element.
MPEG-DASH initially supported only 4K videos, but recently HLS has also expanded to support 4K videos. Since Apple only supports its proprietary software, Safari browser only supports HLS, not MPEG-DASH. You will need to use another browser to view MPEG-DASH videos on your iOS or Mac device.
The widespread use of Safari and its being embedded in many Apple products makes it more logical for video streaming companies to utilize HLS. Video streaming businesses prefer HLS to ensure video delivery to all browsers rather than just a few.
Real-Time Messaging Protocol (RTMP)
RTMP is a protocol that was used for a short time. This program was designed by Macromedia (now better known as Adobe) to transfer audio and video files between a streaming server and Adobe Flash Player. But with the phasing out of Flash in 2020, it has been used less and less to deliver content to viewers and more to bring live streaming to the platform via RTMP-enabled encoders.
This means the video is sent to the streaming platform via the RTMP protocol before being delivered to the end user via the shared HLS protocol.
A Few Things to Know about RTMP
- The Real-Time Message Protocol (RTMP) is a live streaming protocol that uses multimedia encoders to transmit video files to online video hosting platforms.
- The RTMP protocol, as well as its variants, streams over TCP and UDP (User Datagram Protocol).
- The RTMP protocol does not stream over HTTP, while standards such as HLS do so.
- The Real-Time Messaging Protocol (RTMP) supports audio codecs such as AAC and MP3.
- In addition to using H.264 as a video codec for RTMP encoding, it also supports other codecs, including x264.
- You can use low-cost encoding tools to encode your content with RTMP ingest.
- Different versions of RTMP exist, and each of them has its own distinctive features.
- Adobe no longer supports RTMP in its standard libraries, and the technology has mostly been abandoned for general use.
- Although RTMP is technically discontinued, it can still be used with certain transcoders in different broadcasting workflows and contexts.
A Comparison between DASH & RTMP
Given that we previously discussed the salient features of these protocols, we will compare MPEG DASH and RTMP protocols in a table in this section.
Features | MPEG DASH | RTMP | HLS |
Created by | Bitmovin | Macromedia (Adobe) | Apple |
CDN Support | Yes | Yes | Yes |
Encryption Support | Yes | No | Yes |
HTTP-based ABR | Yes | Yes | Yes |
Supported Browsers |
|
No longer accepted by iOS, Android, most browsers, and most embeddable players |
Almost all browsers but natively on Safari |
Supported Codecs | Codec Agnostic: from H.264 to H.265 and VP9/10. | AAC, MP3, H.264, X264 | H.264 (AVC), H.265 (HEVC) with HDR-10 support, AAC, Dolby Digital, Dolby Digital Plus |
Advertising Support | Yes | No | Yes |
Conclusion
As a result of the increasing use of video in business, broadcasters cannot afford to choose the wrong technology. According to an estimate, one-third of all internet activities involve watching videos. Since videos are becoming increasingly integral to businesses’ daily operations, broadcasters cannot afford to ignore this trend.
We hope you have found this article useful in understanding MPEG DASH: vs. RTMP and HLS.
If you want to run high-quality streaming on your website, check ArvanCloud Video Platform which effectively supports all three protocols
You can also use our free Video CDN to always load your website content and media at the highest speed for users, and they will experience a good user experience.