流媒体协议——DASH(chapter-6)

6.3 基于ISO媒体文件格式的分片格式

6.3.1 简介

这一节定义了以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;

 

6.3.2 通用概念的精确优化说明

6.3.2.1 Subsegments

媒体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。

6.3.2.2 Media stream access points

         不同类型的访问点在ISO/IEC 14496-12, Annex I中有定义。

6.3.2.3 Segment Index

         如果出现Segment Index,那”sidx” Box就必会被用到。对于”sidx” Box用法的确切定义,在ISO/IEC 14496-12中指定。

6.3.2.4 Subsegment Index

         如果出现Subsegment Index,那”ssix” Box就必会被用到。对于”ssix” Box用法的确切定义,在ISO/IEC 14496-12中指定。


6.3.3 initialization segments

         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中的任何信息来解码和展现已有的媒体流。


6.3.4 Media Segment types

该部分指导Media Segment类的segment该怎么封装到mp4文件中。

6.3.4.1  General(综述)

         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中指定的。

6.3.4.2 一般格式类型

符合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是否要覆盖掉。换句话说,流中任意访问单元的最早显示时间在计算时,不应将多余的样本计算在内。

6.3.4.3 Indexed Media 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的一致性要求在这一分单元定义。

6.3.4.4 Sub-Indexed Media Segment

符合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的一致性要求在这一分单元定义。


6.3.5 Self-Initializing Media Segment formats

6.3.5.1 General format type

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.

6.3.5.2 Indexed self-initializing Media Segment

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.

你可能感兴趣的:(协议)