Things to know about MPEG-DASH for HTML 5


MPEG-DASH ( Dynamic Adaptive Streaming over HTTP) is the latest addition to HTML 5 video streaming state. It adds some major and previously left out features, to HTML 5 video streaming without using any third party plugins. Some of which are:

Adaptive Streaming

Historically speaking if we wanted to view an video online we had to download the it over HTTP completely or use plugins like Adobe Flash or Microsoft Silverlight. HTML 5 pretty much solved this problem with the introduction of <audio> and <video> tags. Typically HTML 5 code to include some video on the page will look something like this.


<video width="400" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.webm" type="video/webm">
  Your browser doesn't support HTML5 video.


This did allowed to us to use specify multiple video files to pick based on the format(s) supported by the browsers but natively didn’t had direct support to change the Quality of the video dynamically.  DASH allows video to be segmented into small pieces based on resolution, quality, bitrate etc. This individual segments can be downloaded and buffered using JavaScript  and although at the time of writing its not directly supported in HTML 5 browsers, there are plenty of  implementation of W3C’s  Media Source Extensions to deliver adaptive bitrate streaming without plugins, natively in HTML5.
Few of them are

No Specific server side technology apart from using a video file format that supports Adaptive bitrate is required (except for live streaming  ).

DRM and Encryption support

There are JavaScript implementations  which support DRM(Digital Rights Management) for MPEG-DASH using the HTML5 Encrypted Media Extensions. It allows DRM wrapped content to be played without using third party plugins although currently third party key management may be required.

Multiple Audio Channel Support

MPEG-DASH supports switching between audio streams, its specially useful if you wish to support multilingual video content.

Efficient Ad Insertion.

This feature provides a standard interface to substituent chunks of stream content with advertisement content, without using any additional logic or custom code.


DASH is a finalized ISO specification ( ISO/IEC 23009-1:2012) and not a moving target. Its offers some really good features for streaming content online, either Video On Demand (VOD) or Live, and there can’t be a better time to adopt it. The player support currently is a bit limited but that is something that will change.

1 comment

  • Pieter Hillewaert

    Another video player that is able to deliver adaptive bitrate streaming without any plugins in HTML5 is THEOplayer. THEOplayer is the world’s most comprehensive HTML5 HLS video player. It is the ONLY HTML5 video player that can guarantee HTTP Live Streaming playback, cross platform, without any plugins such as Flash or Silverlight.
    Please check: for more information and let me know what you think about it.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.