320 likes | 523 Views
CS 414 – Multimedia Systems Design Lecture 27 – DASH (Dynamic Adaptive Streaming over HTTP). Klara Nahrstedt Spring 2012. Administrative. MP2 posted MP2 Deadline – April 7, Saturday, 5pm. Internet Multimedia Protocol Stack. Media encaps (H.264, MPEG-4). Synchronization Service. DASH.
E N D
CS 414 – Multimedia Systems DesignLecture 27 – DASH (Dynamic Adaptive Streaming over HTTP) Klara Nahrstedt Spring 2012 CS 414 - Spring 2012
Administrative MP2 posted MP2 Deadline – April 7, Saturday, 5pm. CS 414 - Spring 2012
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 2012
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 2012
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 2012
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 2012
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.
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
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 2012
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 2012
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 2012
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)
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 2012 Source: MMSys’11
Media Presentation Data Model MDP - description of accessible segments and corresponding timing Source: Stockhammer, Qualcomm, “DASH – Design Principles and Standards , Presentation at MMSys 2011
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 2012
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 2012
Media Segments (2) CS 414 - Spring 2012
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 2012
Media Segment with Segment Index Source: Stockhammer, Qualcomm, “DASH – Design Principles and Standards , Presentation at MMSys 2011
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 2012
Composition of Media Presentation (CMP) Consider layer on top of MDP which specifies initial user and device options • Reasons: • Size of MPD expands very quickly (different camera views/angles, subtitles, audio languages, …) • Device pre-configuration (codec, resolution…) • User pre-configuration due to her preferences (camera angle, subtitle, …) • Flexibility and compatibility with existing repository formats CS 414 - Spring 2012
CMP Protocol Sequence • At Client Request CMP from • Server • Once CMP received, check and • Configure CMP at client if needed • (3) Request for MDP that fulfills • Requirements • (4) Start standard DASH complaint • steps CS 414 - Spring 2012 Source: Muller et al, MMSys’11
DASH featuring Session Mobility (Problem Description) Problem: User runs DASH streaming session on laptop and decides to switch to Another mobile device CS 414 - Spring 2012 Source: Muller et al, MMSys’11
Session Mobility Protocol • Initiate session transfer • Digital Item Adaptation (DIA) • Starts and preserves current • state of Digital Item (segment) • (3) Transfer Context digital item • To selected device • (4) Download CMP • (5) Reconfigure device • (6) Continue with • DASH-compatible protocol CS 414 - Spring 2012 Source: Muller et al. MMSys 2011
Adaptive streaming in practice CS 414 - Spring 2012 Source: Watson, MMSys’11
Adaptive streaming in practice CS 414 - Spring 2012
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 2012
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 2012