1、 Reference numberISO/IEC 23009-2:2014(E)ISO/IEC 2014INTERNATIONAL STANDARD ISO/IEC23009-2First edition2014-05-15Information technology Dynamic adaptive streaming over HTTP (DASH) Part 2: Conformance and reference software Technologies de linformation Diffusion en flux adaptatif dynamique sur HTTP (D
2、ASH) Partie 2: Conformit et logiciel de rfrence ISO/IEC 23009-2:2014(E) COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2014 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including phot
3、ocopying, 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 Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 0
4、9 47 E-mail copyrightiso.org Web www.iso.org Published in Switzerland ii ISO/IEC 2014 All rights reservedISO/IEC 23009-2:2014(E) ISO/IEC 2014 All rights reserved iiiContents Foreword . iv Introduction . v 1 Scope 1 2 Normative references 1 3 Terms, definitions, symbols and abbreviated terms . 1 3.1
5、Terms and definitions . 1 3.2 Symbols and abbreviated terms 1 4 Media presentation conformance 1 4.1 Overview . 1 4.2 Software Tools . 2 5 MPD conformance . 2 5.1 General 2 5.2 Static MPD conformance 3 6 Segment conformance 4 6.1 Overview . 4 6.2 Representation conformance . 4 6.2.1 ISO base media f
6、ile format 4 6.2.2 MPEG-2 transport stream . 7 6.3 Adaptation set conformance 11 6.3.1 ISO base media file format 11 6.3.2 MPEG-2 Transport Stream 12 6.4 Dynamic media presentation conformance 13 7 Profile specific conformance 13 7.1 ISO base media file format on demand profile . 13 7.2 ISO base med
7、ia file format live profile 14 7.3 ISO base media file format main profile 14 7.4 MPEG-2 transport stream simple profile . 14 8 Conforming test vectors . 15 Annex A (normative) MPD conformance checking 16 A.1 Introduction 16 A.2 Step 1: XLink Resolver 16 A.3 Step 2: XML Validator 17 A.4 Step 3: Sche
8、matron Validator . 18 Annex B (normative) Test Vectors . 51 Annex C (normative) DASH access engine reference software . 53 C.1 Introduction 53 C.2 libdash overview 53 C.3 libdash-enabled example system (informative) 53 C.4 libdash availability . 54 Annex D (informative) Sample Software . 55 D.1 Intr
9、oduction 55 D.2 Sample Clients . 55 D.3 Sample Segmenter 56 Annex E (informative) Dynamic Media Presentation Emulator . 58 E.1 Introduction 58 E.2 Usage 58 E.3 Availability 58 ISO/IEC 23009-2:2014(E) iv ISO/IEC 2014 All rights reservedForeword ISO (the International Organization for Standardization)
10、 and IEC (the International Electrotechnical Commission) form the 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
11、 with particular fields of technical activity. ISO and IEC technical 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
12、 have established a joint technical committee, ISO/IEC JTC 1. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the j
13、oint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent righ
14、ts. ISO and IEC shall not be held responsible for identifying any or all such patent rights. ISO/IEC 23009-2 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information. ISO/IEC 23009 consists of
15、 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 reference software Part 3: Implementation guidelines Technical Report Part 4: Segment encryption and au
16、thentication ISO/IEC 23009-2:2014(E) ISO/IEC 2014 All rights reserved vIntroduction This part of ISO/IEC 23009 specifies the conformance and reference software. The conformance and reference software of ISO/IEC 23009 serves three main purposes: validation of the written specification of the several
17、parts of ISO/IEC 23009; clarification of the written specification of the several parts of ISO/IEC 23009; and conformance testing for checking interoperability for the various applications against the reference software which aims to be compliant with ISO/IEC 23009. INTERNATIONAL STANDARD ISO/IEC 23
18、009-2:2014(E) ISO/IEC 2014 All rights reserved 1Information technology Dynamic adaptive streaming over HTTP (DASH) Part 2: Conformance and reference software 1 Scope This part of ISO/IEC 23009 specifies the conformance and reference software implementing the normative clauses of all parts of ISO/IEC
19、 23009. That is, test vectors comprising Media Presentation Descriptions, Segments, and combinations thereof that conform or do not conform to the normative clauses of the other parts of ISO/IEC 23009 and corresponding software modules. 2 Normative references The following documents, in whole or in
20、part, are normatively referenced 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) shall apply. ISO/IEC 19757-3, Information technology Doc
21、ument Schema Definition Languages (DSDL) Part 3: Rule-based validation Schematron ISO/IEC 23009-1, Information technology Dynamic adaptive streaming over HTTP (DASH) Part 1: Media presentation description and segment formats W3C XLINK, XML Linking Language (XLink) Version 1.1, W3C Recommendation 06,
22、 May 2010 W3C XML, Extensible Markup Language (XML) 1.1 (Second Edition), W3C Recommendation 16, August 2006, edited in place 29 September 2006 W3C XML SCHEMA, XML Schema Definition Language (XSD) 3 Terms, definitions, symbols and abbreviated terms 3.1 Terms and definitions For the purpose of this d
23、ocument, the terms and definitions given in ISO/IEC 23009-1 apply. 3.2 Symbols and abbreviated terms For the purposes of this document, the symbols and abbreviated terms given in ISO/IEC 23009-1 apply. 4 Media presentation conformance 4.1 Overview A Media Presentation conforming to ISO/IEC 23009-1 o
24、beys the rules for the Media Presentation Description (MPD), and the Segments referenced within the MPD. To verify the conformance of a Media Presentation, the following steps need to be completed: ISO/IEC 23009-2:2014(E) 2 ISO/IEC 2014 All rights reserved The conformance of the MPD as according to
25、5. The conformance of the Segments which includes the conformance of individual Segments and Representations as well as the conformance of Representations that are jointly provided in Adaptation Sets and Periods. For details refer to 6. The process of MPD and segment conformance checking is shown in
26、 Figure 1. Figure 1 MPD and segment validation MPD + Segment Validator: gets as an input the MPD and segments referenced from within the MPD and performs the MPD and segment validation according to the rules defined in annex B. On success, the output is an OK report, otherwise an error message is pr
27、ovided. 4.2 Software Tools The following software tools are included MPD conformance software ISO BMFF Segment Validation MPEG-2 TS Segment Validation Conformance Software for Dynamic Services (missing) All software tools are available at http:/standards.iso.org/ittf/PubliclyAvailableStandardsISO_IE
28、C_23009-2/ 5 MPD conformance 5.1 General This clause specifies the MPD conformance checking and corresponding software modules which comprises three steps as depicted in Figure 2. Detailed means to perform MPD conformance checking are provided in annex A. ISO/IEC 23009-2:2014(E) ISO/IEC 2014 All rig
29、hts reserved 3Figure 2 MPD conformance checking Step 1 (XLink Resolver): gets as an input a MPD document and resolves all W3C XLINK attributes as defined in ISO/IEC 23009-1. In case an error occurs, the corresponding error message shall be provided; otherwise the XLink resolved MPD document is provi
30、ded. The details for this step of MPD conformance checking are defined in A.2. Step 2 (XML Validator): gets as an input an XLink resolved MPD document and performs the XML validation (i.e., well-formed and valid) against the MPD schema as defined in W3C XML and W3C XML SCHEMA. In case an error occur
31、s, the corresponding error message shall be provided, otherwise the XLink resolved and schema validated MPD document is provided. The details for this step of MPD conformance checking are defined in A.3. Step 3 (Schematron Validator): gets as an input a XLink resolved and schema validated MPD docume
32、nt and performs the Schematron validation as defined in ISO/IEC 19747-3 according to the rules defined in A.4.2. In case an error occurs, the corresponding error message shall be provided, otherwise the XLink resolved, schema validated, and Schematron validated MPD document is provided. The details
33、for this step of MPD conformance checking are defined in A.4 For validating a MPD document with the chain depicted in Figure 2 the following command may be used which requires Ant 2. ant run Dinput=“filetovalidate.mpd“ The program outputs for each step a message. If an error occurs during one step t
34、he following steps are not executed. 5.2 Static MPD conformance An MPD with MPDtype=“static“ shall comply with the rules in 5.1. In addition, the availability of all resources in the MPD during the MPDavailabilityStartTime and the MPDavailabilityEndTime shall be checked. A function remoteFileExists(
35、$url) may be executed for each segment that is documented in the MPD. The function shall return true for all Segments in the MPD during the time interval of MPDavailabilityStartTime and the MPDavailabilityEndTime. The following snippet shows an example for the remoteFileExists function written in PH
36、P. ISO/IEC 23009-2:2014(E) 4 ISO/IEC 2014 All rights reservedfunction remoteFileExists($url) $curl = curl_init($url); /dont fetch the actual page, you only want to check the connection is ok curl_setopt($curl, CURLOPT_NOBODY, true); /do request $result = curl_exec($curl); $ret = false; /if request d
37、id not fail if ($result != false) /if request was ok, check response code $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($statusCode = 200) $ret = true; curl_close($curl); return $ret; 6 Segment conformance 6.1 Overview Segment conformance verifies that the segments offered in the MPD co
38、nform to the DASH specification. This includes the conformance Segments offered within one Representation. For details refer to 6.2. Representations offered within one Adaptation Set. For details refer to 6.3. Adaptation Sets offered within one Period. For details refer to 6.4. Segments offered in a
39、 dynamic Media Pr esentation. For details refer to 6.5. 6.2 Representation conformance 6.2.1 ISO base media file format The Representation conformance rules as well as the implementation of the conformance rules for ISO base media file format based segments are provided in Table 1. ISO/IEC 23009-2:2
40、014(E) ISO/IEC 2014 All rights reserved 5Table 1 Representation conformance rules for ISO base media file format Clause in 23009-1 Rule Conformance Check Implementation 1 6.1 Media Segment formats shall comply with the respective container formats (ISO BMFF and MPEG-2 TS). This should be verifiable
41、by the respective conformance software. Implemented 2 6.2.1 The Initialization Segment shall not contain any media data with an assigned presentation time Implemented 3 6.2.1 A Media Segment shall contain a number of complete access units. Implemented 4 6.2.1 If it is the first Media Segment in the
42、Representation, it shall contain only media streams that start with a SAP of type 1 or 2. Implemented 5 6.2.1 A Media Segment shall contain sufficient information to time-accurately present each contained media component in the Representation without accessing any previous Media Segment in this Repr
43、esentation provided that the Media Segment contains a SAP for each media stream (not verifiable on container level). Implemented 6 6.2.3.2 A Media Segment shall specify all Media Presentation times relative to the start of the Period and compensated with the value of the presentationTimeOffset. The
44、presentation time in Media Segments shall be accurate to ensure accurate alignment of all Representations in one Period. i) earliest_presentation_time shall be equal to the sum of all temporally preceding subsegments in the representation. ii) The duration of a subsegment indexed by an sidx shall be
45、 equal to the sum of the durations of all the subsegments it indices. Implemented 7 6.3.2.1 A media data box containing data referenced by a movie fragment (moof) box shall follow that movie fragment box and precede the next movie fragment box, if any, containing information about the same track. Im
46、plemented 8 6.3.2.1 For a Media Subsegment, the value of the reference_type field in the describing Segment Index (sidx) box shall be set to 0. Implemented 9 6.3.2.3 If the Segment Index is provided the Segment Index (sidx) box in ISO/IEC 14496-12 shall be used. Implemented ISO/IEC 23009-2:2014(E) 6
47、 ISO/IEC 2014 All rights reservedClause in 23009-1 Rule Conformance Check Implementation 10 6.3.2.4 If the Subsegment Index is provided the Subsegment Index (ssix) box in ISO/IEC 14496-12 shall be used. Implemented 11 6.3.3 The Initialization Segment shall contain an “ftyp” box, and a “moov” box. Im
48、plemented 12 6.3.3 It shall not contain any “moof” boxes. Implemented 13 6.3.3 The tracks in the “moov” box shall contain no samples (i.e. the entry_count in the “stts”, “stsc”, and “stco” boxes shall be set to 0). Implemented 14 6.3.3 The “mvex” box shall be contained in the “moov” box. The “mvex”
49、box also sets default values for the tracks and samples of the following movie fragments. Implemented 15 6.3.4.2 styp box, if present, shall carry msdh as a compatible brand. Implemented 16 6.3.4.2 Each Media Segment shall contain one or more whole self-contained movie fragments. A whole, self-contained movie fragment is a movie fragment (moof) box and a media data (mdat) box that contains all the media samples that do not use exte