DASH

advertisement
Introduction to DASH
Dynamic Adaptive Streaming over
HTTP
NUS.SOC.CS5248-2015
Roger Zimmermann
Dynamic Adaptive
Streaming over HTTP (DASH)
Christian Timmerer and Christopher Müller
Alpen-Adria Universität Klagenfurt (AAU)  Faculty of Technical Sciences (TEWI)
Institute of Information Technology (ITEC)  Multimedia Communication (MMC)
http://research.timmerer.com  http://blog.timmerer.com  mailto:christian.timmerer@itec.uni-klu.ac.at
02 May 2011
Acknowledgment: Thomas Stockhammer (QUALCOMM), Mark Watson (Netflix) – reused their presentations
from MMSys’11 accessible via http://www.mmsys.org/
User Frustration in Internet Video
• Video not accessible
–
–
–
–
–
• Low Quality of Experience
–
–
–
–
–
Behind a firewall
Plugin not available
Bandwidth not sufficient
Wrong/non-trusted device
Wrong format
• Fragmentation
– Devices
– Content Formats
– DRMs
Long start-up delay
Frequent Re-buffering
Low playback quality
No lip-sync
No DVD quality (language,
subtitle)
• Expensive
– Sucks my bandwidth
– Need a dedicated devices
– Other costs…
One way to build confidence ➪ Open Standards
Ack & ©: Thomas Stockhammer Christian Timmerer, Alpen-Adria-Universität
2010/05/02
Klagenfurt, Austria
3
What is DASH?
http://en.wikipedia.org/wiki/Dash_(disambiguation)
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
4
HTTP Streaming of Media
Server
Client
1
MF
MF
2
DF
ISOBM
FF
M2TS
2010/05/02
DF
easy
conversion
easy
conversion
ISOBMFF … ISO Base Media File Format (e.g., mp4 – others: avi)
M2TS … MPEG-2 Transport Stream (e.g., DVB, DMB)
MF … Manifest Format (e.g., MPD, FMF)
DF … Delivery Format (e.g., F4F, 3gs)
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
ISOBM
FF
M2TS
5
Adaptive Streaming in Practice
Ack & ©: Mark Watson
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
6
Dynamic Adaptive Streaming over HTTP (DASH)
Proprietary Solutions
Apple HTTP Live
Streaming
Adobe HTTP
Dynamic Streaming
Microsoft Smooth
Streaming
Netflix
Int’l Standard Solutions V1
3GPP Rel.9 Adaptive
HTTP Streaming
OIPF HTTP Adaptive
Streaming
Int’l Standard Solutions V2
3GPP Rel.10 DASH
MPEG DASH
Akamai
Movenetworks’
Movestreaming
Amazon
...
time
http://multimediacommunication.blogspot.com/2010/05/http-streaming-of-mpeg-media.html
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
7
Outline
• Introduction
– DASH Design Principles
– Scope: What is specified – and what is not!
• DASH Data Model
– Media Presentation Description
– Segment Indexing
• Dynamic & Adaptive
– Video on Demand vs. Live
– The Adaptation Problem
• Conclusions & Future Work
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
8
DASH Design Principles
• 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 end-to-end service
– System definition left to other organizations (SDOs, Fora, Companies, etc.)
• Design choices
– Enable reuse of existing technologies (containers, codecs, DRM etc.)
– Enable deployment on top of HTTP-CDNs (Web Infrastructures, caching)
– Enable very high user-experience (low start-up, no rebuffering, trick modes)
– Enable selection based on network and device capability, user preferences
– Enable seamless switching
– Enable live and DVD-kind of experiences
– Move intelligence from network to client, enable client differentiation
– Enable deployment flexibility (e. g., live, on-demand, time-shift viewing)
– Provide simple interoperability points (profiles)
Ack & ©: Thomas Stockhammer Christian Timmerer, Alpen-Adria-Universität
2010/05/02
Klagenfurt, Austria
9
What is specified – and what is not?
Ack & ©: Thomas Stockhammer Christian Timmerer, Alpen-Adria-Universität
2010/05/02
Klagenfurt, Austria
10
DASH Data Model
Segment Info
Initialization Segment
http://www.e.com/ahs-5.3gp
Media Presentation
Period, start=0s
Media Segment 1
Period,
•start=100
•baseURL=http://www.e.com/
…
…
Representation 1
Period, start=100s
…
Representation 1
start=0s
http://www.e.com/ahs-5-1.3gs
•bandwidth=500kbit/s
•width 640, height 480
Media Segment 2
…
Segment Info
500kbit/s
duration=10s
Representation 2
Period, start=295s
100kbit/s
…
Template:
./ahs-5-$Index$.3gs
start=10s
http://www.e.com/ahs-5-2.3gs
Media Segment 3
start=20s
http://www.e.com/ahs-5-3.3gh
…
…
Media Segment 20
start=190s
http://www.e.com/ahs-5-20.3gs
Ack & ©: Thomas Stockhammer
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
11
Media Presentation Description
• Redundant information of Media Streams for the purpose to
initially select or reject Groups or Representations
– Examples: Codec, DRM, language, resolution, bandwidth
• Access and Timing Information
–
–
–
–
HTTP-URL(s) and byte range for each accessible Segment
Earliest next update of the MPD on the server
Segment availability start and end time in wall-clock time
Approximated media start time and duration of a Media Segment in
the media presentation timeline
– For live service, instructions on starting playout such that media
segments will be available in time for smooth playout in the future
• Switching and splicing relationships across Representations
• Relatively little other information
Ack & ©: Thomas Stockhammer
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
12
DASH Groups & Subsets
Group id="grp-1"
Representation id="rep-1"
Representation id="rep-2"
...
Representation id="rep-n"
Group by codec, language, resolution, bandwidth,
views, etc. – very flexible (in combination with xlink)!
 Ranges for the @bandwidth, @width, @height and
@frameRate
Subset id="ss-1"
Contains group="grp-1"
Group id="grp-2"
Contains group="grp-4"
Representation id="rep-1"
Contains group="grp-7"
Representation id="rep-2"
...
Representation id="rep-n"
...
Group id="grp-m"
Representation id="rep-1"
2010/05/02
Subsets
 Mechanism to restrict the combination of
active Groups
 Expresses the intention of the creator of the
Media Presentation
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
Representation id="rep-2"
13
Segment Indexing
• Provides binary information in ISO box structure on
– Accessible units of data in a media segment
– Each unit is described by
• Byte range in the segments (easy access through HTTP partial GET)
• Accurate presentation duration (seamless switching)
• Presence of representation access positions, e.g. IDR frames
• Provides a compact bitrate-over-time profile to client
– Can be used for intelligent request scheduling
• Generic Data Structure usable for any media segment
format, e.g. ISO BMFF, MPEG-2 TS, etc.
• Hierarchical structuring for efficient access
• May be combined with media segment or may be separate
Ack & ©: Thomas Stockhammer
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
14
Segment Indexing
Segment Index in MPD only
<MPD>
...
<URL sourceURL="seg1.mp4"/>
<URL sourceURL="seg2.mp4"/>
</MPD>
seg1.mp4
seg2.mp4
...
<MPD>
...
<URL sourceURL="seg.mp4" range="0-499"/>
<URL sourceURL="seg.mp4" range="500-999"/>
</MPD>
seg.mp4
Segment Index in MPD + Segment
<MPD>
...
<Index sourceURL="idx.mp4"/>
<URL sourceURL="seg.mp4"/>
</MPD>
idx.
mp4
seg.mp4
Segment Index in Segment only
<MPD>
...
<BaseURL>seg.mp4</BaseURL>
idx
</MPD>
Christian Timmerer, Alpen-Adria-Universität
2010/05/02
Klagenfurt, Austria
seg.mp4
15
Switch Point Alignment
Ack & ©: Mark Watson
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
16
Adaptive Streaming Summary
•
•
For on demand
For live
– Chunks are unnecessary and costly
– Byte range requests have caching and
flexibility advantages
– Separate audio/video essential for
language support
•
– Chunks are unavoidable
– Still value in decoupling request size
from chunk size
– Multiple language audio tracks are rare
– May need manifest updates
For both
– Switch point alignment required for most CE decoding pipelines
Ack & ©: Mark Watson and Thomas
Stockhammer
Christian
Timmerer, Alpen-Adria-Universität
2010/05/02
Klagenfurt, Austria
17
Adaptation Problem
Choose sequence and timing of requests to minimize
probability of re-buffers and maximize quality
Ack & ©: Mark Watson
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
18
Conclusions
• Asynchronous delivery of the same content to many
users is a first-class network service
– HTTP CDNs may not be the “perfect” architecture, but it’s
working pretty well at scale
• Many variations on HTTP Adaptive Streaming theme in
deployed systems and emerging standards
– DASH provides sufficient flexibility here
• DASH is rich and simple at the same time
– Understand more detailed market needs
– Create profiles as considered necessary
– Collaborate with system creators on how to integrate
DASH
Ack & ©: Mark Watson and Thomas Stockhammer
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
19
Potential Future Work Items
• MMSys’11 Keynote
– HTTP Adaptive Streaming in Practice by Mark Watson (Netflix)
– Future work
• Good models for future bandwidth
• Tractable representations of future choices - how to efficiently search
the 'choice space’
• What are the quality goals?
• Call for adaptation logics
– Efficient implementations of the actual adaptation logic which is
responsible for the dynamic and adaptive part of DASH
http://multimediacommunication.blogspot.com/2011/02/beta-version-of-vlc-dash-plugin.html
• Get it deployed and adopted (e.g. W3C, DVB – what is
necessary?)
• Join this activity, everyone is invited – get involved in and
exited about DASH!
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
20
Implementations
• Reference Software
– Open Source, ISO Copyright
– Currently not publicly available
• GPAC Implementation
– GNU Lesser General Public License
– http://gpac.wp.institut-telecom.fr/
• VLC Plugin
– GNU Lesser General Public License
– http://www-itec.uni-klu.ac.at/dash/
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
21
Thank you for your attention
... questions, comments, etc. are welcome …
Ass.-Prof. Dipl.-Ing. Dr. Christian Timmerer
Klagenfurt University, Department of Information Technology (ITEC)
Universitätsstrasse 65-67, A-9020 Klagenfurt, AUSTRIA
christian.timmerer@itec.uni-klu.ac.at
http://research.timmerer.com/
Tel: +43/463/2700 3621 Fax: +43/463/2700 3699
© Copyright: Christian Timmerer
2010/05/02
Christian Timmerer, Alpen-Adria-Universität
Klagenfurt, Austria
22
Download