您的位置:首页 > 其它

MPEG4(ISO/IEC 14496-12)学习笔记chapter-7

2016-09-06 14:58 369 查看
参考文档:ISO/IEC 14496-12 Second Edition(2005)

主要讲的是 ISO Base Media File Format 规范定义

chapter-7 Streaming Support

7.1

这种文件封装格式不仅支持本地播放而且还支持流媒体数据。就像以时间为基础显示数据一样,协议数据单元的发送过程也是以时间为基准的,并且也正因如此,该格式也被称为基于时间的封装格式。一个文件或者一个影片支持流,那它就要有关于流的数据单元的信息。这些信息被包含在额外的tracks中,这种track叫做"hint"tracks。

"hint" tracks含有许多的指令,这些指令用来辅助流服务器构造将要传输的数据包。指令中可能会包含服务器即刻要发送的数据或媒体数据段。指令在文件中的编码方式与编辑或表示信息在本地播放中的编码方式相同。替换掉了编辑或表示信息,此时提供的信息允许服务器用符合流式传输的方式打包媒体数据。

无论是针对本地播放还是通过多种协议流式传输,含有"hint"的文件使用的是相同的媒体数据。同一个文件中可能会包含针对不同协议的单独的"hint" tracks,媒体文件也能在这些协议之上播放同时不需要媒体文件本身额外的拷贝。此外,已有的媒体数据能够很容易的进行流化处理,通过结合具体的协议添加合适的"hint"tracks。媒体数据本身不需要改动或重新格式化。

一种方法要求媒体信息作为某种格式和协议传输的实际数据单元的一部分,与之相比,这种流化方法具有更高的空间效率。若采用这样的一种方法,本地播放或者重组媒体数据包,或者同时具有两份媒体拷贝,一份供本地播放,一份供流式播放。相似的,用这种方法在多种协议上流化媒体数据,需要媒体数据的多份拷贝。这在空间上是低效的,除非媒体数据已经为流化做出重大改变。(如纠错编码技术的应用程序或加密程序)

7.2

对流媒体的支持要基于下面的三个设计参数:

The media data is represented as a set of network-independent standard tracks, which may be played, edited, and so on, as normal;
对于服务器的hint tracks,它们具有共同声明和基础结构;这种统一格式是协议独立的,但含有服务端track中描述的是哪种协议的声明。
所有的这些设计使用相同的基础结构。例如,也许会有采用RTP和MPEG2-TS的设计,或采用新标准或厂商特定协议的设计。

The resulting streams, sent by the servers under the direction of the hint tracks, need contain no trace of file-specific information. This design does not require that the file structures or declaration style, be used either in the data on the wire or in
the decoding station. For example, a file using H.261 video and DVI audio, streamed under RTP, results in a packet stream that is fully compliant with the IETF specifications for packing those codings into RTP.

这样构造和标记 hint track,以便presentation本地回放时它们能够被忽略掉。

7.3

hint tracks用来为服务器描述如何经流媒体协议供应文件中的ES流。每种协议有其自身的hint track格式。hints的格式由该hint track的样本描述给出。大多数协议对每一个track都只需要一个样本描述格式。

服务器第一步先找出所有的hint tracks,然后在这一集合中查找使用其协议(样本描述格式)的hint tracks。如果这一点上仍有分支选项,服务器选择优先协议或通过比较hint track header中的资源或其他样本描述中具有协议特征的信息。

hint tracks通过其引用的其他tracks来获取数据,以此创建流。这些其他tracks也许是hint track或原始流track。这些指针确切的形式由协议的样本格式决定,但它们通常由四部分信息组成:track参考索引, 样本数, 偏移量, 长度。其中的某些信息在某些协议中会是隐含的。这些指针总是指向实际的数据源。If a hint track is built ‘on top’ of another hint track, then the second hint track must have
direct references to the media track(s) used by the first where data from those media tracks is placed in the stream.

所有的hint tracks使用一组通用的声明和结构。

hint tracks都被连接到它们携带的原始流tracks,通过track的参考类型hint
在Handler Reference Box的handler-type字段中都使用"hint"
它们都使用Hint Media Header Box
它们都在样本描述中使用hint sample entry,带有它们所代表的协议所独有的名字和格式。
它们通常都被标记为不能本地播放,因为track header中的标记位被置0。

Hint tracks may be created by an authoring tool, or may be added to an existing presentation by a hinting tool.Such a tool serves as a ‘bridge’ between the media and the protocol, since it intimately understands both.This permits authoring tools to understand
the media format, but not protocols, and for servers to understand protocols (and their hint tracks) but not the details of media data.

Hint tracks do not use separate composition times; the ‘ctts’ table is not present in hint tracks. The process of hinting computes transmission times correctly as the decoding time.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: