- From: CVS User spfeiffe <cvsmail@w3.org>
- Date: Wed, 15 Oct 2014 12:06:44 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/html-sourcing-inband-tracks In directory roscoe:/tmp/cvs-serv28048 Modified Files: Overview.html Log Message: Sync HTML sourcing inband tracks spec with Git commit acde9340cf56e7ac940371c311134f6047a0d5dc --- /sources/public/html5/html-sourcing-inband-tracks/Overview.html 2014/08/23 10:44:34 1.7 +++ /sources/public/html5/html-sourcing-inband-tracks/Overview.html 2014/10/15 12:06:44 1.8 @@ -197,13 +197,15 @@ </style><link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/w3c-unofficial"><!--[if lt IE 9]><script src='https://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]--></head> - <body class="h-entry" role="document" id="respecDocument"><div class="head" role="contentinfo" id="respecHeader"> + <body style="" class="h-entry" role="document" id="respecDocument"><div class="head" role="contentinfo" id="respecHeader"> <p> - + + + </p> <h1 class="title p-name" id="title" property="dcterms:title">Sourcing In-band Media Resource Tracks from Media Containers into HTML</h1> - <h2 property="dcterms:issued" datatype="xsd:dateTime" content="2014-08-23T00:42:09.000Z" id="unofficial-draft-23-august-2014">Unofficial Draft <time class="dt-published" datetime="2014-08-23">23 August 2014</time></h2> + <h2 property="dcterms:issued" datatype="xsd:dateTime" content="2014-10-15T01:03:04.000Z" id="unofficial-draft-15-october-2014">Unofficial Draft <time class="dt-published" datetime="2014-10-15">15 October 2014</time></h2> <dl> @@ -241,14 +243,14 @@ <hr> </div> - <section id="abstract" class="introductory" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:Chapter"><h2 aria-level="1" role="heading" id="h2_abstract">Abstract</h2> + <section id="abstract" class="introductory" property="dcterms:abstract" datatype="" typeof="bibo:Chapter" resource="#abstract" rel="bibo:Chapter"><h2 role="heading" id="h2_abstract">Abstract</h2> <p> This specification is provided to promote interoperability among implementations and users of in-band text tracks sourced for [<cite><a class="bibref" href="#bib-HTML5">HTML5</a></cite>]/[<cite><a class="bibref" href="#bib-HTML">HTML</a></cite>] from media resource containers. The specification provides guidelines for the creation of video, audio and text tracks and their attribute values as mapped from in-band tracks from media resource types typically supported by User Agents. It also explains how the UA should map in-band text track content into text track cues. </p> <p> Mappings are defined for [<cite><a class="bibref" href="#bib-MPEGDASH">MPEGDASH</a></cite>], [<cite><a class="bibref" href="#bib-ISOBMFF">ISOBMFF</a></cite>], [<cite><a class="bibref" href="#bib-MPEG2TS">MPEG2TS</a></cite>], [<cite><a class="bibref" href="#bib-OGGSKELETON">OGGSKELETON</a></cite>] and [<cite><a class="bibref" href="#bib-WebM">WebM</a></cite>]. </p> - </section><section id="sotd" class="introductory" typeof="bibo:Chapter" resource="#sotd" rel="bibo:Chapter"><h2 aria-level="1" role="heading" id="h2_sotd">Status of This Document</h2> + </section><section id="sotd" class="introductory" typeof="bibo:Chapter" resource="#sotd" rel="bibo:Chapter"><h2 role="heading" id="h2_sotd">Status of This Document</h2> <p> This document is merely a public working draft of a potential specification. It has @@ -261,28 +263,28 @@ </p> -</section><section id="toc"><h2 class="introductory" aria-level="1" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#mpegdash" class="tocxref"><span class="secno">2. </span>MPEG DASH</a></li><li class="tocline"><a href="#mpeg2ts" class="tocxref"><span class="secno">3. </span>MPEG-2 Transport Streams</a></li><li class="tocline"><a href="#mpeg4" class="tocxref"><span class="secno">4. </span>MPEG-4 ISOBMFF</a></li><li class="tocline"><a href="#webm" class="tocxref"><span class="secno">5. </span>WebM</a></li><li class="tocline"><a href="#ogg" class="tocxref"><span class="secno">6. </span>Ogg</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ulclass="toc"><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.1 </span>Informative references</a></li></ul></li></ul></section> +</section><section id="toc"><h2 class="introductory" role="heading" id="h2_toc">Table of Contents</h2><ul class="toc" role="directory" id="respecContents"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a></li><li class="tocline"><a href="#mpegdash" class="tocxref"><span class="secno">2. </span>MPEG DASH</a></li><li class="tocline"><a href="#mpeg2ts" class="tocxref"><span class="secno">3. </span>MPEG-2 Transport Streams</a></li><li class="tocline"><a href="#mpeg4" class="tocxref"><span class="secno">4. </span>MPEG-4 ISOBMFF</a></li><li class="tocline"><a href="#webm" class="tocxref"><span class="secno">5. </span>WebM</a></li><li class="tocline"><a href="#ogg" class="tocxref"><span class="secno">6. </span>Ogg</a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">A. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">B. </span>References</a><ul class="toc"><l class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">B.1 </span>Informative references</a></li></ul></li></ul></section> <section id="introduction"> - <!--OddPage--><h2 aria-level="1" role="heading" id="h2_introduction"><span class="secno">1. </span>Introduction</h2> + <!--OddPage--><h2 role="heading" id="h2_introduction"><span class="secno">1. </span>Introduction</h2> <p> - The specification maintains mappings from in-band audio, video and other data tracks of MIME-type/subtype media resources to HTML VideoTrack, AudioTrack, and TextTrack objects and their attribute values. + The specification maintains mappings from in-band audio, video and other data tracks of media resources to HTML VideoTrack, AudioTrack, and TextTrack objects and their attribute values. </p> <p> A generic rule to follow is that a track as exposed in HTML only ever represents a single semantic concept. When mapping from a media resource, sometimes an in-band track does not relate 1-to-1 to a HTML text, audio or video track. </p> - <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_1"><span>Note</span></div><p class="">For example, a HTML TextTrack object is either a subtitle track or a caption track, never both. However, in-band text tracks may encapsulate caption and subtitle cues of the same language as a single in-band track. Since a caption track is essentially a subtitle track with additional cues of transcripts of audio-only information, such an encapsulation in a single in-band track can save space. In HTML, these tracks should be exposed as two TextTrack objects, since they represent different semantic concepts. The cues appear in their relevant tracks - subtitle cues would be present in both. This allows users to choose between the two tracks and activate the desired one in the same manner that they do when the two tracks are provided through two track elements. + <div class="note"><div class="note-title" aria-level="1" role="heading" id="h_note_1"><span>Note</span></div><p class="">For example, a HTML TextTrack object is either a subtitle track or a caption track, never both. However, in-band text tracks may encapsulate caption and subtitle cues of the same language as a single in-band track. Since a caption track is essentially a subtitle track with additional cues of transcripts of audio-only information, such an encapsulation in a single in-band track can save space. In HTML, these tracks should be exposed as two TextTrack objects, since they represent different semantic concepts. The cues appear in their relevant tracks - subtitle cues would be present in both. This allows users to choose between the two tracks and activate the desired one in the same manner that they do when the two tracks are provided through two track elements. </p></div> - <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_2"><span>Note</span></div><p class=""> + <div class="note"><div class="note-title" aria-level="1" role="heading" id="h_note_2"><span>Note</span></div><p class=""> A similar logic applies to in-band text tracks that have subtitle cues of different languages mixed together in one track. They, too, should be exposed in a track of their own language each. </p></div> - <div class="note"><div class="note-title" aria-level="2" role="heading" id="h_note_3"><span>Note</span></div><p class=""> + <div class="note"><div class="note-title" aria-level="1" role="heading" id="h_note_3"><span>Note</span></div><p class=""> A further example is when a UA decides to implement rendering for a caption track but without exposing the caption track through the TextTrack API. To the Web developer and the Web page user, such a video appears as though it has burnt-in captions. Therefore, the UA could expose two video tracks on the HTMLMediaElement - one with captions and a kind="captions" and one without captions with a kind="main". In this way, the user and the Web developer still get the choice of whether to see the video with or without captions. </p></div> <p> - Another generic rule to follow for in-band data tracks is that in order to map them to TextTrack objects, they need to be mapped to media-time aligned cues that relate to a non-zero interval of time. + Another generic rule to follow for in-band data tracks is that in order to map them to TextTrack objects, the contents of the track need to be mapped to media-time aligned cues that relate to a non-zero interval of time. </p> <p> For every MIME-type/subtype of an existing media container format, this specification defines the following information: @@ -290,14 +292,14 @@ <ol> <li>Track order.</li> <li>How to identify the type of tracks.</li> - <li>Setting track attributes 'id', 'kind', 'language' and 'label' for sourced text tracks.</li> - <li>Setting track attributes 'id', 'kind', 'language' and 'label' for sourced audio and video tracks.</li> - <li>Mapping text track content into text track cues.</li> + <li>Setting track attributes 'id', 'kind', 'language' and 'label' for sourced Text Tracks.</li> + <li>Setting track attributes 'id', 'kind', 'language' and 'label' for sourced Audio and Video tracks.</li> + <li>Mapping Text Track content into text track cues.</li> </ol> </section> <section id="mpegdash" typeof="bibo:Chapter" resource="#mpegdash" rel="bibo:Chapter"> - <!--OddPage--><h2 aria-level="1" role="heading" id="h2_mpegdash"><span class="secno">2. </span>MPEG DASH</h2> + <!--OddPage--><h2 role="heading" id="h2_mpegdash"><span class="secno">2. </span>MPEG DASH</h2> <b>MIME type/subtype: application/dash+xml</b> <ol> @@ -319,6 +321,9 @@ </li> <li><p>Track Attributes for sourced Text Tracks</p> + <p> + Data for sourcing text track attributes may exist in the media content or in the MPD. Text track attribute values are first sourced from track data in the media container, as described for <a href="#mpeg2tstta">text track attributes in MPEG-2 Transport Streams</a> and <a href="#mpeg4tta">text track attributes in MPEG-4 ISOBMFF</a>. If a track attribute value cannot be determined from the media container, then the track attribute value is sourced from data in the MPD as follows: + </p> <table> <thead> <tr><th>Attribute</th> @@ -353,10 +358,19 @@ Content of the 'lang' attribute in the AdaptationSet or ContentComponent element. </td> </tr> + <tr> + <th>inBandMetadataTrackDispatchType</th> + <td> + If @kind is "metadata" the concatenation of the AdaptationSet element and all child Role descriptors. The empty string otherwise. + </td> + </tr> </tbody></table> </li> <li><p>Track Attributes for sourced Audio and Video Tracks</p> + <p> + Data for sourcing audio and video track attributes may exist in the media content or in the MPD. Audio and video track attribute values are first sourced from track data in the media container, as described for <a href="#mpeg2tsavta">audio and video track attributes in MPEG-2 Transport Streams</a> and <a href="#mpeg4avta">audio and video track attributes in MPEG-4 ISOBMFF</a>. If a track attribute value cannot be determined from the media container, then the track attribute value is sourced from data in the MPD as follows: + </p> <table> <thead> <tr><th>Attribute</th> @@ -401,12 +415,15 @@ </tbody></table> </li> - <li><p>Mapping text track content into text track cues</p> + <li><p>Mapping Text Track content into text track cues</p> + <p> + TextTrackCues may be sourced from DASH media content in the WebVTT, TTML, MPEG-2 TS or ISOBMFF format. + </p> <p> - DASH text track data may be contained in files or encapsulated in MPEG media container formats ISOBMFF and MPEG-2 TS. DASH text track data contained in a file may be in the WebVTT or TTML format [<cite><a class="bibref" href="#bib-ISO14496-30">ISO14496-30</a></cite>], 3GPP Timed Text format [<cite><a class="bibref" href="#bib-3GPP-TT">3GPP-TT</a></cite>], or other format. Encapsulated DASH text track data may be in the format defined in this specification for <a href="#ISOBMFF-TT">ISOBMFF text track</a> or <a href="#MPEG2TS-TT">MPEG-2 TS text track</a>. + Media content with the MIME type "text/vtt" is in the WebVTT format and should be exposed as a VTTCue as defined in [<cite><a class="bibref" href="#bib-WEBVTT">WEBVTT</a></cite>]. </p> <p> - DASH text track data is in a file in the WebVTT format if the file MIME type is "text/vtt" and should be exposed as a VTTCue as defined in [<cite><a class="bibref" href="#bib-WEBVTT">WEBVTT</a></cite>]. DASH text track data is in a file in the TTML format if the file MIME type is "application/ttml+xml" and should be exposed as an as yet to be defined TTMLCue. Alternatively, browsers can also map the TTML features to WebVTTCue objects. Finally, browsers that cannot render TTML [<cite><a class="bibref" href="#bib-ttaf1-dfxp">ttaf1-dfxp</a></cite>] format data should expose them as DataCue objects [<cite><a class="bibref" href="#bib-HTML5">HTML5</a></cite>]. In this case, the TTML file must be parsed in its entirety and then converted into a sequence of TTML Intermediate Synchronic Documents (ISDs). Each ISD creates a DataCue object with attributes sourced as follows: + Media content with the MIME type "application/ttml+xml" is in the TTML format and should be exposed as an as yet to be defined TTMLCue. Alternatively, browsers can also map the TTML features to WebVTTCue objects. Finally, browsers that cannot render TTML [<cite><a class="bibref" href="#bib-ttaf1-dfxp">ttaf1-dfxp</a></cite>] format data should expose them as DataCue objects [<cite><a class="bibref" href="#bib-HTML5">HTML5</a></cite>]. In this case, the TTML file must be parsed in its entirety and then converted into a sequence of TTML Intermediate Synchronic Documents (ISDs). Each ISD creates a DataCue object with attributes sourced as follows: </p><p> </p><table> <thead> @@ -434,17 +451,17 @@ <td>"false"</td> </tr> <tr> - <th>text</th> - <td>The (UTF-16 encoded) character array composing the ISD resource.</td> + <th>data</th> + <td>The (UTF-16 encoded) ArrayBuffer composing the ISD resource.</td> </tr> </tbody></table> <p></p> <p></p> <p> - DASH text track data is encapsulated in an ISOBMFF container format if the MIME type is "application/mp4" (ISOBMFF container with one track) or "video/mp4" (ISOBMFF container with multiple tracks). Text track data in this format should be exposed following the same rules as for <a href="#ISOBMFF-TT">ISOBMFF text track</a>. + Media content with the MIME type "application/mp4" or "video/mp4" is in the ISOBMFF format and should be exposed following the same rules as for <a href="#ISOBMFF-TT">ISOBMFF text track</a>. </p> <p> - DASH text track data is encapsulated in an MPEG-2 TS container format if the MIME type is "video/mp2t" (MPEG-2 TS container with multiple elementary streams). Text track data in this format should be exposed following the same rules as for <a href="#MPEG2TS-TT">MPEG-2 TS text track</a>. + Media content with the MIME type "video/mp2t" is in the MPEG-2 TS format and should be exposed following the same rules as for <a href="#MPEG2TS-TT">MPEG-2 TS text track</a>. </p> </li> </ol> @@ -452,7 +469,7 @@ </section> <section id="mpeg2ts" typeof="bibo:Chapter" resource="#mpeg2ts" rel="bibo:Chapter"> - <!--OddPage--><h2 aria-level="1" role="heading" id="h2_mpeg2ts"><span class="secno">3. </span>MPEG-2 Transport Streams</h2> + <!--OddPage--><h2 role="heading" id="h2_mpeg2ts"><span class="secno">3. </span>MPEG-2 Transport Streams</h2> <b>MIME type/subtype: audio/mp2t , video/mp2t</b> <ol> @@ -460,6 +477,7 @@ <p> Tracks are called "elementary streams" in a MPEG-2 Transport Stream (TS) [<cite><a class="bibref" href="#bib-MPEG2TS">MPEG2TS</a></cite>]. The order in which elementary streams are listed in the "Program Map Table" (PMT) of a MPEG-2 TS is maintained when sourcing multiple MPEG-2 tracks into HTML. </p> + <div class="note"><div class="note-title" aria-level="1" role="heading" id="h_note_4"><span>Note</span></div><p class="">The order of elementary streams in the PMT may change between when the media resource was created and when it is received by the user agent. Scripts should not infer any information from the ordering, or rely on any particular ordering being present.</p></div> </li> <li><p>Determining the type of track</p> @@ -469,15 +487,31 @@ <ul> <li>text track: <ul> - <li>The elementary stream with PID 0x02 or the stream type value is "0x02", "0x05" or between "0x80" and "0xFF". </li> - <li><dfn id="captionservice">The CEA 708 caption service</dfn> [<cite><a class="bibref" href="#bib-CEA708">CEA708</a></cite>], as identified by a 'Caption Service Descriptor' [<cite><a class="bibref" href="#bib-ATSC65">ATSC65</a></cite>] in the 'Elementary Stream Descriptors' in the PMT entry for a video stream with stream type 0x02 or 0x1B.</li> + <li>The elementary stream with PID 0x02 or the 'stream_type' value is "0x02", "0x05" or between "0x80" and "0xFF". </li> + <li><dfn id="captionservice">The CEA 708 caption service</dfn> [<cite><a class="bibref" href="#bib-CEA708">CEA708</a></cite>], as identified by: + <ul> + <li>A 'caption_service_descriptor' [<cite><a class="bibref" href="#bib-ATSC65">ATSC65</a></cite>] in the 'Elementary Stream Descriptors' in the PMT entry for a video stream with stream type 0x02 or 0x1B.</li> + <li>For 'stream_type' 0x02, the presence of caption data in the 'user_data()' field [<cite><a class="bibref" href="#bib-ATSC52">ATSC52</a></cite>].</li> + <li>For stream type 0x1B, the presence of caption data in the ‘ATSC1_data()’ field [<cite><a class="bibref" href="#bib-SCTE128-1">SCTE128-1</a></cite>].</li> + </ul> + </li> + <li>a DVB subtitle component [<cite><a class="bibref" href="#bib-DVB-SUB">DVB-SUB</a></cite>] as identified by a 'subtitling_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>]in the 'Elementary Stream Descriptors' in the PMT entry for a stream with a 'stream_type' of "0x06"</li> + <li>an ITU-R System B Teletext component [<cite><a class="bibref" href="#bib-DVB-TXT">DVB-TXT</a></cite>] as identified by an 'teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the 'Elementary Stream Descriptors' in the PMT entry for a stream with a 'stream_type' of "0x06"</li> + <li>a VBI data component [<cite><a class="bibref" href="#bib-DVB-VBI">DVB-VBI</a></cite>] as identified by a 'VBI_data_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] or a 'VBI_teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the 'Elementary Stream Descriptors' in the PMT entry for a stream with a 'stream_type' of "0x06"</li> </ul> - </li><li>video track: the stream type value is "0x01", "0x02", "0x10", "0x1B", or between "0x1E" and "0x23"</li> - <li>audio track: the stream type value is "0x03", "0x04", "0x0F", "0x11", or "0x1C"</li> - </ul> + </li><li>video track: the stream type value is "0x01", "0x02", "0x10", "0x1B", between "0x1E" and "0x24" or "0xEA".</li> + <li>audio track: + <ul> + <li>the stream type value is "0x03", "0x04", "0x0F", "0x11", "0x1C", "0x81" or "0x87".</li> + <li>an AC-3 audio component as identified by an 'AC-3_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the 'Elementary Stream Descriptors' in the PMT entry for a stream with a 'stream_type' of "0x06"</li> + <li>an Enhanced AC-3 audio component as identified by an 'enhanced_ac-3_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>]in the 'Elementary Stream Descriptors' in the PMT entry for a stream with a 'stream_type' of "0x06"</li> + <li>a DTS® audio component as identified by a 'DTS_audio_stream_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the 'Elementary Stream Descriptors' in the PMT entry for a stream with a 'stream_type' of "0x06"</li> + <li>a DTS-HD® audio component as identified by a 'DTS-HD_audio_stream_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the 'Elementary Stream Descriptors' in the PMT entry for a stream with a 'stream_type' of "0x06"</li> + </ul> + </li></ul> </li> - <li><p>Track Attributes for sourced Text Tracks</p> + <li id="mpeg2tstta"><p>Track Attributes for sourced Text Tracks</p> <table> <thead> <tr><th>Attribute</th> @@ -490,38 +524,92 @@ <p> In the case of CEA 708 closed captions, decimal representation of the 'caption_service_number' in the 'Caption Service Descriptor' in the PMT. </p> + <p> + If program 0 (zero) is present in the transport stream, a string of the format "OOOO.TTTT.SSSS.CC" consisting of the following, lower-case hexadecimal encoded fields: + </p><ul> + <li>OOOO is the four character representation of the 16-bit 'original_network_id' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>].</li> + <li>TTTT is the four character representation of the 16-bit 'transport_stream_id' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>].</li> + <li>SSSS is the four character representation of the 16-bit 'service_id' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>].</li> + <li>CC is: + <ul> + <li>If a 'stream_identifier_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] is present in the PMT, a two character representation of the 8-bit 'component_tag' value.</li> + <li>Otherwise, a four character representation of the elementary stream's identifier (13-bit 'elementary_PID' field) in the PMT.</li> + </ul> + </li> + </ul> + <p></p> </td> </tr> <tr> <th>kind</th> <td> <ul> - <li>"captions": for a <a href="#captionservice">caption service</a></li> - <li>"subtitles": if the stream type value is "0x82"</li> - <li>"metadata": otherwise</li> + <li>"captions": + <ul> + <li>For a <a href="#captionservice">CEA708 caption service.</a></li> + <li>for a DVB subtitle component [<cite><a class="bibref" href="#bib-DVB-SUB">DVB-SUB</a></cite>] as identified by a 'subtitling_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the PMT with a 'subtitling_type' in the range "0x20" to "0x25".</li> + <li>an ITU-R System B Teletext component [<cite><a class="bibref" href="#bib-DVB-TXT">DVB-TXT</a></cite>] as identified by an 'teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] with a 'teletext_type' value of "0x05" in the PMT</li> + <li>a VBI data component [<cite><a class="bibref" href="#bib-DVB-VBI">DVB-VBI</a></cite>] as identified by a 'VBI_teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] with a 'teletext_type' value of "0x05" in the PMT.</li> + </ul> + </li><li>"subtitles": + <ul> + <li>If the stream type value is "0x82".</li> + <li>for a DVB subtitle component [<cite><a class="bibref" href="#bib-DVB-SUB">DVB-SUB</a></cite>] as identified by a 'subtitling_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the PMT with a 'subtitling_type' in the range "0x10" to "0x15".</li> + <li>an ITU-R System B Teletext component [<cite><a class="bibref" href="#bib-DVB-TXT">DVB-TXT</a></cite>] as identified by an 'teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] with a 'teletext_type' value of "0x02" in the PMT</li> + <li>a VBI data component [<cite><a class="bibref" href="#bib-DVB-VBI">DVB-VBI</a></cite>] as identified by a 'VBI_teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] with a 'teletext_type' value of "0x02" in the PMT.</li> + </ul> + </li><li>"metadata": otherwise</li> </ul> </td> </tr> <tr> <th>label</th> <td> - The DOMString representation of the 'component_name_string' field in the 'component_name_descriptor' [<cite><a class="bibref" href="#bib-ATSC65">ATSC65</a></cite>] found immediately after the 'ES_info_length' field in the Program Map Table [<cite><a class="bibref" href="#bib-MPEG2TS">MPEG2TS</a></cite>]. The empty string if the 'component_name_descriptor' is not present. - </td> + <ul> + <li>If a 'component_name_descriptor' [<cite><a class="bibref" href="#bib-ATSC65">ATSC65</a></cite>] is found immediately after the 'ES_info_length' field in the Program Map Table [<cite><a class="bibref" href="#bib-MPEG2TS">MPEG2TS</a></cite>], the DOMString representation of the 'component_name_string' in that 'component_name_descriptor'.</li> + <li>If a 'component_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] for the component is present in the SDT or EIT, the DOMString representation of the content of the text field in that 'component_descriptor'</li>The empty string otherwise. + </ul></td> </tr> <tr> <th>language</th> <td>@kind is <ul> - <li>"captions": Content of the 'language' field for the caption service in the 'Caption Service Descriptor'.</li> - <li>"subtitles": Content of the 'ISO_639_language_code' field in the 'ISO_639_language_descriptor' in the elementary stream descriptor array in the PMT.</li> + <li>"captions": + <ul> + <li>For a <a href="#captionservice">CEA708 caption service.</a> + <ul> + <li>Content of the 'language' field for the caption service in the 'caption_service_descriptor', if present.</li> + <li>Otherwise, for the first caption service, as identified by the 'service_number' field in the 'service_block' [<cite><a class="bibref" href="#bib-CEA708">CEA708</a></cite>] with a value of 1, the value of '@language' of the audio track where '@kind' has the value "main".</li> + <li>The empty string for all other caption services, as identified by values greater than 1 in the 'service_number' field.</li> + </ul> + </li> + <li>For a DVB subtitle component [<cite><a class="bibref" href="#bib-DVB-SUB">DVB-SUB</a></cite>], the value of the 'ISO_639_language_code' field in the 'subtitling_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the PMT</li> + <li>For an ITU-R System B Teletext component [<cite><a class="bibref" href="#bib-DVB-TXT">DVB-TXT</a></cite>], the value of the 'ISO_639_language_code' field in the 'teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the PMT</li> + <li>For a VBI data component [<cite><a class="bibref" href="#bib-DVB-VBI">DVB-VBI</a></cite>], the value of the 'ISO_639_language_code' field in the 'VBI_teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the PMT</li> + </ul> + </li> + <li>"subtitles": + <ul> + <li> If 'stream_type' value is "0x82", the content of the 'ISO_639_language_code' field in the 'ISO_639_language_descriptor' in the elementary stream descriptor array in the PMT.</li> + <li>for a DVB subtitle component [<cite><a class="bibref" href="#bib-DVB-SUB">DVB-SUB</a></cite>], the value of the 'ISO_639_language_code' field in the 'subtitling_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the PMT</li> + <li>for an ITU-R System B Teletext component [<cite><a class="bibref" href="#bib-DVB-TXT">DVB-TXT</a></cite>], the value of the 'ISO_639_language_code' field in the 'teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the PMT</li> + <li>for a VBI data component [<cite><a class="bibref" href="#bib-DVB-VBI">DVB-VBI</a></cite>], the value of the 'ISO_639_language_code' field in the 'VBI_teletext_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the PMT</li> + </ul> + </li> <li>"metadata": The empty string.</li> </ul> </td> </tr> + <tr> + <th>inBandMetadataTrackDispatchType</th> + <td> + If @kind is "metadata", then the concatenation of the 'stream_type' byte field in the program map table and 'ES_info_length' bytes following the 'ES_info_length' field expressed in hexadecimal using <a href="https://html.spec.whatwg.org/multipage/infrastructure.html#uppercase-ascii-hex-digits">uppercase ASCII hex digits</a>. The empty string otherwise. + </td> + </tr> </tbody></table> </li> - <li><p>Track Attributes for sourced Audio and Video Tracks</p> + <li id="mpeg2tsavta"><p>Track Attributes for sourced Audio and Video Tracks</p> <table> <thead> <tr><th>Attribute</th> @@ -530,44 +618,94 @@ <tbody><tr> <th>id</th> <td> - Decimal representation of the elementary stream's identifier ('elementary_PID' field) in the PMT. + <ul> + <li>Decimal representation of the elementary stream's identifier ('elementary_PID' field) in the PMT.</li> + <li>If a program 0 (zero) is present in the transport stream, a string of the format "OOOO.TTTT.SSSS.CC" or "OOOO.TTTT.SSSS.CC&CC", consisting of the following, lower-case hexadecimal encoded fields: + <ul> + <li>OOOO is the four character representation of the 16-bit 'original_network_id' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>].</li> + <li>TTTT is the four character representation of the 16-bit 'transport_stream_id' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>].</li> + <li>SSSS is the four character representation of the 16-bit 'service_id' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>].</li> + <li>CC is: + <ul> + <li>If a 'stream_identifier_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] is present in the PMT, a two character representation of the 8-bit 'component_tag' value.</li> + <li>Otherwise, a four character representation of the elementary stream's identifier (13-bit 'elementary_PID' field) in the PMT.</li> + </ul> + </li> + </ul> + <p> + Where a track is derived from two components, the second form ("CC&CC") identifies the independent and dependent streams, where the first 'CC' identifies the independent stream, and the second 'CC' identifies the dependent stream. Otherwise the first form is used. + </p> + </li> + </ul> </td> </tr> <tr> <th>kind</th> <td> <ul> - <li>"alternative": not used</li> - <li>"captions": not used</li> - <li>"descriptions": AC3 audio in MPEG-2 TS [<cite><a class="bibref" href="#bib-ATSC52">ATSC52</a></cite>]: bsmod=2 and full_svc=0</li><!-- see http://www.atsc.org/cms/pdf/bootcamp/PSIP_Captions_rev2.pdf --> - <li>"main": first audio (video) elementary stream in the PMT</li> - <li>"main-desc": AC3 audio in MPEG-2 TS: bsmod=2 and full_svc=1</li> - <li>"sign": not used</li> - <li>"subtitles": not used</li> - <li>"translation": not first audio elementary stream in the PMT and bsmod=0</li> - <li>"commentary": not used</li> - <li>"": otherwise</li> + <li>If a 'supplementary_audio_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] is present in the PMT for an audio component, the value is derived according to the audio purpose defined in table J.3 of [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] using the following rules: + <ul> + <li>"main" if PSI signalling of audio purpose indicates "Main audio" for the audio track that the user agent would select by default, otherwise to "translation" + <div class="note"><div class="note-title" aria-level="1" role="heading" id="h_note_5"><span>Note</span></div><p class="">Need to define how UA would select track by default.</p></div> + </li> + <li>components with an audio purpose of "Audio description (broadcast-mix)" map to "main-desc"</li> + <li>components with an audio purpose of "Audio description (receiver-mix)": + <ul> + <li>The user agent exposes an audio track of @kind "main-desc" for each permitted combination of this track with another audio track as defined in annex J.2 of [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>]. Enabling this track results in the combination being presented.</li> + <li>If the user agent can present the stream in isolation, it also exposes an audio track of @kind "descriptions" for this audio component.</li> + </ul> + </li> + <li>components with an audio purpose of "Clean audio (broadcast-mix)", "Parametric data dependent stream", or "Unspecific audio for the general audience" map to "alternative"</li> + <li>components with other audio purposes map to the empty string</li> + </ul> + </li> + <li>Otherwise: + <ul> + <li>"descriptions": + <ul> + <li>For AC-3 audio [<cite><a class="bibref" href="#bib-ATSC52">ATSC52</a></cite>] if the 'bsmod' field is 2 and the 'full_svc' field is 0 in the 'AC-3_audio_stream_descriptor()' in the PMT</li> + <li>For E-AC-3 audio [<cite><a class="bibref" href="#bib-ATSC52">ATSC52</a></cite>] if the 'audio_service_type' field is 2 and the 'full_service_flag' is 0 in the 'E-AC-3_audio_descriptor()' in the PMT</li> + <li>For AAC audio [<cite><a class="bibref" href="#bib-SCTE193-2">SCTE193-2</a></cite>] if the 'AAC_service_type' field is 2 and the 'receiver_mix_rqd' is 1 in the 'MPEG_AAC_descriptor()' in the PMT</li> + </ul> + </li><!-- see http://www.atsc.org/cms/pdf/bootcamp/PSIP_Captions_rev2.pdf --> + <li>"main" if the first audio (video) elementary stream in the PMT and the 'audio_type' field in the 'ISO_639_language_descriptor', if present, is "0x00" or "0x01"</li> + <li>"main-desc": + <ul> + <li>For AC-3 audio [<cite><a class="bibref" href="#bib-ATSC52">ATSC52</a></cite>] if the 'bsmod' field is 2 and the 'full_svc' field is 1 in the 'AC-3_audio_stream_descriptor()'</li> + <li>For E-AC-3 audio [<cite><a class="bibref" href="#bib-ATSC52">ATSC52</a></cite>] if the 'audio_service_type' field is 2 and the 'full_service_flag' is 1 in the 'E-AC-3_audio_descriptor()'</li> + <li>For AAC audio [<cite><a class="bibref" href="#bib-SCTE193-2">SCTE193-2</a></cite>] if the 'AAC_service_type' field is 2 and the 'receiver_mix_rqd' is 0 in the 'MPEG_AAC_descriptor()'</li> + </ul> + </li> + <li>"sign" video components with a 'component_descriptor' [<cite><a class="bibref" href="#bib-DVB-SI">DVB-SI</a></cite>] in the SDT or EIT, where the 'stream_content' is "0x3" and the 'component_type' is "0x30" or "0x31"</li> + <li>"translation": not first audio elementary stream in the PMT and the 'audio_type' field in the 'ISO_639_language_descriptor' is "0x00" or "0x01" <font color="red">and bsmod=0</font></li> + <li>"": otherwise</li> + </ul> + </li> </ul> </td> [460 lines skipped]
Received on Wednesday, 15 October 2014 12:06:49 UTC