6 Dash
6 Dash
Prepared by:
Samsung
DASH (Dynamic Adaptive Streaming over HTTP)
The 3GPP Dynamic Adaptive Streaming over HTTP (3GP-DASH) specified in this
specification provides streaming services over HTTP.
The specification for 3GP-DASH primarily defines two formats:
The Media Presentation Description (MPD) describes a Media Presentation
The Segment formats specify the formats of the entity body of the HTTP response
to an HTTP GET request
DASH is not:
system, protocol, presentation, codec, interactivity, client specification
DASH is an enabler
It provides formats to enable efficient and high-quality delivery of streaming services over the
Internet
It is considered as one component in an e2e service
The MPD provides sufficient information for a client to provide a streaming
service to the user
3GP-DASH is intended to support a media-streaming model for delivery of
media content in which control of the delivery lies exclusively with the client.
Highlighted Features
It attempts to be very good in what is to be addressed by the standard
Enable reuse of existing technologies (containers, codecs, DRM etc.)
Enable deployment on top of HTTP-CDNs (Web Infrastructures, caching)
Enable selection based on network and device capability, user preferences
Enable seamless switching
Enable live and DVD-kind of experiences
Supports adaptive on demand and live streaming such as MPEG-4 file format
and MPEG-2TS.
DASH is codec-independent.
DASH supports both the ISO Base Media File Format (essentially the MP4
format) and MPEG-2 transport streams
Efficient and ease of use of existing CDNs, proxies, caches, NATs and firewalls.
Support of seamless switching of tracks.
Signaling, delivery, utilization of multiple DRM schemes.
Supports ad-insertion.
Segments with variable durations.
Sub-segment alignment indication to simplify switching and avoiding
overlapping fragments.
DASH Architecture
HTTP SERVER DASH CLIENT
MPD
MPD DASH Control Engine
MPD
MPD
MPD
MPD Delivery
MPD Parser
Segment
Segment Media
Segment Resources Player
Segment
Segment Segment located by
Segment
Segment
Segment HTTP-URLs Segment Parser
Segment
Segment
Segment
HTTP 1.1
Segment HTTP Client
Segment
Segment
Segment
Media Presentation Description
XML document containing metadata to construct Media Presentation Description (MPD)
appropriate HTTP-URLs to access media segment . <?xml version="1.0" encoding="UTF-8"?>
<xs:schema target
HTTP-URLs Namespace="urn:mpeg:mpegB:schema:DASH:MPD:DI
S2011"
Containing exactly one MPD element Attribute Form Default="unqualified"
Element Form Default="qualified"
Actual playback is not controlled xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xlink="http://www.w3.org/1999/xlink"
The MIME type of MPD is defined as xmlns="urn:mpeg:mpegB:schema:DASH:MPD:DIS2011
">
'application/dash+xml' <xs:import
namespace="http://www.w3.org/1999/xlink" schema
Segment availability start and end time . Location="xlink.xsd"/>
<xs:annotation>
Includes access and timing information <xs:appinfo>Media Presentation
Content addressing via HTTP-URLs Description</xs:appinfo>
</xs:annotation>
Byte range for each accessible segment ...
<!-- MPD: main element -->
Segment availability start and end time in wall- <xs:element name="MPD" type="MPDtype"/>
...
clock time </xs:schema>
Initialization Segment
Period ID=2 Abstraction set 1 http://abc.com/il.mp4
Start=240Sec
Period ID=1 Base URL http://abc.com Representation 1 Representation 1
Start=0sec 5MB Media Segment 1
Abstraction set 0 Start sec=0
http://abc.com/vl.mp4
Representation 2
2MB Segment Info
Period ID=2
Abstraction set 1
Start=240 sec Media Segment 2
Representation 3 Start sec=0
500KB http://abc.com/v2.mp4
Abstraction set 2
Period=3 Representation 4
TM Media Segment 3
Start=300 sec Start sec=0
http://abc.com/v3.mp4
Media Segment 1
Start sec=0
http://abc.com/v4.mp4
URL Addressing
URLs at each level of the MPD are resolved with respect to the BaseURL
elements of levels above.
The base URL information may present on the following levels:
MPD, Period, Adaptation Set, Representation
Alternative base URLs may be are provided through the BaseURL element
the identical segments are accessible at multiple locations.
Adaptation Sets
Each Period consists of one or more Adaptation Sets, which each consists of one or
more Representations.
Representations in the same Adaptation sets are alternatives to each other and
typically contain different encoded versions of the same source:
Such as language, media component type, picture aspect ratio, role, accessibility, viewpoint,
rating.
Adaptation sets can be arranged using @group:
Either one Representation from group 0, or the combination of at most one Representation
from each non-zero group.
....
Representation ID= rep 2 Range for @bandwidth , @width , @height , and @frame rate
....
Representation ID= rep 2