The technologies behind live streaming are complex and sophisticated. Among these streaming technologies, video protocols are vital. Video streaming protocols govern the transfer of video streams over the internet. Multiple protocols are used in the video streaming industry; two of the most popular are HLS and DASH. Both are popular for their advanced technology and ability to provide high-quality streaming. Though similar, there are key differences between HLS and DASH.
This blog is for video professionals looking to understand the differences between HLS and DASH. So, let’s look at the comparison table of HLS vs. DASH and then dive into the details.
What is HLS?
HLS stands for HTTP Live Streaming. It is a method of delivering video over the internet via HTTP. HLS breaks up long videos into small chunks of data, then transfers over the internet. In 2009, Apple Inc developed this adaptive bitrate streaming protocol. For smooth and efficient video streaming, the bitrate of each segment is adapted according to the bandwidth available at any given moment. HLS is widely used for Apple devices and works seamlessly with iPhones, iPad, and Macs.
How HLS Works
HLS or HTTP Live Streaming breaks down the video or audio content into small segments. Later, these are encoded and packaged into a series of files called “playlists.” These playlists are then served to the viewer using the HTTP protocol. They can be played through any web browser or device with an HLS player installed.
Upon request, the HLS player downloads and plays audio or video segments in order. This pre-emptive process ensures smooth playback without any interruptions. The player also has an in-built adaptive bitrate mechanism. This ABR system allows it to adjust to changes in network conditions by requesting lower-quality versions of segments when the connection is poor.
The content streamed via HLS is also protected through encryption, ensuring only authorized users can decrypt and access it. This encryption system makes HLS a secure and reliable streaming protocol. For secure streaming video, HLS uses AES-128 encryption. The encryption process and adaptive bitrate streaming make it an ideal live and on-demand video content protocol.
What is DASH?
DASH stands for Dynamic Adaptive Streaming over HTTP. MPEG developed it as an open-source protocol. That’s why it’s also known as MPEG DASH.
DASH is another video streaming protocol developed for delivering video over the internet. DASH, like HLS, is an adaptive bitrate streaming protocol. It breaks long videos into small chunks and then streams them to the viewer. The pieces are encoded at various bitrates, allowing smooth playback even with varying network conditions.
Using a manifest file named MPD (Media Presentation Description) makes MPEG DASH different from the HLS. The MPD file describes the layout and locations of audio and video segments. Players can easily access audio and video content at different bitrates.
Like HLS, DASH is popular for adaptive bitrate and secure private streaming.
How DASH Works
DASH (Dynamic Adaptive Streaming over HTTP) is a revolutionary technology allowing a seamless, uninterrupted viewing or listening experience when accessing videos and audio files online. With MPEG DASH streams, viewers can request content from web servers without buffering delays for an optimal streaming experience on their devices. This is possible due to DASH’s ability to dynamically select which version of the content should be delivered based on network conditions, allowing for adaptive streaming. There are several stages of DASH streaming:
Encoding:
The encoding process of DASH involves creating multiple versions of the original content with varying bitrates and resolutions. This is done by compressing the video file via transcoding software. In this stage, an encoder breaks it into chunks and reduces its size while keeping quality unchanged. The encoded file is further compressed with data compression algorithms such as MPEG-4 AVC/H.264 or H.265/HEVC, reducing each segment’s size even more without compromising video quality.
Packaging:
Once encoding is complete, each segment is packaged into a container format, such as an MP4 file. A Media Presentation Description (MPD) file describes these fragments’ layout and location. It allows playback clients to request them to reassemble them during playback.
Serve to a Web Server:
Once packaging is complete, segments are served onto a web server. DASH uses standard HTTP web servers. Later, the stored videos can be accessed by viewers who request them when they want to watch or listen to something online. The server delivers each fragment upon request, allowing streams to play back smoothly without buffering.
Playing:
Users who want to access content online send a request that triggers a playback client, such as an HTML5 or MPD player. This client then reads the MPD file and requests different versions of the media depending on current network conditions and bandwidth available at any given moment. This dynamic tool enables adaptive streaming to choose the best delivery version following playback conditions. This ensures a smooth and uninterrupted flow without any buffering issues arising.
Encryption:
In addition, DASH also offers encryption capabilities to protect both segments and MPD files from unauthorized access. Common types of encryption used are AES-128 and Widevine CENC. This is an important feature for secure private streaming, as it prevents users from downloading or accessing the content without authorization.
Finally, viewers can enjoy a seamless streaming experience with adaptive bitrate streaming and DASH’s secure private streaming capabilities. This technology has become increasingly popular in the last few years.
What is Adaptive Bitrate Streaming used in HLS & DASH?
You may notice that both HLS and DASH use Adaptive Bitrate Streaming (ABR) technology. It may make you confused about what adaptive bitrate streaming is.
Adaptive bitrate streaming is an advanced technology that allows viewers to access content with varying bitrates and resolutions depending on network conditions. It enables videos to stream without buffering delays by automatically selecting the best streaming version of the content based on available bandwidth. This means viewers can watch a video stream at different resolutions, from low to high quality, depending on their internet connection. ABR allows a smooth streaming experience, as the video can be adapted to different bandwidths and network conditions in real-time. Castr is an excellent streaming platform that supports multiple streaming protocols and ensures an adaptive streaming experience.