The year was 2010. Over the past few years, digital video viewing had increased exponentially. And it led to an unexpected challenge. The growing demand for videos was met with a flurry of proprietary protocols and formats. Apple HLS. Adobe HDS. Microsoft Smooth Streaming. And they all had one thing in common — each was designed to work only with their specific players or devices. There wasn’t a way to deliver a single stream that could play on all devices.
This led to the birth of MPEG-DASH, an open standard for adaptive bitrate streaming over HTTP. For the uninitiated, MPEG-DASH is not a format like H.264 or AAC, but a delivery method that can be used with any number of codecs and containers, such as MP4 (H.264/AAC), WebM (VP8/Vorbis), or MPEG-2 TS.
Let's dive deeper into what is MPEG-DASH and how it works. But let's begin from where it all started.
In the late 1990s, two new technologies emerged that would change how we consume videos forever — broadband internet and mobile devices. The release of the first iPhone in 2007 then became a watershed moment. It popularized on-the-go video consumption and created an insatiable appetite for mobile content.
Even during the early internet, videos started becoming a popular format. Portals like Newgrounds, Albino Blacksheep, and eBaum’s World were receiving decent traffic. Then, in 2005, YouTube was founded, and it changed everything. By 2006, the video-viewing platform was delivering 100 million video views per day. As broadband speeds increased and more people had access to high-speed internet, online video consumption grew at an exponential pace.
But there was a problem. The delivery of videos over the internet was not designed for this level of demand because of the primary streaming protocols (such as HTTP and RTSP). They didn’t offer any kind of quality control or guaranteed delivery [Note: transmission often involves losses of packets that need to be assessed and restreamed thereafter]. The viewer experience was affected as a result.
RTMP was great for streaming videos on web browsers. However, it was a proprietary protocol exclusive to Flash players and wasn’t optimized for mobile devices. This led to the development of new protocols by the early 2010s, including Apple HLS (HTTP Live Streaming) and Microsoft Smooth Streaming. Both of these formats evolved from the HP Laboratories' demonstration of SProxy in 2006, which converted a video into segments and streamed them using an HTTP web server. The new protocols, meanwhile, furthered this approach by incorporating Adaptive Bitrate Streaming (ABR) technology as well. ABR is the ability of a video player to switch between streams (from high definition to low definition or vice versa) based on the network conditions.
But such formats brought us back to square one as they were still proprietary and didn’t resolve the challenge of cross-platform streaming.
While video and TV companies were trying to figure out methods of delivering the best viewing experience, they also had little control over how consumers received their content. For instance, in 2011, Netflix found that almost half of its users were watching videos on their gaming consoles. Each console used a different format. So, it was hard to deliver a consistent experience across all platforms.
The same went for other digital video platforms like Hulu. They all had to design their services around the limitations of the various devices that their end-users used. Thankfully, a few people were cognizant of the situation before the faultlines started showing.
3GPP (3rd Generation Partnership Program) got the ball rolling for a non-proprietary, cross-platform standard in 2009 by developing Adaptive HTTP Streaming (AHS). In 2010, MPEG issued a call for proposals to standardize an adaptive bitrate streaming solution for the delivery of IP-based multimedia services. The proposal by 3GPP was accepted (3GPP AHS), and MPEG-DASH (Dynamic Adaptive Streaming over HTTP) was born.
By January 2011, it became a draft international standard, and by December 2011 an international standard. It was published as an ISO/IEC 23009-1 standard in April 2012. Since then, the streaming protocol has been revised two times, i.e., once in 2019 and once in 2022.
MPEG-DASH is a delivery method that streams media via HTTP and works with any codec and container. This makes it different from other streaming protocols that are format specific, such as HLS and RTSP.
The idea behind using an adaptable container is to have a single manifest file that can work with multiple streams. The player then chooses the most appropriate stream based on network conditions and the capabilities of the device.
For instance, if you’re trying to watch a video on your mobile phone with a slow internet connection, the player will switch to a lower-bitrate video so that it doesn’t keep buffering. And if you move to an area with better network coverage or connect your phone to Wi-Fi, it will automatically switch back to the higher-bitrate video. This results in a much smoother viewing experience that doesn’t interrupt the video playback while switching between streams.
DASH streaming also involves a segmented file format. This means that videos are divided into small segments, typically 2 to 10 seconds long. These files are then stored on a web (HTTP) server using regular HTTP-based protocols. When a viewer wants to watch a video, they send an HTTP request for the manifest file (.mpd). The manifest file contains information about all the available streams, their respective bitrates, and their location on the server.
Based on this information, the player chooses an appropriate video and starts fetching video segments from the server. A predetermined number of segments are loaded in the client to avoid excessive bandwidth usage.
Although MPEG-DASH works with any type of video content and is codec-agnostic, the most commonly used codecs with MPEG-DASH are H.264/MPEG-4 AVC and H.265/HEVC for video, and AAC and MP3 for audio.
MPEG-DASH has a number of advantages over other streaming protocols. These include:
DASH is an interoperable solution that can work with any type of video content. So, you can use the same manifest file (.mpd) for videos encoded in H.264 as well as VP9 (a Google open-source video compression format). All you need is to have multiple streams for each type of encoding and specify the respective locations in the manifest file. The player will then automatically choose the appropriate stream based on network conditions and device capabilities.
As mentioned earlier, one of the key features of MPEG-DASH is Adaptive Bitrate Streaming (ABR). ABR allows players to switch between different streams seamlessly without interrupting the video playback. This results in a much smoother viewing experience, especially on mobile devices where network conditions can change frequently.
Segmenting files into small chunks also makes MPEG-DASH more efficient than some other streaming protocols. When using RTSP/RTP, if a user wants to seek ahead or rewind a video stream, they have to issue a command back to the server, which then sends the appropriate data packets. This backchannel communication can add significant latency. It also increases the load on the server.
With MPEG-DASH, however, videos are already divided into small segments. So, if a user wants to fast-forward or rewind a video, they can directly fetch the required segment from the server without any backchannel communication. This helps reduce latency, decreases bandwidth requirement, and results in a better viewing experience.
DASH involves stateless HTTP servers. This means that there’s no need to maintain any session state information, which helps improve scalability. MPEG-DASH can also integrate into existing CDNs (Content Delivery Networks) easily as it uses standard HTTP protocols.
As MPEG-DASH is an open standard, you don’t have to pay any licensing fees to use it. It is also compatible with standard HTTP servers, so no expensive servers are required. Such servers can, however, improve your overall performance. Here, it must be noted that the cost advantage is directly linked to the implementation you seek. If you want a high-performance implementation, you'll need proprietary solutions that are built on top of DASH. Contact Teyuto’s experts today to know what suits your needs better.
While MPEG-DASH has many advantages over other streaming protocols, there are a few disadvantages as well:
This one comes in as a surprise. One of the core ideas to develop DASH was to ensure cross-platform compatibility. But DASH is still not compatible with a range of devices, especially Apple products. At times, even the browsers that do support DASH may need a separate player or plugin to play videos based on it.
While being an international standard itself, there are no specific standards in DASH for how files should be encoded, segments should be created, DRM should be signaled, and so on. As a result, each content provider has to develop its own solution, which can lead to inconsistencies across different platforms and players.
The lack of standards has also led to a fragmented ecosystem where some companies are using proprietary methods to encode and segment their videos. This makes it difficult for other providers to use these videos on their platforms as they would need to invest in developing new solutions specifically for them.
One of the key disadvantages of MPEG-DASH is that it uses standard HTTP protocols for streaming videos. This makes it vulnerable to various types of cyberattacks, such as man-in-the-middle attacks and Denial-of-Service (DoS) attacks.
Although DASH is great for last-mile delivery of video streams, using it as an ingest protocol (or first-mile delivery) can lead to sizable latency. To overcome this limitation, other protocols such as RTMP are used to ingest videos (first-mile delivery) and DASH for server-to-client video distribution (last-mile delivery).
MPEG-DASH is one of the most popular streaming protocols today. It offers a number of advantages over other protocols, such as interoperability, enhanced viewing experience, reduced latency, and improved scalability. Though there are some challenges associated with the protocol as well, you can easily resolve them with a leading video streaming solutions provider.
If you have any queries or want to develop your customized streaming solution using DASH, get in touch with our experts today.