DASH Highlighted Features:
MPEG-DASH White paper
DASH is an extraordinarily moving technology for web producers, a single new standard that should allow them to encode once, and then securely distribute to a universe of players, from mobile to OTT, and to the desktop via plug-ins or HTML5. In addition to not resolving the HTM5 codec issue, it’s also unclear whether publishers will be charged for the privilege of producing files using the DASH spec, which could be a significant negative.
Mozilla has already indicated that they probably won’t support the specification as currently written, and Apple and Adobe have not affirmed if or when they will support the technology
DASH is an extraordinarily moving technology for web producers, a single new standard that should allow them to encode once, and then securely distribute to a universe of players, from mobile to OTT, and to the desktop via plug-ins or HTML5. In addition to not resolving the HTM5 codec issue, it’s also unclear whether publishers will be charged for the privilege of producing files using the DASH spec, which could be a significant negative.
Mozilla has already indicated that they probably won’t support the specification as currently written, and Apple and Adobe have not affirmed if or when they will support the technology
Some of the points to consider are:
Internet friendly:
MPEG-DASH uses standard HTTP
protocol. It can be deployed using standard web servers and it work with
existing Internet infrastructures, including CDNs, caches, firewalls and NATs.
On-demand, live and time-shift
applications:
MPEG-DASH supports on-demand, live
and time-shift applications and services with a single framework.
Switching and selectable streams:
The MPD provides adequate
information to the client for selecting and switching between streams, for
example, selecting one audio stream from different languages, selecting video
between different camera angles, selecting the subtitles from provided
languages, and dynamically switching between different bitrates of the same video
camera.
Ad insertion:
Advertisements can be inserted as a
period between periods or segment between segments in both on-demand and live
cases.
Compact manifest:
The segments’ address URLs can be
signaled using a template scheme resulting in a compact MPD.
Fragmented manifest:
The MPD can be divided into multiple
parts or some of its elements can be externally referenced, enabling
downloading MPD in multiple steps.
Common Encryption and Multiple DRM
support:
The content can be encrypted
once and delivered to client supporting various DRM schemes. The supported DRM
schemes can be signaled in MPD. (including UltraViolet apparently)
Segments with variable durations:
The duration of segments can
be varied. With live streaming, the duration of the next segment can also be
signaled with the delivery of the current segment.
Multiple base URLs:
The same content can be available at
multiple URLs—that is, at different servers or CDNs—and the client can stream
from any of them to maximize the available network bandwidth.
Clock-drift control for live
sessions:
The UTC time can be included
with each segment to enable the client to control its clock drift.
Scalable Video Coding (SVC) and
Multiview Video Coding (MVC) support:
The MPD provides adequate
information regarding the decoding dependencies between representations, which
can be used for streaming any multilayer coded streams such as SVC and MVC.
A flexible set of descriptors:
These describe content rating,
components’ roles, accessibility features, camera views, frame packing, and
audio channels’ configuration.
Subsetting adaptation sets into
groups:
Grouping occurs according to
the content author’s guidance.
Quality metrics for reporting the
session experience:
The standard has a set of
well-defined quality metrics for the client to measure and report back to a
reporting server.
Please find below latest updates about
MPEG-DASH Arena:
Libdash 2.0 open-source available now
Features:
• Cross platform build system based on cmake that includes Windows, Linux and Mac.
• Open source available and licensed under the LGPL.
• Implements the full MPEG-DASH standard according to ISO/IEC 23009-1, Information Technology – Dynamic Adaptive Streaming over HTTP (DASH) – Part 1: Media Presentation Description and Segment Formats
• Handles the download and xml parsing of the MPD. Based on that it provides an OO based interface to the MPD.
• Media elements, e.g., SegmentURL, SegmentTemplate, etc., are downloadable in that OO based structure and can be downloaded through libdash, which internally uses libcurl.
• Therefore basically all protocols that libcurl supports, e.g., HTTP, FTP, etc. are supported by libdash.
• However it also provides a configurable download interface, which enables the use of external connections that can be implemented by the user of the library for the download of media segments.
• The use of such external connections will be shown in the libdash_networkpart_test project which is part of libdash solution and also part of the cross platform cmake system and therefore usable on Windows, Linux and Mac.
• The project contains a sample multimedia player that is based on ffmpeg which uses libdash for the playback of one of our dataset MPD’s.
• The development is based on Windows, therefore the code contains a VS10 solution with additional tests and the sample multimedia player.
Sources and Binaries:
You can find the latest sources and binaries in our download [1] section and on github [2].
[1] http://www.bitmovin.net/?page_id=851
[2] https://github.com/bitmovin/libdash
• Cross platform build system based on cmake that includes Windows, Linux and Mac.
• Open source available and licensed under the LGPL.
• Implements the full MPEG-DASH standard according to ISO/IEC 23009-1, Information Technology – Dynamic Adaptive Streaming over HTTP (DASH) – Part 1: Media Presentation Description and Segment Formats
• Handles the download and xml parsing of the MPD. Based on that it provides an OO based interface to the MPD.
• Media elements, e.g., SegmentURL, SegmentTemplate, etc., are downloadable in that OO based structure and can be downloaded through libdash, which internally uses libcurl.
• Therefore basically all protocols that libcurl supports, e.g., HTTP, FTP, etc. are supported by libdash.
• However it also provides a configurable download interface, which enables the use of external connections that can be implemented by the user of the library for the download of media segments.
• The use of such external connections will be shown in the libdash_networkpart_test project which is part of libdash solution and also part of the cross platform cmake system and therefore usable on Windows, Linux and Mac.
• The project contains a sample multimedia player that is based on ffmpeg which uses libdash for the playback of one of our dataset MPD’s.
• The development is based on Windows, therefore the code contains a VS10 solution with additional tests and the sample multimedia player.
Sources and Binaries:
You can find the latest sources and binaries in our download [1] section and on github [2].
[1] http://www.bitmovin.net/?page_id=851
[2] https://github.com/bitmovin/libdash
Great work Rajeev...I also like the Linux stuff alot
ReplyDeleteDASH doesn't require HTTP as a transport protocol.
ReplyDeleteif you follow closely in article, it says DASH uses standard HTTP protocol. not mandatory having it. It can be deployed using standard web servers and it work with existing Internet infrastructures, including CDNs, caches, firewalls and NATs.
ReplyDelete