Networking/DASH

From MozillaWiki
Jump to: navigation, search

Work in progress

This is a placeholder page for progress on the DASH implementation in Gecko.

What is DASH?

DASH is Dynamic Adaptive Streaming over HTTP. It is a standardised attempt to replace similar incompatible technologies including Microsoft Smooth Streaming, Adobe Dynamic Streaming and Apple's HTTP Live Streaming (HLS).

A good introduction to DASH is presented in What is MPEG DASH? - Streaming Media Magazine

Main points to consider:

  • aims to provide on demand and live streaming
  • adaptive bitrate media streaming (client-side monitoring of load/available resources and adaptation through switching media streams).
  • streams over HTTP resuing existing HTTP infrastructure including HTTP servers, HTTP caching, Firewall-friendly HTTP packets, Content Delivery Networks (CDNs), ISP infrastructure
  • does not attempt solve the HTML5 video tag issue. DASH is codec agnostic.

DASH Specification

There are two types of file that DASH deals with.

  1. Encode A/V streams - Media
  2. Manifest-type files - Media Presentation Description (MPD)

The DASH Specification presents an hierarchical MPD Data Model, which describes the Media Presentation in terms of Periods, Groups, Representations and Segments. The MPD file represents this model using XML, and is delivered from the HTTP server to the DASH client to describe accessible segments and metadata e.g. timing. The MPD provides redundant information

  • The media presentation is defined as a series of one or more consecutive periods.
  • Each period in the presentation consists of


Media Segment information is also described.

References/Links

Related Pages