Skip to the content.

1️⃣ What is DASH?

DASH (Dynamic Adaptive Streaming over HTTP) is a streaming protocol that allows video and audio content to be delivered over the internet adaptively.

Goal: Provide smooth playback without buffering, even on fluctuating network connections.


2️⃣ How DASH Works

  1. Content Preparation (Encoding & Segmentation)

    • Original video is encoded at multiple bitrates (e.g., 240p, 480p, 720p, 1080p)
    • Each version is divided into small segments (e.g., 2–10 seconds)
  2. Manifest File (MPD - Media Presentation Description)

    • DASH creates an MPD file (XML) describing:

      • Available bitrates
      • Segment URLs
      • Duration of each segment
  3. Streaming to Client

    • Client downloads the MPD file first
    • Requests segments one by one over HTTP
    • Client monitors network bandwidth & playback buffer
    • Dynamically chooses the best bitrate segment to avoid buffering

3️⃣ Example Workflow

  1. Video encoded in 3 qualities: 480p, 720p, 1080p
  2. Video divided into 5-second segments: seg1.ts, seg2.ts, …
  3. MPD file contains:
<Representation id="720p" bandwidth="3000000" ...>
   <SegmentURL media="720p/seg1.ts" />
   <SegmentURL media="720p/seg2.ts" />
</Representation>
  1. Client downloads MPD → chooses initial bitrate based on current network → requests seg1
  2. During playback, if network improves → switch to higher bitrate for next segment
  3. If network worsens → switch to lower bitrate for next segment

4️⃣ Advantages of DASH

Feature Benefit
Adaptive Bitrate Reduces buffering, improves QoE (Quality of Experience)
HTTP-based Works with standard web servers, caches, CDNs
Scalable Can handle millions of users without special streaming servers
Open Standard Supported by most devices & players (Shaka Player, ExoPlayer, VLC)

5️⃣ Comparison with Other Streaming Protocols

Protocol Transport Adaptive Bitrate Notes
DASH HTTP Yes Open standard
HLS HTTP Yes Apple proprietary, uses .m3u8 playlists
RTMP TCP No Older Flash-based streaming
RTSP TCP/UDP No Real-time streaming for cameras

6️⃣ Use Cases


7️⃣ Quick Analogy

Think of DASH like a restaurant buffet: