Livery

What is MPEG-DASH? Everything you need to know about DASH live streaming

All explanations

There are a lot of moving parts that all come together to make live video streaming magic. In this article, we’ll explore the DASH player: what it is, how it works, and how it connects to other pieces of the streaming puzzle. Let’s dive in.

What is a video player?

Before we get into the specifics of the DASH player, let’s define more broadly what a video player is. A video player refers to the software used to play video content on a device, both for live content and on-demand streaming. It can be downloaded locally onto a computer or accessed through a browser. The most familiar ones you’d recognize are the ones used to watch content on sites like YouTube or Vimeo. 

For livestreaming use cases, the player may also include interactive features, such as a chat function for viewers to communicate with each other. Without a player, it would not be possible for users to watch streaming content in real time. The player also helps to regulate playback, allowing viewers to pause or rewind as needed. Overall, a video player is essential for accessing and enjoying both pre-recorded (on-demand) and livestreamed content. 

What is DASH.js (the DASH JavaScript player)?

DASH or Dynamic Adaptive Streaming over HTTP, is a technology that helps improve streaming for both the viewer and content provider. It is a popular streaming method used by major platforms such as Netflix and YouTube. 

When using the DASH JavaScript Player (DASH.js) in livestreaming, an automated system continually checks internet connection speeds and adjusts the video quality accordingly. This not only reduces buffering and lag for the viewer, but it also helps to prevent network overload for the content provider. In short, the DASH player ensures a smoother livestream experience for everyone involved. It’s no wonder that more and more platforms are adopting this technology in their streaming services. 

What is MPEG-DASH?

MPEG-DASH, or Dynamic Adaptive Streaming over HTTP, is a streaming protocol (similar to a file type) used for livestreaming media. The name can get confusing because both the player and protocol have “DASH” in the name, so it may be hard to mentally separate the two. To summarize the relationship in a single sentence: Dash.js (the DASH JavaScript player) is an open-source HTML5 video player based on the MPEG-DASH protocol. We’ll dive into the differences between the two in the “What’s the Difference: MPEG-DASH vs. DASH Javascript Player” section below. But for now, let’s focus on MPEG-DASH.

MPEG-DASH allows for the adaptation of video quality in real time, depending on the viewer’s internet connection and device capabilities. This is an important feature, as internet connections can fluctuate, and not all devices are able to handle high-quality video streams. If you understand adaptive bitrate streaming, then all you need to know is that MPEG-DASH is the back-end mechanics that make it work.

By using MPEG-DASH, livestreams can ensure that everyone is able to access and view the content without interruptions or lag. Additionally, MPEG-DASH enables streams to be easily integrated into popular web browsers and media players, making it both practical and user-friendly. Overall, the use of the MPEG-DASH protocol in livestreaming helps provide a smooth and accessible viewing experience for viewers.

 

How does DASH playback work?

DASH playback involves three main steps: segmentation and encoding, delivery, and decoding and playback. In the first step, the video content gets segmented into smaller chunks and encoded using the specific DASH (MPEG_DASH) format. These chunks then get delivered to the user’s device through an internet connection that pulls the video chunks from the local server (or the server closest to the viewer through a CDN). The final step involves decoding the chunks and playing them back in real time for the viewer to watch through the DASH player. DASH offers several advantages to other streaming methods, such as improved scalability and adaptability to varying network conditions. Let’s break these steps down in a bit more detail, next.

Step 1: Segmentation & Encoding

During the segmentation and encoding step, the video content is divided into smaller chunks (breaking the giant file into thousands of smaller files) and encoded using DASH_MPEG-compatible codecs such as H264 or VP9. This essentially means that the video has been broken into smaller bits and repackaged to make it smaller, and therefore easier to send over the internet.

Step 2: Delivery

These segments are then delivered to the DASH JavaScript player via an HTTP server. This server can either be a single local server (as is more often the case on small sites) or a CDN, which is an interconnected group of servers worldwide. 

For livestreaming purposes, a global CDN is the better choice, as each server within the network can grab and hold a copy of the video segment files, which means that the end viewer’s device can receive these files from a location nearer to them, making the entire experience faster and closer to real time.

Step 3: Decoding and Playback

Finally, the DASH player decodes the segments for playback on the user’s device by formatting them back into a video file and organizing the segment pieces so they play in the correct order. As it downloads new chunks, it continues to test the internet bandwidth and will adjust the quality in real time (up or down) to match the viewer’s connection speed.

If the video file wasn’t segmented, viewers would have to download the entire video file before they could start watching it (like downloading a file from Dropbox or Google Drive). Thanks to segmentation, the first few files are small, so they download quickly and allow the viewer to start watching them as the rest of the files download behind them. It also gives hundreds of opportunities to readjust the video quality (adaptive bitrate) to match the network.

DASH’s adaptability and compatibility make it an increasingly popular choice for streaming video content.

What’s the Difference: MPEG-DASH vs. DASH JavaScript Player

You may have heard the terms “DASH,” “DASH player,” and “MPEG-DASH” and feel confused – how does MPEG-DASH relate to the DASH JavaScript Player? 

The DASH JavaScript player is an open-source HTML5 video player based on the MPEG-DASH protocol. Put simply, MPEG-DASH is a standardized format for online video files, and the DASH JavaScript player was designed to read MPEG-DASH files. It’s one of many players that can read the MPEG-DASH protocol.

The MPEG-DASH format allows for smoother and more efficient streaming. It is supported by major hardware and software companies, making it a widely compatible choice.

HLS vs. DASH

HLS, or HTTP Live Streaming protocol, breaks up the video into smaller chunks for better adaptability to varying network conditions. DASH, or Dynamic Adaptive Streaming over HTTP, also involves segmenting the video but uses a different algorithm in how it adapts to changes in the network. 

Ultimately, both HLS and DASH provide a smooth streaming experience for the viewer. However, it’s worth considering which format works best for your specific needs. For example, some devices may be more compatible with one format versus the other. Additionally, while both formats use HTTP protocol, HLS was originally developed by Apple and is more commonly used on iOS devices, while DASH was first introduced by Microsoft and tends to have better compatibility with Android devices. 

Closing Thoughts

You can host an MPEG-DASH-based livestream with as little as a cellphone, and as much as your own dedicated server environment. The best thing you can do is give DASH streaming a try, then adjust your setup over time. You’ll learn much more by simply giving it a try than any article could ever teach.

Click here to schedule a free demo to learn more about interactive livestreaming with Livery.

What is MPEG-DASH? Everything you need to know about DASH live streaming

What is MPEG-DASH? Everything you need to know about DASH live streaming

Share this article

What is MPEG-DASH? Everything you need to know about DASH live streaming

What is MPEG-DASH? Everything you need to know about DASH live streaming

Related explanations

All explanations

There are a lot of moving parts that all come together to make live video streaming magic. In this article, we’ll explore the DASH player: what it is, how it works, and how it connects to other pieces of the streaming puzzle. Let’s dive in.

What is a video player?

Before we get into the specifics of the DASH player, let’s define more broadly what a video player is. A video player refers to the software used to play video content on a device, both for live content and on-demand streaming. It can be downloaded locally onto a computer or accessed through a browser. The most familiar ones you’d recognize are the ones used to watch content on sites like YouTube or Vimeo. 

For livestreaming use cases, the player may also include interactive features, such as a chat function for viewers to communicate with each other. Without a player, it would not be possible for users to watch streaming content in real time. The player also helps to regulate playback, allowing viewers to pause or rewind as needed. Overall, a video player is essential for accessing and enjoying both pre-recorded (on-demand) and livestreamed content. 

What is DASH.js (the DASH JavaScript player)?

DASH or Dynamic Adaptive Streaming over HTTP, is a technology that helps improve streaming for both the viewer and content provider. It is a popular streaming method used by major platforms such as Netflix and YouTube. 

When using the DASH JavaScript Player (DASH.js) in livestreaming, an automated system continually checks internet connection speeds and adjusts the video quality accordingly. This not only reduces buffering and lag for the viewer, but it also helps to prevent network overload for the content provider. In short, the DASH player ensures a smoother livestream experience for everyone involved. It’s no wonder that more and more platforms are adopting this technology in their streaming services. 

What is MPEG-DASH?

MPEG-DASH, or Dynamic Adaptive Streaming over HTTP, is a streaming protocol (similar to a file type) used for livestreaming media. The name can get confusing because both the player and protocol have “DASH” in the name, so it may be hard to mentally separate the two. To summarize the relationship in a single sentence: Dash.js (the DASH JavaScript player) is an open-source HTML5 video player based on the MPEG-DASH protocol. We’ll dive into the differences between the two in the “What’s the Difference: MPEG-DASH vs. DASH Javascript Player” section below. But for now, let’s focus on MPEG-DASH.

MPEG-DASH allows for the adaptation of video quality in real time, depending on the viewer’s internet connection and device capabilities. This is an important feature, as internet connections can fluctuate, and not all devices are able to handle high-quality video streams. If you understand adaptive bitrate streaming, then all you need to know is that MPEG-DASH is the back-end mechanics that make it work.

By using MPEG-DASH, livestreams can ensure that everyone is able to access and view the content without interruptions or lag. Additionally, MPEG-DASH enables streams to be easily integrated into popular web browsers and media players, making it both practical and user-friendly. Overall, the use of the MPEG-DASH protocol in livestreaming helps provide a smooth and accessible viewing experience for viewers.

 

How does DASH playback work?

DASH playback involves three main steps: segmentation and encoding, delivery, and decoding and playback. In the first step, the video content gets segmented into smaller chunks and encoded using the specific DASH (MPEG_DASH) format. These chunks then get delivered to the user’s device through an internet connection that pulls the video chunks from the local server (or the server closest to the viewer through a CDN). The final step involves decoding the chunks and playing them back in real time for the viewer to watch through the DASH player. DASH offers several advantages to other streaming methods, such as improved scalability and adaptability to varying network conditions. Let’s break these steps down in a bit more detail, next.

Step 1: Segmentation & Encoding

During the segmentation and encoding step, the video content is divided into smaller chunks (breaking the giant file into thousands of smaller files) and encoded using DASH_MPEG-compatible codecs such as H264 or VP9. This essentially means that the video has been broken into smaller bits and repackaged to make it smaller, and therefore easier to send over the internet.

Step 2: Delivery

These segments are then delivered to the DASH JavaScript player via an HTTP server. This server can either be a single local server (as is more often the case on small sites) or a CDN, which is an interconnected group of servers worldwide. 

For livestreaming purposes, a global CDN is the better choice, as each server within the network can grab and hold a copy of the video segment files, which means that the end viewer’s device can receive these files from a location nearer to them, making the entire experience faster and closer to real time.

Step 3: Decoding and Playback

Finally, the DASH player decodes the segments for playback on the user’s device by formatting them back into a video file and organizing the segment pieces so they play in the correct order. As it downloads new chunks, it continues to test the internet bandwidth and will adjust the quality in real time (up or down) to match the viewer’s connection speed.

If the video file wasn’t segmented, viewers would have to download the entire video file before they could start watching it (like downloading a file from Dropbox or Google Drive). Thanks to segmentation, the first few files are small, so they download quickly and allow the viewer to start watching them as the rest of the files download behind them. It also gives hundreds of opportunities to readjust the video quality (adaptive bitrate) to match the network.

DASH’s adaptability and compatibility make it an increasingly popular choice for streaming video content.

What’s the Difference: MPEG-DASH vs. DASH JavaScript Player

You may have heard the terms “DASH,” “DASH player,” and “MPEG-DASH” and feel confused – how does MPEG-DASH relate to the DASH JavaScript Player? 

The DASH JavaScript player is an open-source HTML5 video player based on the MPEG-DASH protocol. Put simply, MPEG-DASH is a standardized format for online video files, and the DASH JavaScript player was designed to read MPEG-DASH files. It’s one of many players that can read the MPEG-DASH protocol.

The MPEG-DASH format allows for smoother and more efficient streaming. It is supported by major hardware and software companies, making it a widely compatible choice.

HLS vs. DASH

HLS, or HTTP Live Streaming protocol, breaks up the video into smaller chunks for better adaptability to varying network conditions. DASH, or Dynamic Adaptive Streaming over HTTP, also involves segmenting the video but uses a different algorithm in how it adapts to changes in the network. 

Ultimately, both HLS and DASH provide a smooth streaming experience for the viewer. However, it’s worth considering which format works best for your specific needs. For example, some devices may be more compatible with one format versus the other. Additionally, while both formats use HTTP protocol, HLS was originally developed by Apple and is more commonly used on iOS devices, while DASH was first introduced by Microsoft and tends to have better compatibility with Android devices. 

Closing Thoughts

You can host an MPEG-DASH-based livestream with as little as a cellphone, and as much as your own dedicated server environment. The best thing you can do is give DASH streaming a try, then adjust your setup over time. You’ll learn much more by simply giving it a try than any article could ever teach.

Click here to schedule a free demo to learn more about interactive livestreaming with Livery.

Share this article

What is MPEG-DASH? Everything you need to know about DASH live streaming

What is MPEG-DASH? Everything you need to know about DASH live streaming

Industry