ASF 文件结构

本主题介绍高级系统格式 (ASF) 文件的结构。

有关 ASF 文件的详细信息,请下载 ASF 规范

ASF 文件组织的基本单位称为 对象。 ASF 文件对象包含以下数据。

数据 大小
标识对象的 GUID。 128 位
对象的大小。 64 位。
对象数据。 对象数据可以包含其他 ASF 对象。 不同。

注意

ASF 文件对象只是一块数据。 它不是计算机编程意义上的对象。

ASF 文件包含三种类型的顶级文件对象。

ASF 文件对象 描述
Header 对象
包含有关 ASF 文件的信息。
数据对象
包含媒体数据的数据包。
Index 对象(s)
包含一个或多个索引。 (可选)。)

下图显示了 ASF 文件结构。

显示 asf 文件结构的 关系图,包括标头、数据和索引 中的项

此关系图不绘制为缩放;数据对象通常包含大部分文件。

Header 对象

标头对象是必需的,显示在每个 ASF 文件的开头。 它包含有关 ASF 文件中流的全局文件属性和信息。 此信息用于解释和播放文件中的数据。

Header 对象包含多个疯狂的次对象:

  • 文件属性对象描述文件的全局属性,例如文件大小、播放持续时间、数据包数、最小和最大数据包大小以及最大比特率。
  • 标头扩展对象允许将其他功能添加到 ASF 文件,同时保持向后兼容性。
  • 流属性对象描述文件中的一个流。 ASF 文件必须至少包含一个流,因此至少必须包含一个流属性对象。

Header 对象可以包含其他可选信息,包括有关文件的元数据(如标题和作者)、用于对文件进行编码的编解码器列表,以及内容保护信息。

数据对象

ASF 数据对象包含 ASF 文件的所有媒体数据。 此对象是必需的,必须遵循 ASF 标头对象。

数据对象分为数据包 的数据。 每个数据包包含文件中一个或多个流的数据。 数据包包含一个数据包标头,该标头提供数据包分析信息,后跟有效负载数据的实际数字媒体数据。 所有数据包都具有与其关联的呈现时间,并按收到的顺序排列。

数据对象的内容(如数据包大小和数据包计数)的信息存储在 Header 对象中。

索引对象

Index 对象是可选的,是 ASF 文件中的最后一个对象。 ASF 文件可以包含多个索引对象。 索引对象提供对 ASF 数据对象的基于时间的随机访问。

简单索引对象是另一种类型的索引。

媒体基础 中的 ASF 支持