260 likes | 579 Views
CS 414 – Multimedia Systems Design Lecture 29 – DASH (Dynamic Adaptive Streaming over HTTP). Klara Nahrstedt Spring 2014. Administrative. MP2 posted MP2 Deadline – April 12, Saturday, 5pm. Internet Multimedia Protocol Stack. Media encaps (H.264, MPEG-4). Synchronization Service. DASH.
E N D
CS 414 – Multimedia Systems DesignLecture 29 – DASH (Dynamic Adaptive Streaming over HTTP) Klara Nahrstedt Spring 2014 CS 414 - Spring 2014
Administrative MP2 posted MP2 Deadline – April 12, Saturday, 5pm. CS 414 - Spring 2014
Internet Multimedia Protocol Stack Media encaps (H.264, MPEG-4) Synchronization Service DASH APPLICATION RTSP RSVP RTCP Layer 5 (Session) SIP RTP HTTP Layer 4 (Transport) TCP DCCP UDP KERNEL Layer 3 (Network) IP Version 4, IP Version 6 AAL3/4 AAL5 MPLS Layer 2 (Link/MAC) Ethernet/WiFi ATM/Fiber Optics CS 414 - Spring 2014
Problems with Internet Video • Video not accessible • Video Behind firewall • Plugins not available • Bandwidth not sufficient • Wrong and non-trust device • Wrong format • Low Quality of Experience • Long start-up latency • Frequent rebuffering • Low playback quality • No lip-sync • … CS 414 - Spring 2014
Mobile Video Streaming Challenges • Mobile Internet use is expanding dramatically • Video traffic is growing exponentially • Challenges: • Mobile users expect high quality video experience • Network operators need to offer quality experience affordably CS 414 - Spring 2014
Growth of Mobile Internet/Video Thomas Stockhammer, Qualcomm, “DASH – Design Principles and Standards , MMSys 2011
Adaptive Streaming One approach to tackle problems/challenges CS 414 - Spring 2014
Adaptive Streaming Concept • Adaptive Streaming technologies enable • Optimal streaming video viewing experience for diverse range of devices over broad set of connection speeds • Adaptive streaming technologies share • Production of multiple files from the same source file to distribute to viewers watching on different powered devices via different connection speeds • Distribution of files adaptively, changing stream that is delivered to adapt to changes in effective throughput and available CPU cycles on playback stations • Transparent operation to the user so that the viewer clicks one button and all streams switch/adapt behind the scenes. CS 414 - Spring 2014
Adaptive Streaming • One Approach of Adaptive Streaming • 1. Server sends first the high important video information (e.g., I frames) • And after the high importance video information is sent, lower importance • video information follows (e.g., P and B frames) if bandwidth and time allows • Second Approach of Adaptive Streaming • Server sends with high quality part of the frame and only progressively ,if • bandwidth and time allow, it sends the rest of the frame information • Third Approach of Adaptive Streaming • At server video is encoded in multiple bitrates and depending on the device • Bandwidth it adjusts at what rate • Other approaches exist Source: http://www.dicomdistribution.com/Adaptive%20Streaming.html
Standardization History Thomas Stockhammer, Qualcomm, “DASH – Design Principles and Standards , Presentation at MMSys 2011 CS 414 - Spring 2014
Adaptive HTTP Streaming System (Protocol) • Server • Can be standard web server • Media segment can be prepared in-line or off-line • Client • Sends series of HTTP GET segment requests and receives segments • Performs rate adaptation before sending a new GET segment request CS 414 - Spring 2014
Client-centric approach • Client has best view of network conditions • No session state in network • Redundancy • Scalability • Faster innovation and experimentation • But, relies on client for operational metrics • Only client knows what really happens CS 414 - Spring 2014
Terms and Definitions of Adaptive HTTP Streaming • Need • Media Presentation Description (MDP) which provides metadata • For requesting (GET request) media segments • For rate adaptation purpose • Segment which may include media data or metadata to decode • Need DASH CS 414 - Spring 2014
DASH – Dynamic Adaptive Streaming over HTTP • Dash is NOT • System, protocol, presentation, codec, interactivity • What is DASH • Enabler which provides formats to enable efficient and high-quality delivery of streaming services over the Internet • Component of end-to-end service • Enabler to reuse existing technologies (containers, DRM (Digital Rights Management), codecs) • Enabler for deployment on top of HTTP-CDNs • Enabler for very high user experience (low start-up, no re-buffering) • Provides simple inter-operability points (profiles) CS 414 - Spring 2014
DASH Client Thomas Stockhammer, Qualcomm, “DASH – Design Principles and Standards , Presentation at MMSys 2011
Information Classification • DASH uses MPD (Media Presentation Descriptor) and Index Information as metadata for DASH Access Client • Initialization and Media Segments for Media Engine • Reuse of existing container format CS 414 - Spring 2014 Source: MMSys’11
Media Presentation Data Model MDP - description of accessible segments and corresponding timing
MDP Information • Includes redundant information of media streams to initially select or reject groups or representations • Includes access and timing information • Content addressing via HTTP-URLs • Byte range for each accessible segment • Segment availability start and end time in wall-clock time • Approximate media start time and duration • Instructions on starting playout (for live service) • Includes switching relations across representations CS 414 - Spring 2014
Media Segments (1) Contain information to map segment into media presentation timeline for switching and synchronous presentation with other representations Can be short (~ 1-10seconds) Can be long (~10sec – 2 hours) CS 414 - Spring 2014
Media Segments (2) CS 414 - Spring 2014
Segment Indexing • Provides information in ISO box structure on • Accessible units of data (e.g., frames) in media segment • Byte range in segments (easy access through HTTP GET) • Accurate presentation duration (seamless switching) • Presence of representation access positions • Provides compact bitrate-over-time to client • Can be used for intelligent request schedule • Generic data structure • Hierarchical structuring for efficient access CS 414 - Spring 2014
Media Segment with Segment Index CS 414 - Spring 2014
DASH Capabilities • Enables live, on-demand and time-shift services • Allows independency of request sizes and segment sizes • Allows segment formats that are • ISO base media formats – ISO BMFF or MPEG-2 TS • ISO BMFF - .. File Format (extensions) • MPEG-2 TS - .. Transport Stream (extensions) • Guidelines for integrating any other format • Codec independent • Supports server/client component synchronization (e.g., separate and multiplexed AV) • Enables targeted ad insertion • Provides definition of quality metrics • Enables content descriptors for protection, accessibility, rating, … CS 414 - Spring 2014
MPEG-DASH Summary Is rich and simple at the same time Supports both un-chunked and chunked Supports both separate and combined AV Index formats for efficient byte range operation ISO base media file format w/common encryption Many useful stream and track annotations Currently – best candidate for open standard for adaptive streaming CS 414 - Spring 2014
Conclusion • Metadata used by DASH and session mobility approach use MPEG-21 international standard • Facilitates MPEG-21 Digital Item • Leverages existing media repositories such as UPnP • One possible implementation of DASH • http://www-itec.uni-klu.ac.at/dash CS 414 - Spring 2014