MPEG DASH White Paper

I

MPEG-DASH, White Paper

Dynamic adaptive streaming over HTTP (DASH) White Paper
Rajeev Tiwari Principal Software Engineer at Technicolor
DASH Overview
For past number of years, it was quite difficult to stream live video to a mobile device. Lack of network
infrastructure support, bandwidth variability, unified firewall configurations and all created major
hurdle’s to live streaming. Earlier, more traditional streaming protocols, designed for small packet
formats and managed delivery networks, were anything but firewall-friendly. MPEG-DASH works by
breaking the content into a sequence of small HTTP-based file segments, each segment containing a
short interval of playback time of a content that is potentially many hours in duration, such as a movie
or the live broadcast of a sports event. The content is made available at a variety of different bit rates,
i.e., alternative segments encoded at different bit rates covering aligned short intervals of play back time
are made available. As the content is played back by an MPEG-DASH client, the client automatically
selects from the alternatives the next segment to download and play back based on current network
conditions. The client selects the segment with the highest bit rate possible that can be downloaded in
time for play back without causing stalls or rebuffering events in the playback. Thus, an MPEG-DASH
client can seamlessly adapt to changing network conditions, and provide high quality play back without
stalls or rebuffering events. MPEG-DASH has evolved as a first International standard for HTTP-based
streaming.
HTTP streaming has become a dominant approach in commercial deployments. For instance, streaming
platforms such as Apple’s HTTP Live Streaming (HLS), Microsoft’s Smooth Streaming (SS), and Adobe’s
HTTP Dynamic Streaming (HDS) all use HTTP streaming as their underlying delivery method. However,
each implementation uses different manifest and segment formats and therefore, to receive the
content from each server, a device must support its corresponding proprietary client protocol. A
standard for HTTP streaming of multimedia content would allow a standard-based client to stream
content from any standard-based server, thereby enabling interoperability between servers and clients
of different vendors. In-order to overcome above restrictions for end user MPEG developed the
specification with participation from many experts and with collaboration from other standard groups,
such as the Third Generation Partnership Project (3GPP). The resulting standard is known as MPEG
Dynamic Adaptive Streaming over HTTP (MPEG-DASH) which resolves the dependency on specific
protocol and works independent on platform protocol.
DASH is a universal delivery format that provides end users with the best possible video experience by
dynamically adapting to changing network conditions. It is technically similar to protocols like SS and
HLS in the sense that it provides a manifest definition for the description of multiple bitrates of video
and audio available to a client player application. It is then up to the client player to make decisions at
run-time about various factors such as network bandwidth, CPU utilization, screen dimensions, etc… to
adjust the streaming experience for each viewer. The big differentiator with DASH is that it is an
international standard that is now controlled by a standards body – the Motion Picture Experts Group
(MPEG) – instead of being controlled by Microsoft (Smooth Streaming) or Apple (HLS). Several
companies participated in the creation and standardization efforts around MPEG DASH, including
Microsoft, Apple, Netflix, Qualcomm, Ericsson, Samsung, and many more.
For a deeper background on MPEG DASH, I recommend you read the overview from the DASH Industry
Forum here1.

MPEG-DASH Highlighted Features:
•

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.
• Multiple segment formats (ISO BMFF and MPEG-2 TS) , Codec independence
• 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.
• 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.
Figure 1 illustrates a simple streaming scenario between an HTTP server and a DASH client. In this figure,
the multimedia content is captured and stored on an HTTP server and is delivered using HTTP. The
content exists on the server in two parts: Media Presentation Description (MPD), which describes a
manifest of the available content, its various alternatives, their URL addresses, and other characteristics;
and segments, which contain the actual multimedia bit streams in the form of chunks, in single or
multiple files.

1

Source : http://dashif.org/about-dash-industry-forum/
Figure 1.
To play the content, the DASH client first obtains the MPD. The MPD can be delivered using HTTP, email,
thumb drive, broadcast, or other transports. By parsing the MPD, the DASH client learns about the
program timing, media-content availability, media types, resolutions, minimum and maximum
bandwidths, and the existence of various encoded alternatives of multimedia components, accessibility
features and required digital rights management (DRM), media-component locations on the network,
and other content characteristics. Using this information, the DASH client selects the appropriate
encoded alternative and starts streaming the content by fetching the segments using HTTP GET
requests.
After appropriate buffering to allow for network throughput variations, the client continues fetching the
subsequent segments and also monitors the network bandwidth fluctuations. Depending on its
measurements, the client decides how to adapt to the available bandwidth by fetching segments of
different alternatives (with lower or higher bitrates) to maintain an adequate buffer.2
The MPEG-DASH specification only defines the MPD and the segment formats. The delivery of the MPD
and the media-encoding formats containing the segments, as well as the client behavior for fetching,
adaptation heuristics, and playing content, are outside of MPEG-DASH’s scope. The name of this
recommendation is “DASH-AVC/264 Implementation Guidelines” and you can download it from here.2

Media Presentation Description (MPD) – Definition and Overview:
MPEG-DASH works nearly the same way as the three other major adaptive streaming protocols. DASH
presents available stream content to the media player in a manifest (or index) file – called the Media
Presentation Description (MPD) – and then supports HTTP download of media segments. The MPD is
analogous to an HLS m3u8 file, a Smooth Streaming Manifest file or an HDS f4m file. After the MPD is
delivered to the client, the content – whether it’s video, audio, subtitles or other data – is
downloaded to clients over HTTP as a sequence of files that is played back contiguously and switching

2

Source: http://dashif.org
to different bitrate streams according to network conditions are performed by the client (again,
similar to the other adaptive streaming protocols).
Media content is composed of single or multiple contiguous segments. The MPD provides sufficient infor
mation for a DASH client to provide a streaming service to the user by requesting segments from an HTT
P web server and de-multiplexing, decoding and rendering the
included media streams. The segment formats specify the formats of the entity body of the HTTP respo
nse to an HTTP GET request or a partial HTTP GET with the indicated byte range using HTTP/1.1 to a reso
urce identified in the MPD. DASH reuses the segment formats defined in ISO/IEC 1449612 [ISOFF] and ISO/IEC 13818-1.

Supported Profiles:
MPEG DASH defines and allows for the creation of various profiles. A profile is a set of restrictions of
media formats, codecs, protection formats, bitrates, resolutions, and other aspects of the content.
For example, the DASH spec defines a profile for ISO BMFF basic on-demand. Content Descriptors for
Protection, Accessibility, Content Rating: MPEG DASH offers a flexible set of descriptors for the
media content that is being streamed.
Profiles of DASH are defined so as to enable interoperability and the signalling of the use of features etc.
A profile has an identifier and refers to a set of specific restrictions. Those restrictions might be on
features of the media presentation description (MPD) document, usage of the network, media
format(s), codec(s) used, protection formats, or on quantitative measures such as bit-rates, segment
lengths, screen size, and so on. Profiles defined in this part of ISO/IEC 23001 define restrictions on
features of this part of ISO/IEC 23001 only (e.g. not codec types). Externally defined profiles may
additionally impose restrictions on other aspects of media delivery.
A profile is a claim and a permission; it claims that the media presentation (MPD document and segment
formats) conforms to the profile, and gives permission to a reader that implements that profile to read
the media presentation, interpret what it recognizes, and ignore the material it does not understand.
The profiles with which an MPD complies are indicated in the MPD@profiles attribute. This element
is a space-delimited list of profile identifiers each of which is a URI. Profile identifiers defined in this
specification are URNs conforming to RFC 3406. URLs may also be used. When a URL is used, it should
also contain a month-date in the form mmyyyy; the assignment of the URL must have been authorized
by the owner of the domain name in that URL on or very close to that date, to avoid problems when
domain names change ownership.
ISO Base media file format basic on-demand profile
The basic on-demand profile is identified by the URN “urn:mpeg:mpegB:profile:dash:isoff-basic-ondemand” and makes use of the following features:
• Single period per media presentation
• ISO Base Media File Format segments
• Self-initializing indexed media segments (i.e. one segment per representation).
• Sub segment alignment is required
• Un-multiplexed streams
• Url diversity using the BaseURL element
• Content Protection and accessibility annotations
Media Presentation Description: Representation Base Type
MPEG DASH White Paper
Table lists the MPD elements and attributes that must be supported for compliance to this profile.3
Table — Supported Media Presentation Description elements and attributes
Element or Attribute Name

MPD
@type
@mediaPresentationDuration
@minBufferTime
BaseURL
ProgramInformation
Period
Group
ContentProtection
@schemeIdUri
SchemeInformation
Accessibility
@schemeIdUri
SchemeInformation
Viewpoint
@schemeIdUri
SchemeInformation
Rating
@schemeIdUri
SchemeInformation
@width
@height
@parx
@pary
@lang
@mimeType

Special requirements
(if any)

Shall be “OnDemand”
Shall be present
Shall be present

At most one shall be present
One or more shall be present

Shall be present and shall
indicate a single media type

@frameRate
@numberOfChannels
@samplingRate
@subsegmentAlignmentFlag
Representation
ContentProtection
@schemeIdUri
SchemeInformation
@width
@height
@parx
@pary
@lang
@frameRate
@id
@bandwidth
@dependencyId
@numberOfChannels

3

Source: http://dl.dropbox.com/u/1346434/ISO-IEC_23001-6-DIS.doc

Must be 'true'

Shall be present
Shall be present
@samplingRate
TrickModeType
@alternatePlayoutRate
SegmentInfo
BaseURL

Shall be present

Industry wide Support for MPEG-DASH:
Overwhelm response for the MPEG-DASH from industry. People from all across are deploying and
supporting mpeg-dash.
1. Internet Explorer 11, Google Chrome, Adobe and Mozilla etc. to support MPEG Dash.4 5 6
2. MPEG-DASH Support in YouTube.7 8
3. DASH at ITEC VLC PLUGIN9
4. Adobe, Microsoft, Qualcomm, Others Support MPEG-DASH10
MEDIA PLAYERS THAT SUPPORTS MPEG-DASH:
1. VLC dash plugin
2. MP4Client as part of the GPAC project.11
3. Qt Player as part of libdash project.12
CONCLUSION:
MPEG DASH has been published by the ISO, it seems well on its way to becoming a solid, broadly
accepted standard for the streaming media market. Three years in the making, DASH is poised to
provide a universal platform for delivering streaming media content to multiple screens. Designed
to be very flexible in nature, it promises to enable the re-use of existing technologies (containers,
codecs, DRM, etc.), seamless switching between protocols, and perhaps most importantly, a highquality experience for end users. Furthermore, most of the tech industry’s major players have
already lined up firmly behind DASH. The list of prominent supporters includes Akamai, Dolby,
Samsung, Thomson, Netflix and, most notably, such leading streaming media providers as
Microsoft and Adobe. Apple stands out as one of the few major tech players just started taking interest
in the standard. So there’s a great deal of hope in the industry that MPEG DASH could actually bring in
the entire major players and realize its full market potential. For one thing, Apple, Adobe and
Microsoft must throw their full weight behind the standard and agree to make the switch from
their proprietary HLS protocols in the future despite some clear competitive disadvantages of doing
so.

4

Source: http://www.engadget.com/2013/06/26/internet-explorer-11-to-support-webgl-and-mpegdash/?utm_medium=feed&utm_source=Feed_Classic&utm_campaign=Engadget
5
Source: http://blogs.adobe.com/ktowes/2012/02/adobe-announces-support-for-mpeg-dash-streamingstandard.html
6
Source : http://gpac.wp.mines-telecom.fr/2012/08/23/mpeg-dash-support-in-google-chrome/
7
Source : http://dash-mse-test.appspot.com/
8
Source: http://streamingcodecs.blogspot.com/2013/01/mpeg-dash-support-in-youtube.html
9
Source: http://www-itec.uni-klu.ac.at/dash/
10
Source: http://www.beet.tv/2013/04/mpeg-dash.html
11
Source: http://gpac.wp.mines-telecom.fr/
12
Source: http://www.bitmovin.net/libdash/
MPEG DASH White Paper

Recommended

口試投影片(詹智傑) Final by
口試投影片(詹智傑) Final口試投影片(詹智傑) Final
口試投影片(詹智傑) Final詹智傑
3.9K views67 slides
Ebu mpeg dash-webinar043 by
Ebu mpeg dash-webinar043Ebu mpeg dash-webinar043
Ebu mpeg dash-webinar043mc_killah
3.2K views54 slides
ITEC DASH by
ITEC DASHITEC DASH
ITEC DASHChristopher Mueller
3.1K views34 slides
Dynamic Adaptive Streaming over HTTP/2.0 by
Dynamic Adaptive Streaming over HTTP/2.0Dynamic Adaptive Streaming over HTTP/2.0
Dynamic Adaptive Streaming over HTTP/2.0Christopher Mueller
27.1K views14 slides
Using DASH and MPEG-2 TS by
Using DASH and MPEG-2 TSUsing DASH and MPEG-2 TS
Using DASH and MPEG-2 TSAlex Giladi
17.1K views15 slides
Technology Update: MPEG-Dash by
Technology Update: MPEG-DashTechnology Update: MPEG-Dash
Technology Update: MPEG-DashMedia Perspectives
1.9K views6 slides

More Related Content

What's hot

Adaptive Video over ICN @ IETF'87 by
Adaptive Video over ICN @ IETF'87Adaptive Video over ICN @ IETF'87
Adaptive Video over ICN @ IETF'87Stefan Lederer / bitmovin.net
16.9K views22 slides
HTTP Streaming of MPEG Media by
HTTP Streaming of MPEG MediaHTTP Streaming of MPEG Media
HTTP Streaming of MPEG MediaAlpen-Adria-Universität
12.2K views12 slides
Building a Dash-264 Player by
Building a Dash-264 PlayerBuilding a Dash-264 Player
Building a Dash-264 Playerjeff tapper
10.8K views37 slides
加快互联网核心协议,提高Web速度yuchungcheng by
加快互联网核心协议,提高Web速度yuchungcheng加快互联网核心协议,提高Web速度yuchungcheng
加快互联网核心协议,提高Web速度yuchungchengMichael Zhang
1.2K views27 slides
Quality of service by
Quality of serviceQuality of service
Quality of serviceIsmail Mukiibi
588 views83 slides
20 Years of Streaming in 20 Minutes by
20 Years of Streaming in 20 Minutes20 Years of Streaming in 20 Minutes
20 Years of Streaming in 20 MinutesAlpen-Adria-Universität
1.9K views25 slides

What's hot(20)

Building a Dash-264 Player by jeff tapper
Building a Dash-264 PlayerBuilding a Dash-264 Player
Building a Dash-264 Player
jeff tapper10.8K views
加快互联网核心协议,提高Web速度yuchungcheng by Michael Zhang
加快互联网核心协议,提高Web速度yuchungcheng加快互联网核心协议,提高Web速度yuchungcheng
加快互联网核心协议,提高Web速度yuchungcheng
Michael Zhang1.2K views
RTSP Analysis Wireshark by Yoss Cohen
RTSP Analysis WiresharkRTSP Analysis Wireshark
RTSP Analysis Wireshark
Yoss Cohen24.1K views
Ambari Management Packs (Apache Ambari Meetup 2018) by Swapan Shridhar
Ambari Management Packs (Apache Ambari Meetup 2018)Ambari Management Packs (Apache Ambari Meetup 2018)
Ambari Management Packs (Apache Ambari Meetup 2018)
Swapan Shridhar209 views
Labmeeting - 20150831 - Overhead and Performance of Low Latency Live Streamin... by Syuan Wang
Labmeeting - 20150831 - Overhead and Performance of Low Latency Live Streamin...Labmeeting - 20150831 - Overhead and Performance of Low Latency Live Streamin...
Labmeeting - 20150831 - Overhead and Performance of Low Latency Live Streamin...
Syuan Wang713 views
Ambari Management Packs (Apache Ambari Meetup 2018) by Swapan Shridhar
Ambari Management Packs (Apache Ambari Meetup 2018)Ambari Management Packs (Apache Ambari Meetup 2018)
Ambari Management Packs (Apache Ambari Meetup 2018)
Swapan Shridhar138 views
Protocol implementation on NS2 by amreshrai02
Protocol implementation on NS2Protocol implementation on NS2
Protocol implementation on NS2
amreshrai0219.5K views
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013) by Chris Adamson
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
Mobile Movies with HTTP Live Streaming (CocoaConf DC, March 2013)
Chris Adamson5.2K views
MiPSO: Multi-Period Per-Scene Optimization For HTTP Adaptive Streaming by Alpen-Adria-Universität
MiPSO: Multi-Period Per-Scene Optimization For HTTP Adaptive StreamingMiPSO: Multi-Period Per-Scene Optimization For HTTP Adaptive Streaming
MiPSO: Multi-Period Per-Scene Optimization For HTTP Adaptive Streaming
Enhancing the NS-2 Traffic Generator for the MANETs by IOSR Journals
Enhancing the NS-2 Traffic Generator for the MANETsEnhancing the NS-2 Traffic Generator for the MANETs
Enhancing the NS-2 Traffic Generator for the MANETs
IOSR Journals378 views
Covert timing channels using HTTP cache headers by yalegko
Covert timing channels using HTTP cache headersCovert timing channels using HTTP cache headers
Covert timing channels using HTTP cache headers
yalegko432 views

Similar to MPEG DASH White Paper

1. A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP.pdf by
1. A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP.pdf1. A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP.pdf
1. A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP.pdfAliIssa53
4 views25 slides
Streaming Video Protocol by
Streaming Video ProtocolStreaming Video Protocol
Streaming Video ProtocolArumai Technologies, Inc.
274 views2 slides
IRJET- Protected Adaptive Bitrate Streaming using HTTP Live Streaming and... by
IRJET-  	  Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...IRJET-  	  Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...
IRJET- Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...IRJET Journal
2 views4 slides
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf by
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdfAliIssa53
45 views180 slides
Dos presentation by ahlam shakeel by
Dos presentation by ahlam shakeelDos presentation by ahlam shakeel
Dos presentation by ahlam shakeelأحلام انصارى
1.4K views52 slides
Streaming video to html by
Streaming video to htmlStreaming video to html
Streaming video to htmljeff tapper
31.3K views47 slides

Similar to MPEG DASH White Paper(20)

1. A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP.pdf by AliIssa53
1. A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP.pdf1. A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP.pdf
1. A Survey on Bitrate Adaptation Schemes for Streaming Media over HTTP.pdf
AliIssa534 views
IRJET- Protected Adaptive Bitrate Streaming using HTTP Live Streaming and... by IRJET Journal
IRJET-  	  Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...IRJET-  	  Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...
IRJET- Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...
IRJET Journal2 views
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf by AliIssa53
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
AliIssa5345 views
Streaming video to html by jeff tapper
Streaming video to htmlStreaming video to html
Streaming video to html
jeff tapper31.3K views
Three Challenges in Reliable Data Transport over Heterogeneous ... by Videoguy
Three Challenges in Reliable Data Transport over Heterogeneous ...Three Challenges in Reliable Data Transport over Heterogeneous ...
Three Challenges in Reliable Data Transport over Heterogeneous ...
Videoguy300 views
Standards' Perspective - MPEG DASH overview and related efforts by IMTC
Standards' Perspective - MPEG DASH overview and related effortsStandards' Perspective - MPEG DASH overview and related efforts
Standards' Perspective - MPEG DASH overview and related efforts
IMTC3.1K views
Media Source Extensions by FITC
Media Source ExtensionsMedia Source Extensions
Media Source Extensions
FITC3.8K views
Implementing a Caching Scheme for Media Streaming in a Proxy Server by Abdelrahman Hosny
Implementing a Caching Scheme for Media Streaming in a Proxy ServerImplementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy Server
PackeTV® Mobile Whitepaper by Andrew Lemert
PackeTV® Mobile WhitepaperPackeTV® Mobile Whitepaper
PackeTV® Mobile Whitepaper
Andrew Lemert678 views
Server-based and Network-assisted Solutions for Adaptive Video Streaming by Eswar Publications
Server-based and Network-assisted Solutions for Adaptive Video StreamingServer-based and Network-assisted Solutions for Adaptive Video Streaming
Server-based and Network-assisted Solutions for Adaptive Video Streaming
Eswar Publications284 views
3. Quality of Experience-Centric Management.pdf by AliIssa53
3. Quality of Experience-Centric Management.pdf3. Quality of Experience-Centric Management.pdf
3. Quality of Experience-Centric Management.pdf
AliIssa533 views
Slide by Videoguy
SlideSlide
Slide
Videoguy698 views
International Journal of Computational Engineering Research(IJCER) by ijceronline
 International Journal of Computational Engineering Research(IJCER)  International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline254 views
A Real-Time Adaptive Algorithm for Video Streaming over Multiple Wireless Acc... by Priti Kana
A Real-Time Adaptive Algorithm for Video Streaming over Multiple Wireless Acc...A Real-Time Adaptive Algorithm for Video Streaming over Multiple Wireless Acc...
A Real-Time Adaptive Algorithm for Video Streaming over Multiple Wireless Acc...
Priti Kana919 views
A real time adaptive algorithm for video streaming over multiple wireless acc... by JPINFOTECH JAYAPRAKASH
A real time adaptive algorithm for video streaming over multiple wireless acc...A real time adaptive algorithm for video streaming over multiple wireless acc...
A real time adaptive algorithm for video streaming over multiple wireless acc...

Recently uploaded

Tunable Laser (1).pptx by
Tunable Laser (1).pptxTunable Laser (1).pptx
Tunable Laser (1).pptxHajira Mahmood
23 views37 slides
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensorssugiuralab
15 views15 slides
Scaling Knowledge Graph Architectures with AI by
Scaling Knowledge Graph Architectures with AIScaling Knowledge Graph Architectures with AI
Scaling Knowledge Graph Architectures with AIEnterprise Knowledge
24 views15 slides
6g - REPORT.pdf by
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdfLiveplex
9 views23 slides
Microsoft Power Platform.pptx by
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptxUni Systems S.M.S.A.
47 views38 slides
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveNetwork Automation Forum
21 views35 slides

Recently uploaded(20)

TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab15 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex9 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman27 views
Data-centric AI and the convergence of data and model engineering: opportunit... by Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier34 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software225 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma17 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang35 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex19 views

MPEG DASH White Paper

  • 1. Dynamic adaptive streaming over HTTP (DASH) White Paper Rajeev Tiwari Principal Software Engineer at Technicolor DASH Overview For past number of years, it was quite difficult to stream live video to a mobile device. Lack of network infrastructure support, bandwidth variability, unified firewall configurations and all created major hurdle’s to live streaming. Earlier, more traditional streaming protocols, designed for small packet formats and managed delivery networks, were anything but firewall-friendly. MPEG-DASH works by breaking the content into a sequence of small HTTP-based file segments, each segment containing a short interval of playback time of a content that is potentially many hours in duration, such as a movie or the live broadcast of a sports event. The content is made available at a variety of different bit rates, i.e., alternative segments encoded at different bit rates covering aligned short intervals of play back time are made available. As the content is played back by an MPEG-DASH client, the client automatically selects from the alternatives the next segment to download and play back based on current network conditions. The client selects the segment with the highest bit rate possible that can be downloaded in time for play back without causing stalls or rebuffering events in the playback. Thus, an MPEG-DASH client can seamlessly adapt to changing network conditions, and provide high quality play back without stalls or rebuffering events. MPEG-DASH has evolved as a first International standard for HTTP-based streaming. HTTP streaming has become a dominant approach in commercial deployments. For instance, streaming platforms such as Apple’s HTTP Live Streaming (HLS), Microsoft’s Smooth Streaming (SS), and Adobe’s HTTP Dynamic Streaming (HDS) all use HTTP streaming as their underlying delivery method. However, each implementation uses different manifest and segment formats and therefore, to receive the content from each server, a device must support its corresponding proprietary client protocol. A standard for HTTP streaming of multimedia content would allow a standard-based client to stream content from any standard-based server, thereby enabling interoperability between servers and clients of different vendors. In-order to overcome above restrictions for end user MPEG developed the specification with participation from many experts and with collaboration from other standard groups, such as the Third Generation Partnership Project (3GPP). The resulting standard is known as MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH) which resolves the dependency on specific protocol and works independent on platform protocol. DASH is a universal delivery format that provides end users with the best possible video experience by dynamically adapting to changing network conditions. It is technically similar to protocols like SS and HLS in the sense that it provides a manifest definition for the description of multiple bitrates of video and audio available to a client player application. It is then up to the client player to make decisions at run-time about various factors such as network bandwidth, CPU utilization, screen dimensions, etc… to adjust the streaming experience for each viewer. The big differentiator with DASH is that it is an international standard that is now controlled by a standards body – the Motion Picture Experts Group (MPEG) – instead of being controlled by Microsoft (Smooth Streaming) or Apple (HLS). Several companies participated in the creation and standardization efforts around MPEG DASH, including Microsoft, Apple, Netflix, Qualcomm, Ericsson, Samsung, and many more.
  • 2. For a deeper background on MPEG DASH, I recommend you read the overview from the DASH Industry Forum here1. MPEG-DASH Highlighted Features: • 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. • Multiple segment formats (ISO BMFF and MPEG-2 TS) , Codec independence • 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. • 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. Figure 1 illustrates a simple streaming scenario between an HTTP server and a DASH client. In this figure, the multimedia content is captured and stored on an HTTP server and is delivered using HTTP. The content exists on the server in two parts: Media Presentation Description (MPD), which describes a manifest of the available content, its various alternatives, their URL addresses, and other characteristics; and segments, which contain the actual multimedia bit streams in the form of chunks, in single or multiple files. 1 Source : http://dashif.org/about-dash-industry-forum/
  • 3. Figure 1. To play the content, the DASH client first obtains the MPD. The MPD can be delivered using HTTP, email, thumb drive, broadcast, or other transports. By parsing the MPD, the DASH client learns about the program timing, media-content availability, media types, resolutions, minimum and maximum bandwidths, and the existence of various encoded alternatives of multimedia components, accessibility features and required digital rights management (DRM), media-component locations on the network, and other content characteristics. Using this information, the DASH client selects the appropriate encoded alternative and starts streaming the content by fetching the segments using HTTP GET requests. After appropriate buffering to allow for network throughput variations, the client continues fetching the subsequent segments and also monitors the network bandwidth fluctuations. Depending on its measurements, the client decides how to adapt to the available bandwidth by fetching segments of different alternatives (with lower or higher bitrates) to maintain an adequate buffer.2 The MPEG-DASH specification only defines the MPD and the segment formats. The delivery of the MPD and the media-encoding formats containing the segments, as well as the client behavior for fetching, adaptation heuristics, and playing content, are outside of MPEG-DASH’s scope. The name of this recommendation is “DASH-AVC/264 Implementation Guidelines” and you can download it from here.2 Media Presentation Description (MPD) – Definition and Overview: MPEG-DASH works nearly the same way as the three other major adaptive streaming protocols. DASH presents available stream content to the media player in a manifest (or index) file – called the Media Presentation Description (MPD) – and then supports HTTP download of media segments. The MPD is analogous to an HLS m3u8 file, a Smooth Streaming Manifest file or an HDS f4m file. After the MPD is delivered to the client, the content – whether it’s video, audio, subtitles or other data – is downloaded to clients over HTTP as a sequence of files that is played back contiguously and switching 2 Source: http://dashif.org
  • 4. to different bitrate streams according to network conditions are performed by the client (again, similar to the other adaptive streaming protocols). Media content is composed of single or multiple contiguous segments. The MPD provides sufficient infor mation for a DASH client to provide a streaming service to the user by requesting segments from an HTT P web server and de-multiplexing, decoding and rendering the included media streams. The segment formats specify the formats of the entity body of the HTTP respo nse to an HTTP GET request or a partial HTTP GET with the indicated byte range using HTTP/1.1 to a reso urce identified in the MPD. DASH reuses the segment formats defined in ISO/IEC 1449612 [ISOFF] and ISO/IEC 13818-1. Supported Profiles: MPEG DASH defines and allows for the creation of various profiles. A profile is a set of restrictions of media formats, codecs, protection formats, bitrates, resolutions, and other aspects of the content. For example, the DASH spec defines a profile for ISO BMFF basic on-demand. Content Descriptors for Protection, Accessibility, Content Rating: MPEG DASH offers a flexible set of descriptors for the media content that is being streamed. Profiles of DASH are defined so as to enable interoperability and the signalling of the use of features etc. A profile has an identifier and refers to a set of specific restrictions. Those restrictions might be on features of the media presentation description (MPD) document, usage of the network, media format(s), codec(s) used, protection formats, or on quantitative measures such as bit-rates, segment lengths, screen size, and so on. Profiles defined in this part of ISO/IEC 23001 define restrictions on features of this part of ISO/IEC 23001 only (e.g. not codec types). Externally defined profiles may additionally impose restrictions on other aspects of media delivery. A profile is a claim and a permission; it claims that the media presentation (MPD document and segment formats) conforms to the profile, and gives permission to a reader that implements that profile to read the media presentation, interpret what it recognizes, and ignore the material it does not understand. The profiles with which an MPD complies are indicated in the MPD@profiles attribute. This element is a space-delimited list of profile identifiers each of which is a URI. Profile identifiers defined in this specification are URNs conforming to RFC 3406. URLs may also be used. When a URL is used, it should also contain a month-date in the form mmyyyy; the assignment of the URL must have been authorized by the owner of the domain name in that URL on or very close to that date, to avoid problems when domain names change ownership. ISO Base media file format basic on-demand profile The basic on-demand profile is identified by the URN “urn:mpeg:mpegB:profile:dash:isoff-basic-ondemand” and makes use of the following features: • Single period per media presentation • ISO Base Media File Format segments • Self-initializing indexed media segments (i.e. one segment per representation). • Sub segment alignment is required • Un-multiplexed streams • Url diversity using the BaseURL element • Content Protection and accessibility annotations
  • 5. Media Presentation Description: Representation Base Type
  • 7. Table lists the MPD elements and attributes that must be supported for compliance to this profile.3 Table — Supported Media Presentation Description elements and attributes Element or Attribute Name MPD @type @mediaPresentationDuration @minBufferTime BaseURL ProgramInformation Period Group ContentProtection @schemeIdUri SchemeInformation Accessibility @schemeIdUri SchemeInformation Viewpoint @schemeIdUri SchemeInformation Rating @schemeIdUri SchemeInformation @width @height @parx @pary @lang @mimeType Special requirements (if any) Shall be “OnDemand” Shall be present Shall be present At most one shall be present One or more shall be present Shall be present and shall indicate a single media type @frameRate @numberOfChannels @samplingRate @subsegmentAlignmentFlag Representation ContentProtection @schemeIdUri SchemeInformation @width @height @parx @pary @lang @frameRate @id @bandwidth @dependencyId @numberOfChannels 3 Source: http://dl.dropbox.com/u/1346434/ISO-IEC_23001-6-DIS.doc Must be 'true' Shall be present Shall be present
  • 8. @samplingRate TrickModeType @alternatePlayoutRate SegmentInfo BaseURL Shall be present Industry wide Support for MPEG-DASH: Overwhelm response for the MPEG-DASH from industry. People from all across are deploying and supporting mpeg-dash. 1. Internet Explorer 11, Google Chrome, Adobe and Mozilla etc. to support MPEG Dash.4 5 6 2. MPEG-DASH Support in YouTube.7 8 3. DASH at ITEC VLC PLUGIN9 4. Adobe, Microsoft, Qualcomm, Others Support MPEG-DASH10 MEDIA PLAYERS THAT SUPPORTS MPEG-DASH: 1. VLC dash plugin 2. MP4Client as part of the GPAC project.11 3. Qt Player as part of libdash project.12 CONCLUSION: MPEG DASH has been published by the ISO, it seems well on its way to becoming a solid, broadly accepted standard for the streaming media market. Three years in the making, DASH is poised to provide a universal platform for delivering streaming media content to multiple screens. Designed to be very flexible in nature, it promises to enable the re-use of existing technologies (containers, codecs, DRM, etc.), seamless switching between protocols, and perhaps most importantly, a highquality experience for end users. Furthermore, most of the tech industry’s major players have already lined up firmly behind DASH. The list of prominent supporters includes Akamai, Dolby, Samsung, Thomson, Netflix and, most notably, such leading streaming media providers as Microsoft and Adobe. Apple stands out as one of the few major tech players just started taking interest in the standard. So there’s a great deal of hope in the industry that MPEG DASH could actually bring in the entire major players and realize its full market potential. For one thing, Apple, Adobe and Microsoft must throw their full weight behind the standard and agree to make the switch from their proprietary HLS protocols in the future despite some clear competitive disadvantages of doing so. 4 Source: http://www.engadget.com/2013/06/26/internet-explorer-11-to-support-webgl-and-mpegdash/?utm_medium=feed&utm_source=Feed_Classic&utm_campaign=Engadget 5 Source: http://blogs.adobe.com/ktowes/2012/02/adobe-announces-support-for-mpeg-dash-streamingstandard.html 6 Source : http://gpac.wp.mines-telecom.fr/2012/08/23/mpeg-dash-support-in-google-chrome/ 7 Source : http://dash-mse-test.appspot.com/ 8 Source: http://streamingcodecs.blogspot.com/2013/01/mpeg-dash-support-in-youtube.html 9 Source: http://www-itec.uni-klu.ac.at/dash/ 10 Source: http://www.beet.tv/2013/04/mpeg-dash.html 11 Source: http://gpac.wp.mines-telecom.fr/ 12 Source: http://www.bitmovin.net/libdash/