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 支持