Dynamic Adaptive Streaming over HTTP

Okan Özşahin
5 min readOct 3, 2023

--

Dynamic Adaptive Streaming over HTTP (DASH) is a streaming protocol that allows multimedia content, such as video and audio, to be delivered over the HTTP protocol. DASH is designed to provide a high-quality streaming experience by adapting to the viewer’s network conditions and device capabilities in real-time. It is commonly used for streaming video content over the internet and is a key technology in over-the-top (OTT) video services.

Here are some key features and concepts associated with DASH:

1. Adaptive Bitrate Streaming (ABR): DASH employs ABR techniques to deliver content at varying bitrates and resolutions. This allows the stream to adapt to changing network conditions, ensuring a smooth playback experience. When the viewer’s connection is strong, DASH can deliver higher quality (higher bitrate) video, and when the connection weakens, it can scale down the quality to prevent buffering.

2. Segmentation: DASH divides multimedia content into small segments. Each segment typically represents a few seconds of audio or video. These segments can be of different bitrates and resolutions, allowing the client (viewer’s device) to switch between them as needed.

3. Media Presentation Description (MPD): DASH relies on a manifest file called the Media Presentation Description. The MPD is an XML file that provides information about available video and audio tracks, segment URLs, bitrates, resolutions, and other metadata. Clients use the MPD to make decisions about which segments to request for playback.

4. HTTP-Based Delivery: DASH leverages standard HTTP to deliver content, making it compatible with existing web infrastructure. This allows DASH content to be delivered over CDNs (Content Delivery Networks) and across the internet without requiring specialized streaming protocols.

5. Wide Compatibility: DASH is supported by a variety of devices and platforms, including web browsers, mobile devices, smart TVs, and set-top boxes. This broad compatibility makes it a popular choice for streaming services.

6. Content Encryption: DASH can incorporate content protection mechanisms, such as Digital Rights Management (DRM), to prevent unauthorized access and piracy.

7. Multi-Language and Subtitles: DASH supports multiple audio and subtitle tracks, making it suitable for international and multi-language content delivery.

DASH is often compared to other adaptive streaming protocols like Apple’s HTTP Live Streaming and Microsoft’s Smooth Streaming. While these protocols serve similar purposes, they have different implementations and are used on specific platforms. DASH, being an open standard, is preferred by many content providers for its versatility and compatibility across various platforms and devices. It has gained widespread adoption in the streaming industry, contributing to the seamless delivery of high-quality video content to viewers worldwide.

How does DASH work?

DASH works by dynamically adjusting the quality of a streaming video or audio based on the viewer’s network conditions and device capabilities. It achieves this adaptive streaming through the following steps:

1. Content Encoding: Before streaming begins, the multimedia content (typically a video) is encoded at various bitrates and resolutions. Each bitrate corresponds to a different quality level, with higher bitrates offering better video quality but requiring more bandwidth.

2. Content Segmentation: The encoded content is divided into small, discrete segments, usually lasting a few seconds each. Each segment is stored separately and has a unique URL.

3. Media Presentation Description (MPD): A Media Presentation Description file, written in XML format, is created. The MPD serves as a manifest file that contains metadata about the available video and audio streams, their bitrates, resolutions, segment URLs, and other relevant information. It essentially acts as a guidebook for the client (the viewer’s device) on how to access and play the content.

4. Client-Side Selection: When a viewer initiates playback, their client (such as a web browser or streaming app) downloads the MPD from the server. Based on the viewer’s device capabilities and network conditions, the client selects an initial segment and quality level to start streaming.

5. Adaptive Streaming: As playback progresses, the client continuously monitors the viewer’s network conditions. If the network connection strengthens or weakens, the client can dynamically switch to a different quality level by requesting a segment with a higher or lower bitrate. This adaptation aims to ensure a smooth viewing experience, minimizing buffering and maximizing video quality.

6. Buffer Management: The client maintains a buffer of downloaded segments to account for temporary variations in network conditions. If the network speed drops, the client can continue playback from the buffer until it can download segments at a sufficient rate to maintain playback without interruption.

7. Periodic MPD Updates: Periodically, the client checks for updates to the MPD from the server. These updates may include changes in available bitrates or resolutions. If necessary, the client can make adjustments based on the updated information.

By following these steps, DASH optimizes the streaming experience for viewers by delivering the highest quality content that the viewer’s device and network connection can support. It adapts in real-time to fluctuations in network conditions, such as increased or decreased bandwidth, ensuring that the viewer can enjoy the content without constant buffering or quality degradation. This adaptive streaming approach makes DASH well-suited for delivering high-quality video and audio over the internet to a wide range of devices and platforms.

Use Cases in which DASH is used

1. Over-the-Top (OTT) Video Services: DASH is widely used by OTT video streaming platforms like Netflix, Amazon Prime Video, Hulu, and Disney+. These services need to deliver video content to a diverse range of devices with varying network conditions. DASH’s adaptive streaming capabilities ensure a smooth viewing experience for users on smartphones, tablets, smart TVs, and computers.

2. Live Streaming: DASH can be employed for live streaming events, such as sports matches, concerts, and news broadcasts. It adapts the quality of the video in real-time to accommodate fluctuations in network bandwidth and ensure uninterrupted viewing for live audiences.

3. Video-on-Demand: DASH is also suitable for delivering on-demand video content, such as movies and TV series. Viewers can start watching content immediately, even while the rest of the video is still being downloaded in the background. This “fast start” feature is crucial for VOD services.

4. Multi-Platform Delivery: DASH is well-suited for delivering content to a wide range of platforms, including web browsers, mobile apps, smart TVs, gaming consoles, and set-top boxes. This versatility is valuable for content providers who want to reach a broad audience.

5. Multi-Language and Subtitles: DASH’s support for multiple audio and subtitle tracks makes it ideal for streaming content in different languages. This feature is essential for international streaming services and content providers aiming to cater to a global audience.

6. Content Protection: DASH can be integrated with Digital Rights Management systems to protect copyrighted content. This is crucial for content owners who want to prevent unauthorized copying and distribution.

7. Content Delivery Networks (CDNs): DASH works effectively with CDNs to distribute content globally, reducing latency and improving the overall quality of service. CDNs help ensure that content is delivered from servers geographically closer to viewers, reducing buffering and load times.

8. Offline Viewing: Some DASH implementations allow users to download content for offline viewing, which is valuable for travelers or those with limited internet access.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Okan Özşahin
Okan Özşahin

Written by Okan Özşahin

Backend Developer at hop | Civil Engineer | MS Computer Engineering

No responses yet

Write a response