What Is Video Watermarking and Why Does It Matter?

Monthly video consumption will reach 60,889 petabytes by 2022. This highlights the growing need for low-latency streaming servicesBut the question is: which protocol should we use — MPEG-DASH or HLS?  We explain in this article.

 

What Is a Streaming Protocol?

Streaming refers to delivering content over the internet on demand — instead of downloading a video, you press Play and the video plays piece by piece. Decisions such as splitting the video into smaller segments, selecting resolution, and adjusting playback quality are all governed by the streaming protocol. Currently, the main competition is between HLS and MPEG-DASH. Whenever you watch a video on YouTube, Aparat, or an online TV service, or listen to music on Spotify, you are streaming content — and a streaming protocol is working behind the scenes. In short, a streaming protocol is the method by which video and audio are transmitted over the internet.  It is worth noting that both the sender and the receiver must use the same protocol; otherwise the receiver will not be able to play the media. A video sent via HLS, for example, cannot be played on a player that does not support that protocol. These incompatibilities gave rise to discussions about standardizing streaming protocols, and HLS and MPEG-DASH have performed better than the rest in this regard.

 

The Evolution of Streaming Standards

Online TV services and video streaming platforms need a method to deliver video content. In the past, videos were generally transmitted using the RTMP protocol, which was introduced and developed by Macromedia (now Adobe). This method was used to move media between Flash-based platforms. Although it is still in use today, it has fallen out of favor due to the deprecation of Flash. The need for a new protocol led to the introduction of HLS and MPEG-DASH, which are now among the most prominent streaming protocols.

 

What Is HLS?

HLS, which stands for HTTP Live Streaming, is a protocol for delivering live content over the internet. It was developed by Apple and is still actively being improved. HLS was initially supported only on iOS, but it quickly became a universal standard and is now supported on virtually all devices. HLS delivers video content through HTTP web servers, so setting up a video streaming service with HLS requires no additional infrastructure. It is also an adaptive bitrate streaming protocol (Adaptive Bitrate Streaming), meaning the resolution adjusts automatically based on the user's internet speed. All of this happens automatically.

 

adoptive bitrate

Key Features of HLS:

  • Plays video using the H.264 or HEVC - H.265 codec, and audio using the AAC or MP3 codec;
  • Splits video into 10-second segments;
  • Uses the MPEG-2 TS transport format;
  • Supports Closed Captions (subtitles that can be toggled on or off);
  • Supports DRM for digital rights management;
  • Compatible with the VAST and VPAID advertising standards.

Supported on:

  • Android, iOS, Linux, Windows, and macOS;
  • Chrome, Safari, Firefox, and the Edge browser;
  • Smart TVs and digital set-top boxes.

 

What Is MPEG-DASH?

MPEG-DASH is the newest streaming protocol and, at the time of writing, HLS's strongest competitor. It was introduced by the MPEG group between 2009 and 2012, and like its rival it uses HTTP to deliver content. DASH stands for Dynamic Adaptive Streaming over HTTP. Like HLS, DASH is an adaptive bitrate streaming protocol, meaning playback quality adjusts based on the user's internet speed.


Key Features of MPEG-DASH:

  • DASH is compatible with almost any video codec: H.264, H.265/HEVC, VP9/10, and WebM;
  • Supports a wide range of audio codecs including AAC and MP3;
  • Supports DRM;
  • Uses MP4 fragments and MPEG-2 TS as transport formats.

Supported on:

  • All Android devices;
  • LG, Samsung, Panasonic, Philips, and Sony smart TVs;
  • Chromecast;
  • Netflix and YouTube.

Note: HTML5 does not natively support MPEG-DASH, but a dedicated player can be built using JavaScript and the Media Source Extensions (MSE) API.

 

HLS vs. MPEG-DASH: A Comparison

The close competition between these two protocols makes the choice somewhat difficult. Here we compare the key factors of each:

 

Which has broader support?

HLS has broader support, as it is compatible with Android, iOS, Windows, Linux, Chrome OS, smart TVs, a variety of set-top boxes, and gaming consoles. MPEG-DASH is not supported in the Safari browser, which is bad news for Apple users (iPhone, iPad, Apple TV, and macOS), since their dependence on Safari makes it difficult to use streaming services based on MPEG-DASH.

 

Which offers better quality?

The two protocols are on par in terms of quality. Early on, MPEG-DASH could deliver better video quality at lower bitrates thanks to its wider codec support, but HLS has since narrowed that gap by adding support for the HEVC/H.265 codec. On resolution, MPEG-DASH previously offered higher resolutions than HLS, but in late 2017 HLS added 4K support and the two became level again. Under current conditions, there is little meaningful quality difference between the two protocols.

Video Protocol Usage 2019

Video Protocol Usage 2019

So Which One Should You Choose?

The choice of streaming protocol depends on several factors:

  • Scalability;
  • Required codecs;
  • Latency requirements;
  • The need for adaptive bitrate streaming.

Choosing a streaming protocol ultimately comes down to your specific needs, so the first step is to prioritize those needs. Both protocols are on the same level technologically and in terms of quality. HLS is known for its broader compatibility, supporting virtually all devices and browsers, while MPEG-DASH is known for its wider codec support. Initially only MPEG-DASH supported 4K resolution for streams, but with HLS now supporting 4K as well, the competitive gap has narrowed. The only clear difference between the two protocols is device support, where HLS comes out ahead. Currently, more than 2 billion iOS users rely on HLS, and most of them cannot receive MPEG-DASH streams unless they use a browser other than Safari.  Taking everything into account, HLS is the more suitable protocol for video streaming. Kavimo supports both MPEG-DASH and HLS formats.