Dynamic Adaptive Streaming Over HTTP
Total Page:16
File Type:pdf, Size:1020Kb
Date of acceptance Grade Instructor Dynamic Adaptive Streaming over HTTP Dajie Wang Helsinki November 7, 2016 UNIVERSITY OF HELSINKI Department of Computer Science HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet Faculty Laitos Institution Department Faculty of Science Department of Computer Science Tekijä Författare Author Dajie Wang Työn nimi Arbetets titel Title Dynamic Adaptive Streaming over HTTP Oppiaine Läroämne Subject Computer Science Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages November 7, 2016 49 pages + 2 appendices Tiivistelmä Referat Abstract This thesis summarises the adaptive bitrate streaming technology called Dynamic Adaptive Stream- ing over HTTP, also named as MPEG-DASH, as it is developed by the Moving Picture Experts Group. The thesis introduces and summarises MPEG-DASH standard, including the content of the stan- dard, Proles from MPEG and DASH Industry Forum, and an evaluation of the standard. The thesis then analyses the MPEG-DASH system and provides related research papers. It is organized into three dierent parts based on the workow of the whole system, including the hosted Media Presentation Description le and video Segments in server, network infrastructures and DASH clients. In the end, the thesis discusses about the adoptions of the MPEG-DASH system in dierent indus- tries, including Broadband, Broadcast, Mobile and 3D. ACM Computing Classication System (CCS): Avainsanat Nyckelord Keywords dash, streaming, mpeg Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information ii Contents 1 Introduction 1 2 MPEG-DASH Standard 3 2.1 The ISO/IEC 23009-1 Standard . 3 2.1.1 Format of MPD le . 4 2.1.2 Format of Segment . 6 2.2 MPEG-DASH Proles . 7 2.3 DASH-IF Guidelines . 8 2.4 MPEG-DASH Evaluation . 8 3 MPD and Segments 10 3.1 MPEG-DASH MPD . 10 3.2 MPEG-DASH and Codecs . 11 3.2.1 H.264 AVC and H.264 SVC . 11 3.2.2 HEVC . 14 3.2.3 VP9 and AV1 . 14 3.3 Container Format and MPEG-DASH . 16 3.3.1 PS and TS . 17 3.3.2 ISO base media le format . 18 3.3.3 WebM . 19 3.3.4 Container Format Related Papers . 19 3.4 Segment length . 20 4 HTTP and Network Infrastructure 21 4.1 HTTP . 21 4.2 Cache . 24 5 MPEG-DASH Client 27 5.1 MPEG-DASH Client Implementations . 28 iii 5.1.1 VLC plugin by ITEC in University of Klagenfurt . 28 5.1.2 Libdash and Bitdash by bitMovin . 28 5.1.3 GPAC . 28 5.2 MPEG-DASH on Web . 29 5.2.1 HTML5 Media Source . 30 5.2.2 Media Source Extensions . 31 5.2.3 DASH Supported Browsers . 32 5.2.4 Web DASH Implementation . 32 5.2.5 Encrypted Media Extensions . 34 5.3 Measurement Matrix . 35 5.4 ABR Logic . 36 6 MPEG-DASH Adoption 38 6.1 MPEG-DASH on Broadband . 38 6.2 MPEG-DASH on Broadcast . 39 6.2.1 HbbTV MPEG-DASH Proles . 40 6.2.2 DVB DASH prole . 40 6.3 MPEG-DASH on Mobile . 41 6.4 MPEH-DASH and 3D . 42 7 Conclusion 44 References 46 Appendices 1 Organizations 2 Terms 1 1 Introduction Nowadays, video consumption accounts for the majority of the network trac. Over- the-top content (OTT) services such as YouTube, Vimeo, Dailymotion, Netix, etc. are growing fast, social networking sharing services such as Facebook are popular for sharing pictures and videos, traditional broadcasting companies are starting to provide IPTV services along with their traditional broadcasting, smart mobile devices, wearable devices and connected smart TVs are booming, high data speed mobile networks like LTE and 4G are being adopted, all those indicate an continuing increase in video streaming trac. The demands request new and more ecient video streaming technologies for content delivery. Streaming technologies are always evolving, throughout the online video streaming history, there are dierent technologies applied for streaming. Traditional Streaming technology uses protocols such as Real Time Streaming Pro- tocol(RTSP) on top of UDP transport layer. Its encoding needs to be at a data rate below the most user's connection bandwidth. And it needs a specialized and independent streaming server other than existing web infrastructures, as a result it cannot take advantage of existing HTTP servers and cache systems. Downloading a video le through HTTP or FPT protocol is a quite old way to get media le, users have to wait for the video les to be downloaded before starting to play. And If the le size is huge and network is not so fast, it takes very long time to nish. P2P technologies such as BitTorrent switch the le sharing mode from Server/Client to Peer-to-peer, it releases the load of servers and enables faster sharing of media les. For HTTP download, because the media meta data is located at the end of the le, the player needs to read it before starting to play. Then HTTP progressive downloading technology is introduced by moving the meta data from the end of the le to the front, players can start to play even the video is not fully downloaded, if there is not enough data in buer, then the playback will pause and needs more data to be downloaded. The encoding of the media le is at a xed rate. To adapt to any change in user's network and playback condition to provide best- possible user experience, adaptive rate streaming appears for adaptive media deliv- ery. It was rst introduced by Move Networks. The basic idea is as follows: The video content is split into chunk-based Segment sequence, and they are provided at dierent bit rate resulting in dierent quality levels. During streaming, the client 2 should deicide which quality level Segment to download next. It reuses existing web infrastructure and makes deployment easy. In the beginning, there are several main dierent adaptive rate streaming solutions in the market, such as Microsoft's Smooth Steaming[Mic16], Apple's HTTP Live Streaming[App16] and Adobe's HTTP Dynamic Streaming[Ado16]. Diversity of those solutions with their own proprietary protocols and video le formats, such as Windows Media, ReadMedia, QuickTime, MPEG and Adobe Flash, brings prob- lems to content providers and distributors. As in a global market, producers and consumers demand the interoperability of products and services. In order to come to a standard, MPEG leads the Dynamic Adaptive Streaming over HTTP(DASH). It follows the chunk-based, client-centric, pull-based streaming solution same as those industry solutions. While MPEG-DASH specication is in verge of completion, there are already several implementations, such as [Bit16], [Gpa16] and DASH VLC plugin [ChC11]. With the introduce of HTMLVideoElement in HTML5 and Media Source Extensions APIs, it provides the possibility to implement a pure Javascript client, such as [Das16] developed by DASH Industry Forum. The thesis is structured as follows: Chapter 2 summarizes the MPEG-DASH stan- dard and provides an evaluation on the standard. Chapter 3 focuses on the research on the MPD and Segments. Chapter 4 discusses how MPEG-DASH system could improve from network and HTTP protocol perspective. Chapter 5 introduces dier- ent implementations of MPEG-DASH, especially on web based DASH client. And it also includes the measurement and switching logic at client side. Within Chapter 6 , it discusses the MPEG-DASH employment in Broadcast and Mobile industry, and also compares it with 3D object delivery. 3 2 MPEG-DASH Standard Before standardization, the adaptive rate steaming industry is dominated by three comparable but incompatible technologies, they are Microsoft's Smooth Steaming, Apple's HTTP Live Streaming and Adobe's HTTP Dynamic Streaming. Because dierent clients and dierent devices support dierent solutions, in order to reach as many customers as possible, content or streaming service providers need to deploy more than one system, as a result it increases the amount of investment, the times for encoding and diculty of management. MPEG-DASH starts to standardize a single open standard from 2010 to solve the problems brought by separated incom- patible proprietary solutions. The development timeline of MPEG-DASH is shown in Table 1. Time Standard Name January 2011 Draft International Standard April 2012 First Edition, ISO/IEC 23009-1:2012 May 2014 Second Edition, ISO/IEC 23009-1:2014 Table 1: Timeline of MPEG-DASH standard In the following parts, this chapter summarises the content of the standard [ISO23009] and mentions the Proles from MPEG and MPEG-IF, and provides an evaluation of MPEG-DASH by Bitmovin. 2.1 The ISO/IEC 23009-1 Standard The Figure 1 shows the example structure of the MPEG-DASH system. The end-to-end workow of the whole MPEG-DASH system comprises dierent parts, including components of content generation, content hosting, content deliv- ery and content consumption. The standard [ISO23009] doesn't dene every compo- nents in the system, it mainly focuses on the formats of MPEG-DASH related les. They are listed in dashed line rectangle in Figure 1, one is the Media Description Presentation(MPD) le, and the other one is the Segments. The MPD le is a meta data le including all the information necessary for the client side for requesting video Segments, the Segments are the real video contents the clients request and consume. 4 Figure 1: Example MPEG-DASH system, source: [ISO23009] 2.1.1 Format of MPD le Media Presentation Description is an XML document which contains all the nec- essary information for the client. MPEG-DASH client constructs HTTP-URLs to fetch Segments based on the information provided in MPD le. Those information includes URLs of video Segments, their relationships and other necessary informa- tion to enable client side to choose best one among them.