6.3 基于ISO媒体文件格式的分片格式
这一节定义了以ISO Base Media File Format作为文件封装格式,是如何封装Segment的。本节中涉及到的Segment封装都应包含至少一个box,并且这些box的结构要与ISO/IEC-14496-12中的描述一致。
ISO Base Media File Format封装格式没有对Bitstream Switching Segments和Index Segments进行定义。6.3.2节说明了一些改进的概念;6.3.3节定义了Initialization Segments; 6.3.4节定义了Media Segments;6.3.5节定义Self-Initializing Media Segments;
媒体Subsegment这种Segment在基媒体文件格式下是定义为独立的集合,一系列连续 的moviefragment组成的集合。也就是说集合包含一个或多个”moof”Box和与之相应的”mdat” Box。一个供”moof” Box”参考引用的mdat” Box,必须紧跟其所在的movie fragment以及出现在下一个movie fragment之前,如果有这样一个movie fragment在前面,这一movie fragment也是含有相同track的信息的。
对于MediaSubsegment,”sidx”Box中reference_type字段的值必须被置成0。
不同类型的访问点在ISO/IEC 14496-12, Annex I中有定义。
如果出现Segment Index,那”sidx” Box就必会被用到。对于”sidx” Box用法的确切定义,在ISO/IEC 14496-12中指定。
如果出现Subsegment Index,那”ssix” Box就必会被用到。对于”ssix” Box用法的确切定义,在ISO/IEC 14496-12中指定。
Initialization Segment必须符合ISO base format的要求。该包括一个ftyp Box和一个moov Box。不应包含任何moof Box。也许会包含其他的Box,如pdin Box。moov Box内的所有track都不应含有样本描述(如”stts””stsc””stco”中的entry_count字段值都应置为0),moov Box精简也是因为如此。
这会显著的减少启动时间,因为Initialization Segment会比其他媒体段都早下载。
moov Box内应该含有mvex Box,来指示客户端等待movie fragment。mvex Box也会设置后续movie fragment所代表的track和sample的默认值。
Initialization Segment会把元数据提供给客户端,元数据会描述媒体内容采用的编码器,Representation的特性。客户端媒体核心会用”moov”Box中的这部分信息来识别可用的媒体内容组件和他们的特性。
Note:推荐的做法是,DASH客户端引擎不需要MPD中的任何信息来解码和展现已有的媒体流。
该部分指导Media Segment类的segment该怎么封装到mp4文件中。
Media Segment还可以有不同的类型,simple Media Segments、Indexed Media Segments 、Sub-Indexed Media Segments。
所有的Media Segment都要遵从6.3.4.2节的常规定义。附加的对具体类型的限制会在6.3.4节说明。
更多的关于Media Segment与MPD特性结合的规则,在7.3节提供。
Note:MediaSegment也许会符合多种类型。可以通过在”styp”Box中添加brand的方法描述其一致性,作为compatible brand,或者在合适的情况下也可以作为major brand。
除非明确的提到不同,6.3.4节中提到的Box,都是ISO/IEC14496-12中指定的。
符合DASH Media Segment Format的Media Segment,定义如下:
a) 每个Media Segment可能会包含”styp”Box,如果包含该Box,就应该将”msdh”作为一种兼容brand加入其中。这一brand的一致性要求在这一分单元定义。
b) 每个Media Segment必须包含一个或多个完整且独立的movie fragments。一个完整且独立的movie fragment包括”moof”Box和”mdat”Box,”mdat”Box包含了所有的媒体样本。
c) 每个”moof”Box必须包含至少一个track fragment(”traf”Box)。
d) “moof”Box必须用movie-fragment相对寻址mediadata,default-base-is-moof标记必须设置并且data-offset应被使用那就是说base-data-offset-present不应使用。
e) 绝对字节偏移(byte-offsets)不得在这一media data中使用。”moof”Box中,
f) 每个”traf”Box必须包含”tfdt”Box。
Note: The track fragment adjustment box‘tfad’ as defined in 3GPP TS26.244 may also be present. DASH clients should notapply both the alignment established by the ‘tfdt’ and the time-shiftingimplied by the ‘tfad’, which would result in a double correction.
g) 每个Media Segment可能会包含一个或多个”sidx”Box。如果包含,第一个”sidx”Box应该放到”moof”Box之前,并且这一”sidx”Box必须描述记录好整个Segment。
h) ISO14496-12中定义的多余的/冗余的样本应该被忽略掉,目的是为了决定segment是否要覆盖掉。换句话说,流中任意访问单元的最早显示时间在计算时,不应将多余的样本计算在内。
符合Indexed Media Segment Format的Media Segment定义如下:
a) Media Segment应该遵从6.3.4.2涉及的规则。此外,每个独立的”moof”Box中,”mdat”Box都紧跟在”moof”Box之后。
b) Media Segment应该包含一个或多个”sidx”Box。第一个”sidx”Box应该放在”moof”Box之前,且这一”sidx”Box必须描述好Subsegments,这一subsegments span the composition time of the entire segment。
c) Media Segment必须将”msix”作为一种兼容brand加入其中。这一brand的一致性要求在这一分单元定义。
符合Sub-Indexed Media Segment Format的Media Segment定义如下:
a) 应该遵从6.3.4.3 indexed Media Segment format涉及的规则。
b) 其中应该有“ssix”Box并且紧跟在”sidx”后,这个”sidx”Box也是描述同一个subsegment的。This immediately preceding ‘sidx’ shall only index Media Subsegments。
c) Segment Type Box(“styp”Box)中应该载有’sims’,作为兼容brand。这一brand的一致性要求在这一分单元定义。
The Self-Initializing Media Segment is conformant with the ISO base media file format and defines the DASH Self-Initializing Media Segment ‘dsms’ brand.
The Self-Initializing Media Segment is conformant with the ISO base media file format.
NOTE:Since one Representation only contains one self-initializing Media Segment, switching is expected to happen within the Segment, e.g., at a Subsegment that contains a SAP.
The Indexed Self-Initializing Media Segment conforms to the concatenation of an Initialization Segment and a single Indexed Media Segment without the 'styp' box preceding the Media Segment and shall carry ‘dash’ as a compatible brand.
The format of the Indexed self-initializing Media Segment is a conforming ISO base media file format file and defines the‘dash’ brand.