ISO BMFF Byte Stream Format

Table of Contents
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
Version Comment
20 June 2014 Bug 26066 - Clarify edit list requirements.
03 March 2014 Bug 24903 - Add ftyp & styp validation text.
Bug 24345 - Loosen restrictions and clarify what relative addressing means.
02 December 2013 Initial CR version.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章