The basic idea of MPEG-DASH is as to chop the media file into segments which can be encoded at different bitrates or resolutions. The segments are provided on a Web server and can be downloaded through HTTP standard compliant GET requests. The adaptation to the bitrate or resolution is done on the client side for each segment. MPD format (Media Presentation Description) used for MPEG-DASH streaming is a hierarchical data model. Each MPD may contain one or more Periods. Each of those Periods contains media components such as video components (different view angles, different codecs), audio components (different languages, comments), subtitle or caption components, etc.The main benefits of using MPEG-DASH are:
reduction of startup delays and buffering/stalls during the video
continued adaptation to the bandwidth situation of the client
use of existing and cost-effective HTTP-based CDNs, proxies, caches
bypassing of NATs and Firewalls by the usage of HTTP
Encryption, delivery & utilization of multiple concurrent DRM schemes from the same file
and much more...
Below you have the most basic videojs player setup code sample for MPEG-DASH playback, with Nuevo plugin included.
Same like for the HLS type of streaming, Nuevo plugin automatically detects available resolution for MPEG-DASH stream to display it and allows to switch between available qualities. In the example abpove you can watch how resolution is changing from 360p to 1080p in Auto mode when you resize the browser.
Please note IE 11 on Windows 7 will not play MPEG-Dash viedo. MPEG/Dash format is also not supported natively by iOS. iOS also lacks support for MediaSource extension. Using Nuevo plugin you can always provide second fallback video source e.g. in MP4 format to be sure that the video will always play. It's even possible to provide multiple qualities MP4 fallback videos! You can check example above on iPhone/iPad how fallback video is playing, with option to switch between qualities.