1. Document editing notes
Documentation: https://dashif.org/DocumentAuthoring/
Example document repository: https://dashif.org/DocumentAuthoring/
Live discussion in #document-authoring on Slack.
Scope Disclaimer
2. Introduction
This document defines DASH-IF’s InterOperability Points (IOPs). The document includes IOPs for only this version of the document. For earlier versions, please refer to version 1 [DASH-IF-IOP1] and version 2 [2] of this document. DASH-IF recommends to deprecate the IOPs in previous versions and deploy using one of the IOPs and extensions in this document.As a historical note, the scope of the initial DASH-AVC/264 IOP, issued with version 1 of this document [1] was the basic support high-quality video distribution over the top. Both live and on-demand services are supported.
In the second version of this document [2], HD video (up to 1080p) extensions and several mul-tichannel audio extensions are defined.
In this third version of the DASH-IF IOP document, two new DASH-264/AVC IOPs are defined. Detailed refinements and improvements for DASH-IF live services and for ad insertion were added in these IOPs. One of these IOP is the superset of the simpler one. Additionally, two cor-responding IOPs are defined to also support HEVC [19]. In both cases, AVC and HEVC, the more advanced IOP adds additional requirements on the DASH client to support segment pars-ing to achieve enhancement of live services. This structuring separates the Media Profiles from DASH features.
In the fourth version, beyond minor improvements, corrections and alignment with MPEG-DASH third edition, the key additions are extensions for next generation audio and UHD/HDR video.
This document defines the IOPs in Table 1 and Extensions in Table 2. The Implementation Guideline’s version in which each IOP or Extension was added is also provided in the tables.
Note that all version 1 IOPs are also defined in version 2 and therefore referencing version [2] is sufficient.
DASH-IF Interoperability Point | Identifier | Version | Reference |
---|---|---|---|
DASH-AVC/264 | http://dashif.org/guidelines/dash264 | 1.0 | [2], 6.3 |
DASH-AVC/264 SD | http://dashif.org/guidelines/dash264#sd | 1.0 | [2], 7.3 |
DASH-AVC/264 HD | http://dashif.org/guidelines/dash264#hd | 2.0 | [2], 8.3 |
DASH-AVC/264 main | http://dashif.org/guidelines/dash264main | 3.0 | 8.2 |
DASH-AVC/264 high | http://dashif.org/guidelines/dash264high | 3.0 | 8.3 |
DASH-IF IOP simple | http://dashif.org/guidelines/dash-if-simple | 3.0 | 8.4 |
DASH-IF IOP main | http://dashif.org/guidelines/dash-if-main | 3.0 | 8.5 |
DASH-IF IOP on-demand | http://dashif.org/guidelines/dash-if-ondemand | 4.3 | 3.10.3 |
DASH-IF IOP mixed on-demand | http://dashif.org/guidelines/dash-if-mixed | 4.3 | 3.10.4 |
Note that all extensions defined in version 2 of this document are carried over into version 3 without any modifications. In order to maintain a single document, referencing in Table 2 is restricted to this document.
Extension | Identifier | Version | Section |
---|---|---|---|
DASH-IF multichannel audio extension with Enhanced AC-3 | http://dashif.org/guidelines/dashif#ec-3 | 2.0 | 9.4.2.3 |
DASH-IF multichannel extension with Dolby TrueHD | http://dashif.org/guidelines/dashif#mlpa | 2.0 | 9.4.2.3 |
DASH-IF multichannel extension with AC-4 | http://dashif.org/guidelines/dashif#ac-4 | 3.1 | 9.4.2.3 |
DASH-IF multichannel audio extension with DTS Digital Surround | http://dashif.org/guidelines/dashif#dtsc | 2.0 | 9.4.3.3 |
DASH-IF multichannel audio extension with DTS-HD High Resolu-tion and DTS-HD Mas-ter Audio | http://dashif.org/guidelines/dashif#dtsh | 2.0 | 9.4.3.3 |
DASH-IF multichannel audio extension with DTS Express | http://dashif.org/guidelines/dashif#dtse | 2.0 | 9.4.3.3 |
DASH-IF multichannel extension with DTS-HD Lossless (no core) | http://dashif.org/guidelines/dashif#dtsl | 2.0 | 9.4.3.3 |
DASH-IF multichannel audio extension with MPEG Surround | http://dashif.org/guidelines/dashif#mps | 2.0 | 9.4.4.3 |
DASH-IF multichannel audio extension with HE-AACv2 level 4 | http://dashif.org/guidelines/dashif#heaac-mc51 | 2.0 | 9.4.5.3 |
DASH-IF multichannel audio extension with HE-AACv2 level 6 | http://dashif.org/guidelines/dashif#heaac-mc71 | 2.0 | 9.4.5.3 |
DASH-IF multichannel audio extension with MPEG-H 3D Audio | http://dashif.org/guidelines/dashif#mpeg-h-3da | 4.2 | 9.4.6.3 |
DASH-IF audio exten-sion with USAC | http://dashif.org/guidelines/dashif#cxha | 4.3 | 9.4.7.3 |
DASH-IF UHD HEVC 4k | http://dashif.org/guidelines/dash-if-uhd#4k | 4.0 | 10.2 |
DASH-IF HEVC HDR PQ10 | http://dashif.org/guidelines/dash-if-uhd#hdr-pq10 | 4.0 | 10.3 |
DASH-IF UHD Dual-Stream (Dolby Vision) | http://dashif.org/guidelines/dash-if-uhd#hdr-pq10 | 4.1 | 10.4 |
DASH-IF VP9 HD | http://dashif.org/guide-lines/dashif#vp9 | 4.1 | 11.3.1 |
DASH-IF VP9 UHD | http://dashif.org/guidelines/dash-if-uhd#vp9 | 4.1 | 11.3.2 |
DASH-IF VP9 HDR | http://dashif.org/guide-lines/dashif#vp9-hdr \n http://dashif.org/guidelines/dash-if-uhd#vp9-hdr | 4.1 | 11.3.3 |
In addition to the Interoperability points in Table 1 and extensions in Table 2, this document also defines several other identifiers and other interoperability values for functional purposes as documented in Table 3.
Identifier | Semantics | Type | Section |
---|---|---|---|
http://dashif.org/identifiers/vast30 | Defines an event for signalling events of VAST3.0 | Event | 5.6 |
http://dashif.org/guidelines/trickmode | Defines a trick mode Adaptation Set. | Functionality | 3.2.9 |
http://dashif.org/guidelines/clearKey | Defines name space for the Laurl element in W3C | Namespace | 7.6.2.4 |
e2719d58-a985-b3c9-781a-b030af78d30e | UUID for W3C Clear Key with DASH | Content Protection | 7.6.2.4 |
http://dashif.org/guidelines/last-segment-number | Signaling last segment number | Functionality | 4.4.3.6 |
http://dashif.org/guidelines/thumbnail_tile | Signalling the availability of the thumbnail tile adaptation set | Functionality | 6.2.6 |
DASH-IF supports these guidelines with test and conformance tools:
-
DASH-IF conformance software is available for use online at http://dashif.org/conformance.html [32]. The software is based on an open-source code. The frontend source code and documentation is available at: https://github.com/Dash-Industry-Forum/Conformance-Software. The backend source code is available at: https://github.com/Dash-Industry-Forum/Conformance-and-reference-source.
-
DASH-IF test assets (features, test cases, test vectors) along with the documentation are available at http://testassets.dashif.org [31].
-
DASH Identifiers for different categories can be found at http://dashif.org/identifiers/ [33]. DASH-IF supporters are encouraged that external identifiers are submitted for doc-umentation there as well. Note also that DASH-IF typically tries to avoid defining iden-tifiers. Identifiers in italics are subject to discussion with other organizations and may be deprecated in a later version.
Technologies included in this document and for which no test and conformance material is provided, are only published as a candidate technology and may be removed if no test material is provided before releasing a new version of this guidelines document.
3. References
See v4.3 references
4. Conventions, Context, Terms and Definitions
4.1. Relation to MPEG-DASH
4.2. Conventions
-
usage of keywords
-
Formats
see v4.3 and bug filed by Sander
4.3. Abbreviations
see v4.34.4. Terms and Definitions
see v4.3 (may be hotlinked in bikeshed, auto generated)5. General DASH Features
5.1. Architecture
-
High-level end-to-end streaming architecture
-
ABR Encoder
-
Encryption
-
File Format Architecture
-
DASH Packager and MPD Generator
-
Origin Server
-
CDN
-
DASH Client
-
DASH access client
-
Selection
-
Download
-
-
Media Pipeline
-
Reference other DASH activities (Ingest, CPIX, SAND, etc.)
(re-use low-latency architecture)
5.2. Formats
(new clause with some usage from clause 3.2.1)5.2.1. MPD
-
General high-level requirements
5.2.2. Segments
-
Segment Formats in DASH
-
Requirements
-
Connect to CMAF and cmf2
5.2.3. Segment Addressing Schemes
-
SegmentTemplate
-
$Number$ and $Time$
-
-
Self-Initializing
-
Single Segment with Segment Index
-
-
Explain why we use different addressing
-
Follows clause 3.5 of https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-addressing
5.3. Protocol Considerations
See clause 3.4 in v4.35.4. Location and Reference Resolution
See clause 3.2.15 in v4.35.5. Client-Server Synchronization
See clause 3.5 and 4.7 in v4.3https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-sync
5.6. Client Reference Model
Refer to dash.js and MSE(new clause) point to CTA WAVE Device Playback
5.7. Media Presentation Data Model
5.7.1. Timing Model
-
Features
-
Content Offering Requirements and Recommendations
-
Client Requirements and Recommendations
See 3.2.7 and document from Sander
https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-period
https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-representation
5.7.2. Content Annotation and Selection
-
Features
-
Content Offering Requirements and Recommendations
-
Client Requirements and Recommendations
See 3.9 and document from Sander
5.7.3. Adaptive Switching
-
Features
-
Content Offering Requirements and Recommendations
-
Client Requirements and Recommendations
(Adaptation Set, segment and subsegment alignment)
https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-segmentalignment
5.7.4. Segment Timing
See clause 4.3 as well as document from Sander 3.5-3.5.4https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-sampletimeline
-
@duration
-
Segment Timeline
-
Segment Index
5.8. Bandwidth Signaling
-
Minbuffertime
-
@bandwidth
-
Segment Index
See clause 3.2.8
5.9. Service Types
See clause 3.6On-Demand Services
-
On-Demand Services
-
MPD Signaling
-
Reference to clause X
-
-
Live Services
-
Content availability, time shift window and presentation delay concepts (Sander’s 3.8-3.9.4)
-
MPD Signaling
-
MPD updates (Sanders 3.8.5)
-
Reference to clause X
-
5.10. Media in DASH
(new clause)5.10.1. Media in one Period
-
Features
-
Content Offering Requirements and Recommendations
-
Client Requirements and Recommendations
-
Text from Sander 3.6
5.10.2. Media Across Periods
-
Features
-
Content Offering Requirements and Recommendations
-
Client Requirements and Recommendations
-
Text from Sander 3.7
5.10.3. Requirements and Recommendation for Media Codecs in DASH
-
General Statements on how to add
-
Capabilities
-
Requirements on what needs to be defined (CMAF relation)
5.11. Events
(new clause)5.12. Remote Elements
(new clause)Text from Sander 3.9
https://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-xlink
5.13. Profiles and Interop
Clause 2.45.14. Examples
Clause 2.46. On-Demand Services
Clause 3.107. Live Services
Clause 4, but reduced as some issues are moved to general clausehttps://dashif-documents.azurewebsites.net//DASH-IF-IOP/pull/210/DASH-IF-IOP.html#timing-dynamic
8. Content Replacement and Ad Insertion
Newly developed in Ad Insertion TF-
Content conditioning and splicing
9. Content Protection and Security
Based on Clause10. Video in DASH
(new clause adding all codecs in IOP)(focusses on very specific issues following the general requirements from clause 4)
10.1. General
10.1.1. MPD and Adaptation Set Signaling
10.1.2. Segment Formats
10.2. H.264/AVC
(add a table with media profiles and reference CMAF) (create a clause with specific issues)10.3. H.265/HEVC
(add a table with media profiles and reference CMAF) (create a clause with specific issues)10.4. VP9
11. Audio in DASH
(new clause adding all codecs in IOP) (focusses on very specific issues following the general requirements from clause 4) test;11.1. General
11.1.1. MPD and Adaptation Set Signaling
11.1.2. Segment Formats
11.2. (Codec 1)
(add a table with media profiles and reference CMAF) (create a clause with specific issues)11.3. (Codec 2)
(add a table with media profiles and reference CMAF) (create a clause with specific issues)12. Subtitles in DASH
(new clause adding all codecs in IOP) (focusses on very specific issues following the general requirements from clause 4)12.1. General
12.1.1. MPD and Adaptation Set Signaling
12.1.2. Segment Formats
12.2. (Codec 1)
(add a table with media profiles and reference CMAF) (create a clause with specific issues)