ISO BMFF Byte Stream Format

来源:互联网 发布:js中元和万元换算 编辑:程序博客网 时间:2024/06/06 17:46
Table of Contents
  • 1. Introduction
  • 2. MIME-type parameters
  • 3. Initialization Segments
  • 4. Media Segments
  • 5. Random Access Points
  • 6. Acknowledgments
  • 7. Revision History
1. Introduction
This specification defines segment formats for implementations that choose to support the ISO Base Media File Format ISO/IEC 14496-12 (ISO BMFF).
It defines the MIME-type parameters used to signal codecs, and provides the necessary format specific definitions for initialization segmentsmedia segments, and random access points required by the byte stream formats section of the Media Source Extensions spec.

1。介绍
这个规范定义了段格式实现,选择支持ISO基地媒体文件格式ISO / IEC 14496 - 12(ISO BMFF)。它定义了mime类型参数用于信号编解码器,并提供必要的格式的具体定义初始化部分,媒体领域,随机访问点的字节流格式所需的部分媒体源扩展规范。



2. MIME-type parameters
This section specifies the parameters that can be used in the MIME-type passed to isTypeSupported() or addSourceBuffer().
MIME-types for this specification must conform to the rules outlined for "audio/mp4" and "video/mp4" in RFC 6381.
NOTE
Implementations may only implement a subset of the codecs and profiles mentioned in the RFC.

2。mime类型参数
本节指定的参数可用于传递给isTypeSupported的mime类型()或addSourceBuffer()。mime类型的规范必须符合规则概述“音频/ mp4”和“视频/ mp4”在RFC 6381。
请注意实现可能只实现编解码器的一个子集和概要文件中提到的RFC。

3. Initialization Segments
An ISO BMFF initialization segment is defined in this specification as a single File Type Box (ftyp) followed by a single Movie Header Box (moov).
The user agent must run the end of stream algorithm with the error parameter set to "decode" if any of the following conditions are met:


3 初始化段
一个ISO BMFF初始化段本规范中定义为一个单一的文件类型框(ftyp)紧随其后的是一个(moov)。如果满足以下条件, MediaSource 会抛出 'decode' 解码异常.


  1. A File Type Box contains a major_brand or compatible_brand that the user agent does not support.

1。FTYP包含一个major_brand或compatible_brand 是MediaSource不支持的。


  1. A box or field in the Movie Header Box is encountered that violates the requirements mandated by the major_brand or one of the compatible_brands in the File Type Box.

2。moov遇到违反规定的要求major_brand或者compatible_brands文件类型的盒子。

  1. The tracks in the Movie Header Box contain samples (i.e. the entry_count in the sttsstsc or stco boxes are not set to zero).

3.moov>trak>mdia>minf>stbl包含样本(即entry_count stt,stsc或stco框不设置为0)。

  1. A Movie Extends (mvex) box is not contained in the Movie (moov) box to indicate that Movie Fragments are to be expected.

4.moov中没有包含mvex box,这个是来讲述moof追加形式的


The user agent must support setting the offset from media composition time to movie presentation time by handling an Edit Box (edts) containing a single Edit List Box (elst) that contains a single edit with media rate one. This edit may have a duration of 0 (indicating that it spans all subsequent media) or may have a non-zero duration (indicating the total duration of the movie including fragments).
The user agent must support parameter sets (e.g., PPS/SPS) stored in the sample entry (as defined for avc1/avc2), and should support parameter sets stored inband in the samples themselves (as defined for avc3/avc4).

用户代理必须支持设置偏移量从媒体构成电影表示时间处理一个编辑框(美国东部时间)包含一个编辑列表框(elst)包含一个编辑与媒体率。这个编辑可能持续时间0(表明它跨越所有后续媒体)或可能有一个非零时间(指示的总持续时间电影包括碎片)。用户代理必须支持参数设置(如。PPS / SPS)存储在示例条目(如为avc1 / avc2定义),而且应该支持参数设置存储inband样品本身(如为avc3 / avc4定义)。

NOTE
For maximum content interoperability, user agents are strongly advised to support both inband and out-of-band storage of the SPS and PPS.

Valid top-level boxes such as pdinfree, and sidx are allowed to appear before the moov box. These boxes must be accepted and ignored by the user agent and are not considered part of the initialization segment in this specification.

请注意最大内容的互操作性,强烈建议用户代理的同时支持inband和带外存储的SPS和pp。有效pdin等顶级盒,免费的,允许sidx朝见moov框。这些箱子必须接受并被用户代理和不考虑初始化段在本规范的一部分。

4. Media Segments
An ISO BMFF media segment is defined in this specification as one optional Segment Type Box (styp) followed by a single Movie Fragment Box (moof) followed by one or more Media Data Boxes (mdat). If the Segment Type Box is not present, the segment must conform to the brands listed in the File Type Box (ftyp) in the initialization segment.
Valid top-level boxes defined in ISO/IEC 14496-12 other than ftypmoovstypmoof, and mdat are allowed to appear between the end of an initialization segment or media segment and before the beginning of a new media segment. These boxes must be accepted and ignored by the user agent and are not considered part of the media segment in this specification.
The user agent must run the end of stream algorithm with the error parameter set to "decode" if any of the following conditions are met:


4所示。媒体领域
一个ISO BMFF媒体段定义在这个规范作为一个可选的段类型框(styp)紧随其后的是一个电影片段框(moof)后面跟着一个或多个媒体数据框(mdat)。如果段类型框不存在,段中列出的文件类型必须符合品牌盒子(ftyp)初始化段。有效的顶级盒中定义ftyp以外的ISO / IEC 14496 - 12,moov,styp,moof,mdat允许出现之间的一个初始化段或媒体段的结束和新媒体领域的开始。这些箱子必须接受并被用户代理和不考虑媒体部分在本规范的一部分。用户代理必须结束运行流算法与误差参数设置为“解码”如果满足下列条件:


  1. A box or field in the Movie Fragment Box is encountered that violates the requirements mandated by the major_brand or one of the compatible_brands in the Segment Type Box in this media segment or the File Type Box in the initialization segment if a Segment Type Box is not present.
  2. This media segment contains a Segment Type Box that is not compatible with the File Type Box in the initialization segment.
  3. The Movie Fragment Box does not contain at least one Track Fragment Box (traf).
  4. The Movie Fragment Box does not use movie-fragment relative addressing.
  5. External data references are being used.
  6. At least one Track Fragment Box does not contain a Track Fragment Decode Time Box (tfdt)
  7. The Media Data Boxes do not contain all the samples referenced by the Track Fragment Run Boxes (trun) of the Movie Fragment Box.
  8. Inband parameter sets are not present in the appropriate samples and parameter sets are not present in the last initialization segment appended.

1。一盒或字段在电影片段箱遇到违反规定的要求major_brand或compatible_brands之一段类型框在这个媒体段或文件类型框中初始化段如果段类型框不存在。
2。这种媒体段包含一段框不兼容的文件类型框初始化段。
3所示。这部电影片段盒不包含至少一个轨道碎片盒(traf)。
4所示。这部电影片段盒子不使用movie-fragment相对寻址。
5。使用外部数据引用。
6。至少有一个轨道碎片框不包含轨道碎片解码时间盒(tfdt)
7所示。媒体数据框不包含引用的所有的样品跟踪片段运行框(紫)的电影片段的盒子。
8。Inband参数设置中没有适当的样本和参数设置在过去不存在初始化段附加。

A Movie Fragment Box uses movie-fragment relative addressing when the first Track Fragment Run(trun) box in each Track Fragment Box has the data-offset-present flag set and either of the following conditions are met:
  • Every Track Fragment Box in a Movie Fragment Box has the default-base-is-moof flag set.
NOTE
This implies that the base-data-offset-present flag is not set.
  • The Movie Fragment Box contains a single Track Fragment Box and that box does not have the base-data-offset-present flag set.

电影片段盒使用movie-fragment相对寻址当第一个轨道碎片运行(紫)框在每个轨道碎片框设置了data-offset-present标志,要么满足下列条件:●每个轨道碎片框在电影片段框设置default-base-is-moof标志。请注意这意味着base-data-offset-present国旗没有设置。●电影片段框包含一个轨道碎片盒子,盒子没有设置了base-data-offset-present标志。


5. Random Access Points
random access point as defined in this specification corresponds to a Stream Access Point of type 1 or 2 as defined in Annex I of ISO/IEC 14496-12.

5。随机访问点随机访问点
该规范中定义的对应于一个流类型的访问点1或2中定义的附件我的ISO / IEC 14496 - 12。

6. Acknowledgments
The editors would like to thank Chris Poole, Cyril Concolato, David Singer, Jer Noble, Jerry Smith, Joe Steele, John Simmons, Kevin Streeter, Michael Thornburgh, and Steven Robertson for their contributions to this specification.

7. Revision History
VersionComment20 June 2014Bug 26066 - Clarify edit list requirements.03 March 2014Bug 24903 - Add ftyp & styp validation text.
Bug 24345 - Loosen restrictions and clarify what relative addressing means.02 December 2013Initial CR version.


1 0
原创粉丝点击