Friday, February 11, 2011

Dynamic Adaptive Streaming over HTTP (DASH)

Earlier this week I've already posted a link to the current version (Draft International Standard) of the Dynamic Adaptive Streaming over HTTP (DASH) specification and now - I think - it's time having a closer look what's inside, specifically compared to its origin version which can be found in 3GPP Rel.9 Adaptive HTTP Streaming (AHS).

The following draft specifications related to DASH are publicly available officially here but I also made them available via Dropbox:
The former is an amendment of the ISO base media file format in order to provide support for DASH (among others) and the latter is the actual DASH standard.

The basic idea hasn't changed much and is the same as I've posted already some time ago, see here and here.

What's New: (compared to 3GPP Rel.9)
  • Better base URL handling at different levels of the MPD supporting multiple CDNs.
  • MPD assembly through W3C XLink (simple types only though) which allows to embed remote MPD fragments on load and on request offering simple means for document modularity.
  • At the period level it's possible to include subsets and groups of representations.
  • Groups support the description of ranges for the @bandwidth, @width, @height and @frameRate attributes defined for representation.
  • Subsets provide a mechanism to restrict the combination of active groups where an active group is one that for which the DASH client is presenting at least one of the contained Representations
  • Added support for sub-representations which typically provide the ability for accessing a lower quality version of the Representation in which they are contained. Sub-Representations for example allow extracting the audio track in a multiplexed Representation or may allow for efficient fast-forward operations if provided with lower frame rate.
  • Added support for various content description elements such protection, accessibility, rating, view point, and frame packing.
  • Segment formats based on ISO Base Media File Format (as defined in ISO/IEC 14496-12) and MPEG-2 Transport Stream (as defined in the ISO/IEC 13818-2).
  • Profiles and means for the signaling thereof. Currently, there is a full profile and ISO Base media file format basic on-demand profile defined
  • DASH quality metrics defining a set of observation points and the semantics of the metrics itself. How the metrics are collected and reported is not (yet) defined.
I hope I haven't missed anything that is important (let me know if it is the case) and if you have any questions or comments that help us improving the standard, please subscribe to the DASH reflector.


Ken said...

What's the bottom line advantage to the DASH approach? Is it a cost savings (e.g. you don't have to transcode the MPEG file and yet still get the benefits of adaptive streaming)?



aline said...

Great thoughts you got there, believe I may possibly try just some of it throughout my daily life.

Digital Instrument Cluster

aline said...

Hi there, awesome site. I thought the topics you posted on were very interesting. I tried to add your RSS to my feed reader

and it a few. take a look at it, hopefully I can add you and follow.

Digital Instrument Cluster

Christian Timmerer said...

Ken, not sure I fully understand your question. The blog post is about DASH and 3GPP stuff is compatible as the former is an evolution of the latter. Both are international standards compared to other proprietary solutions.

Let me know if you need further information.

Roy said...

what is the difference between Mpeg-DASH and 3gpp DASH ?

Christian Timmerer said...

Roy, MPEG-DASH and 3GPP-DASH (Rel.10) are roughly the same but, in fact, I don't know in detail what are the exact commonalities and differences.

However, you're point is taken and probably it is time, again, to look into this more carefully. 3GPP only defines DASH for their file format (derived from ISO base media file format) whereas MPEG defines it for both ISO base media file formats and MPEG-2 transport stream. Furthermore, there are some small differences regarding the media presentation description (MPD).

Anonymous said...

Is this talking about MPEG-DASH or w3c DASH? Roy's question confuses me...

Christian Timmerer said...

MPEG-DASH because w3c DASH does not (yet) exist.

sunil said...

Hi All.

Do we have any DASH servers or DASH clients for demonstration purpose? I want to see how the performance of the DASH based client and DASH based servers.

Thanks and Regards,
Sunil Deshpande

Christian Timmerer said...

Sunil, for example,

Please note that the notion of a DASH server does not exist as any HTTP server can be used. However, one needs a tool that generates segments and MPD. The site I've mentioned above provides a tool which can be used to generate segments and MPD.

allen perumal said...

Hi there, awesome site. I thought the topics you posted on were very interesting.
I tried to add your RSS to my feed reader and it a few. take a look at it, hopefully I can add you and follow.

Digital Instrument Cluster