1、Information technology Dynamic adaptive streaming over HTTP (DASH) Part 3: Implementation guidelines Technologies de linformation Diffusion en flux adaptatif dynamique sur HTTP (DASH) Partie 3: Lignes directrices de mise en oeuvre TECHNICAL REPORT ISO/IEC TR 23009-3 Second edition 2015-10-15 Referen
2、ce number ISO/IEC TR 23009-3:2015(E) ISO/IEC 2015 ii ISO/IEC 2015 All rights reserved COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2015, Published in Switzerland All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means,
3、electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISOs member body in the country of the requester. ISO copyright office Ch. de Blandonnet 8 CP 401 CH-1214
4、 Vernier, Geneva, Switzerland Tel. +41 22 749 01 11 Fax +41 22 749 09 47 copyrightiso.org www.iso.org ISO/IEC TR 23009-3:2015(E) ISO/IEC TR 23009-3:2015(E)Foreword v Introduction vi 1 Scope . 1 2 Normative references 1 3 T erms, definitions, and abbr e viat ed t erms . 1 4 General 2 4.1 System overv
5、iew 2 4.2 Normative parts . 2 4.3 Main design principles . 3 4.3.1 Common timeline 3 4.3.2 Data model 3 4.3.3 Segments . 4 4.3.4 Segment types 5 4.3.5 Segment addressing schemes . 5 4.3.6 Stream access points 6 4.3.7 Remote elements . 6 4.3.8 Events 7 4.3.9 General-purpose descriptors 7 4.4 Backgrou
6、nd on DASH profile concept . 8 4.5 Dynamic aspects 8 5 Guidelines for content generation 10 5.1 General guidelines.10 5.1.1 Video content generation 10 5.1.2 Audio content generation 12 5.1.3 Content preparation for live streaming .14 5.1.4 Guidelines for generation of segment file names .14 5.2 Gui
7、delines for ISO-BMFF content generation 17 5.2.1 On-demand streaming .17 5.2.2 Live streaming .21 5.2.3 Enabling trick modes 23 5.2.4 Support for SubRepresentations .24 5.2.5 Enabling delivery format to storage file format conversion26 5.3 Guidelines for MPEG-2 TS content generation .30 5.3.1 Genera
8、l recommendations .30 5.3.2 Live streaming .31 5.3.3 On demand streaming 32 5.4 Guidelines for Advertisement Insertion .33 5.4.1 Use cases 33 5.4.2 Architectures and workflows .34 5.4.3 App-driven ad insertion36 5.5 DASH MPD and Segment-based Live Service Offering .37 5.5.1 Preliminaries 37 5.5.2 Se
9、rvice Offering Requirements and Guidelines38 5.5.3 Client requirements and guidelines .41 5.6 Guidelines for low latency live service 43 5.6.1 Use case.43 5.6.2 General Approach: Chunked transfer43 5.6.3 MPD generation .43 6 Client implementation guidelines .44 6.1 General 44 6.2 Client architecture
10、 overview 44 6.3 Example of client operation 45 ISO/IEC 2015 All rights reserved iii Contents Page ISO/IEC TR 23009-3:2015(E)6.4 Timing model for live streaming 45 6.4.1 General.45 6.4.2 MPD information 45 6.4.3 MPD times .46 6.4.4 Context derivation .46 6.4.5 Derivation of MPD times 47 6.4.6 Addres
11、sing methods 47 6.4.7 Scheduling playout 48 6.4.8 Validity of MPD .48 6.5 MPD retrieval.48 6.6 Segment list generation 49 6.6.1 General.49 6.6.2 Template-based generation of segment list 50 6.6.3 Playlist-based generation of segment list .51 6.6.4 Media segment list restrictions 51 6.7 Rate adaptati
12、on .52 6.8 Seeking 53 6.9 Support for trick modes .53 6.10 Stream switching 54 6.11 Client support for dependent representations 54 6.11.1 General.54 6.11.2 Client trick-mode support using SubRepresentations .55 6.12 Events .55 6.12.1 General processing 56 6.12.2 Inband events 56 7 Extending DASH 56
13、 7.1 Extension of MPD Schema in external namespace .56 7.1.1 General.56 7.1.2 Example 56 Bibliogr aph y .58 iv ISO/IEC 2015 All rights reserved ISO/IEC TR 23009-3:2015(E) Foreword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form th
14、e specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC techn
15、ical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. Th
16、e procedures used to develop this document and those intended for its further maintenance are described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the different types of document should be noted. This document was drafted in accordance with the editor
17、ial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives). Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details of any pate
18、nt rights identified during the development of the document will be in the Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents). Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement. For
19、 an explanation on the meaning of ISO specific terms and expressions related to conformity assessment, as well as information about ISOs adherence to the WTO principles in the Technical Barriers to Trade (TBT) see the following URL: Foreword - Supplementary information The committee responsible for
20、this document is ISO/IEC JTC 1, Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information. This second edition cancels and replaces the first edition (ISO/IEC TR 23009-3:2015), which has been technically revised. It also incorporates new features fro
21、m ISO/IEC 23009-1:2014/Amd 1:2015 and ISO/IEC 23009- 1:2014/Cor 1:2015. ISO/IEC TR 23009 consists of the following parts, under the general title Information technology Dynamic adaptive streaming over HTTP (DASH): Part 1: Media presentation description and segment formats Part 2: Conformance and ref
22、erence software Part 3: Implementation guidelines Part 4: Segment encryption and authentication ISO/IEC 2015 All rights reserved v ISO/IEC TR 23009-3:2015(E) Introduction This part of ISO/IEC TR 23009 provides guidelines for implementation and deployment of streaming media delivery systems based on
23、the ISO/IEC 23009 series. These guidelines include the following: guidelines for streaming content generation; guidelines for implementation of streaming clients; guidelines for deployment of systems designed based on the ISO/IEC 23009 series.vi ISO/IEC 2015 All rights reserved Information technolog
24、y Dynamic adaptive streaming over HTTP (DASH) Part 3: Implementation guidelines 1 Scope This part of ISO/IEC TR 23009 provides technical guidelines for implementing and deploying systems based on ISO/IEC 23009-1. 2 Normative references The following documents, in whole or in part, are normatively re
25、ferenced in this document and are indispensable for its application. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ISO/IEC 13818-1, Information technology Generic coding of moving pictur
26、es and associated audio information Part 1: Systems ISO/IEC 13818-2, Information technology Generic coding of moving pictures and associated audio information Part 2: Video ISO/IEC 14496-2, Information technology Coding of audio-visual objects Part 2: Visual ISO/IEC 14496-3, Information technology C
27、oding of audio-visual objects Part 3: Audio ISO/IEC 23003-1, Information technology MPEG audio technologies Part 1: MPEG Surround ISO/IEC 23003-3, Information technology MPEG audio technologies Part 3: Unified speech and audio coding ISO/IEC 23009-1, Information technology Dynamic adaptive streaming
28、 over HTTP (DASH) Part 1: Media presentation description and segment formats ITU-T Rec. H.264 | ISO/IEC 14496-10, Information technology Coding of audio-visual objects Part 10: Advanced Video Coding ITU-T Rec. H.265 | ISO/IEC 23008-2, Information technology High efficiency coding and media delivery
29、in heterogeneous environments Part 2: High efficiency video coding 3 T erms, d efinitions , and abbr e viat ed t erms For the purposes of this document, the terms and definitions given in ISO/IEC 23009-1; the video coding terms defined in ISO/IEC 13818-2, ISO/IEC 14496-2, ITU-T Rec. H.264 | ISO/IEC
30、14496-10 and ITU-T Rec. H.265 | ISO/IEC 23008-2; and the audio coding terms defined in ISO/IEC 13818-1, ISO/IEC 14496-3, ISO/IEC 23003-1 and ISO/IEC 23003-3 apply. TECHNICAL REPORT ISO/IEC TR 23009-3:2015(E) ISO/IEC 2015 All rights reserved 1 ISO/IEC TR 23009-3:2015(E) 4 General 4.1 System overview
31、Figure 1 shows a typical deployment scenario for Dynamic Adaptive Streaming over HTTP (DASH). The media encoding process generates segments containing different encoded versions of one or several of the media components of the media content. Each segment contains streams required for decoding and di
32、splaying a time interval of the content. The segments are then hosted on one or several media origin servers along with a Media Presentation Description (MPD) file. The media origin server may be a plain HTTP server conforming to RFC2616. The MPD information provides instructions on the location of
33、segments as well as the timing and relation of the segments, i.e. how they form a media presentation. Based on this information in MPD, a DASH streaming client requests the segments using HTTP GET or partial GET methods. The client fully controls the streaming session, i.e. it manages the on-time re
34、quest and smooth playback of the sequence of segments, potentially adjusting bitrates or other attributes, e.g. to react to changes of the device state or the user preferences. As long as the MPD provides RESTful HTTP-URIs for the Segment locations, the HTTP-based delivery infrastructure may be kept
35、 unaware of the actual data that is delivered. This feature permits the reuse of existing HTTP caches and Content Distribution Networks (CDNs) for massively scalable Internet media distribution. F i g u r e 1 E x a m p l e o f D A S H - b a s e d m e d i a d i s t r i b u t i o n a r c h i t e c t u
36、 r e 4.2 Normative parts The ISO/IEC 23009 specification serves as an enabler for Dynamic Adaptive streaming over HTTP. It does not specify a full end-to-end service, but rather base building blocks to enable efficient and high- quality streaming services over the Internet. Specifically, ISO/IEC 230
37、09-1 defines two formats as shown in Figure 2. The Media Presentation Description (MPD) describes a Media Presentation, i.e. a bounded or unbounded presentation of media content. In particular, it defines formats to announce resource identifiers for Segments as HTTP-URLs and to provide the context f
38、or these identified resources within a Media Presentation. The Segment format specifying the format of the entity body of an HTTP response to an HTTP GET request or a partial HTTP GET, with the indicated byte range through HTTP/1.1 as defined in RFC 2616, to a resource identified in the MPD.2 ISO/IE
39、C 2015 All rights reserved ISO/IEC TR 23009-3:2015(E) Figure 2 Standardized aspects in DASH NOTE Normative components are marked in red. Other aspects, such as client implementations of control and media engines, are not defined as normative parts of the ISO/IEC 23009 specification. 4.3 Main design
40、principles 4.3.1 Common timeline ISO/IEC 23009 requires encoded versions of media content components (e.g. video, audio) to have a common timeline. The presentation time of access units within the media content is mapped to a global common presentation timeline, referred to as Media Presentation Tim
41、eline. This allows synchronization of different media components and enables seamless switching between different encoded versions of media content. 4.3.2 Data model In ISO/IEC 23009, the organization of a multimedia presentation is based on a hierarchical data model shown in Figure 3. Figure 3 DASH
42、 hierarchical data model ISO/IEC 2015 All rights reserved 3 ISO/IEC TR 23009-3:2015(E) This model consists of the following elements. Media Presentation Description (MPD): Describes the sequence of Periods that make up a DASH Media Presentation. Period: Interval of the Media Presentation, where a co
43、ntiguous sequence of all Periods constitutes the Media Presentation. Adaptation Set: Represents a set of interchangeable encoded versions of one or several media content components. For example, there may be an Adaptation Set for video, one for primary audio, one for secondary audio, and one for cap
44、tions. Adaptation Sets may also be multiplexed, in which case, interchangeable versions of the multiplex may be described as a single Adaptation Set. For example, an Adaptation Set may contain both video and main audio for a Period. Representation: Describes a deliverable encoded version of one or s
45、everal media content components. Any single Representation within an Adaptation Set should be sufficient to render the contained media content components. Clients may switch from Representation to Representation within an Adaptation Set in order to adapt to network conditions or other factors. Segme
46、nt: Content within a Representation may be further divided in time into Segments of fixed or variable length. Each segment is referenced in the MPD by means of a URL. Thus, a Segment defines the largest data unit that can be accessed by means of a single HTTP request. 4.3.3 Segments Segments contain
47、 encoded chunks of media components. They may also include information on how to map the media segments into the media presentation timeline for switching and synchronous presentation with other Representations. 4.3.3.1 S egment a v ailability timeline The Segment Availability Timeline is used to si
48、gnal clients the availability time of segments at the specified HTTP URLs. These times are provided in wall-clock times. Before accessing the Segments at the specified HTTP URL, clients compare the wall-clock time to Segment availability times. For on-demand content, the availability times of all Se
49、gments are identical. All Segments of the Media Presentation are available on the server once any Segment is available. Thus, the MPD is a static document. For live content, the availability times of Segments depend on the position of the Segment in the Media Presentation Timeline. Segments become available with time as the content is produced. Thus, the MPD is updated periodically to reflect changes in the presentation over time. F