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