ASF 标头对象的媒体基础属性
文件的顶级 ASF 标头对象包含多个 ASF 子标头对象。 ContentInfo 对象存储所有这些标头对象中的信息,并通过属性向应用程序公开某些值。
文件属性对象
此标头对象存在于所有 ASF 文件中。 这些字段描述整个演示文稿的文件级属性。 下表列出了文件属性对象中的字段和相应的演示文稿描述符属性。
“文件属性对象”字段 | 演示文稿描述符属性 | 说明 |
---|---|---|
文件 ID | MF_PD_ASF_FILEPROPERTIES_FILE_ID | 此文件的唯一标识符。 |
文件大小 | MF_PD_TOTAL_FILE_SIZE | 文件大小,以字节为单位。 |
创建日期 | MF_PD_ASF_FILEPROPERTIES_CREATION_TIME | 文件创建日期和时间。 |
数据包计数 | MF_PD_ASF_FILEPROPERTIES_PACKETS | ASF 数据对象中的数据包数。 |
播放持续时间 | MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION | 播放文件所需的时间(以 100 纳秒为单位)。 此值包括预滚动时间。 |
发送持续时间 | MF_PD_ASF_FILEPROPERTIES_SEND_DURATION | 发送文件所需的时间(以 100 纳秒为单位)。 |
预滚动 | MF_PD_ASF_FILEPROPERTIES_PREROLL | 播放文件前缓冲数据的时间长度,以 100 纳秒为单位。 |
Flags | MF_PD_ASF_FILEPROPERTIES_FLAGS | 指示文件是广播还是可查找的标志。 |
最小数据包大小 | MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE | 文件中数据包的最小大小(以字节为单位)。 |
最大数据包大小 | MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE | 文件中数据包的最大大小(以字节为单位)。 |
最大比特率 | MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE | 最大瞬时比特率,以位数/秒为单位。 |
流属性对象
此标头对象描述 ASF 文件中流的属性。 在 Media Foundation 中,这由配置文件对象和流配置对象管理。 有关详细信息,请参阅 创建和配置 ASF 流。
编解码器列表对象
如果存在此标头对象, 则 MF_PD_ASF_CODECLIST 属性提供用于对 ASF 文件中的流进行编码的编解码器列表。 每个流都应在此对象中具有其编解码器信息。
脚本命令对象
如果存在此标头对象,它将指定 ASF 文件中支持的脚本命令列表。 脚本命令由命令类型、命令名称和演示时间组成。 命令类型和命令名称是宽字符字符串。 这些命令可用于通知客户端在演示文稿中的某个时间点执行操作。 例如,应用程序可以使用命令类型“FILENAME”播放连续序列的 ASF 文件。
若要获取脚本命令的列表,请从演示文稿描述符中获取 MF_PD_ASF_SCRIPT 属性。 应用程序应在开始播放之前检索所有脚本命令。
Marker 对象
标记是 ASF 文件中的书签。 应用程序可以使用标记来查找内容中的不同点。 每个标记由标记名称、关联的演示时间和距文件开头的偏移量组成。 MF_PD_ASF_MARKER 属性提供可用于文件的标记列表。
流比特率属性对象
此标头存储 ASF 文件中存在的每个流的平均比特率。 此值存储在 MF_SD_ASF_STREAMBITRATES_BITRATE 属性中的流的流描述符上。
内容加密对象
如果内容提供商已使用 Microsoft 数字版权管理保护内容,则存在此标头对象。 下表列出了内容加密对象中的字段和相应的演示文稿描述符属性:
内容加密对象字段 | 演示文稿描述符属性 | 说明 |
---|---|---|
机密数据 | MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA | 包含机密数据的字节数组。 |
保护类型 | MF_PD_ASF_CONTENTENCRYPTION_TYPE | 值为“DRM”的以 Null 结尾的字符串。 |
密钥 ID | MF_PD_ASF_CONTENTENCRYPTION_KEYID | 以 Null 结尾的字符串,用于描述密钥标识符。 |
许可证 URL | MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL | 以 Null 结尾的字符串,其中包含要从中获取使用内容的许可证的 URL。 |
扩展内容加密对象
如果内容提供程序已使用 Windows Media Rights Manager 7 SDK 保护内容,则存在此标头对象。 MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL 属性提供对应于标头对象的 Data 字段的字节数组。 使用此内容需要此字段。
扩展流属性对象
此标头是标头扩展对象的一部分。 扩展流属性对象提供流属性对象中未定义的流属性。 这些属性主要用于确定解码器使用的“泄漏桶”参数。 压缩数据时,编码器也会使用这些属性。 这由配置文件对象和流配置对象管理。 有关详细信息,请参阅 创建和配置 ASF 流。
下表列出了扩展流属性对象字段和相应的流描述符属性。
“扩展流属性”字段 | 流描述符属性 | 说明 |
---|---|---|
数据比特率 | MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE | 平均数据速率(以位/秒为单位)。 |
缓冲区大小 | MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE | 泄漏的存储桶大小。 值是可以在平均数据速率下放入缓冲区的数据的毫秒数。 |
备用数据比特率 | MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE | 峰值数据速率,以每秒咬数为单位。 峰值数据速率用于比特率可变的流。 |
备用缓冲区大小 | MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE | 最大泄漏桶大小。 值是在峰值数据速率下可以容纳在缓冲区中的数据的毫秒数。 |
流语言 ID | MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX | 流使用的语言,指定为语言列表对象中语言列表中的索引。 |
语言列表对象
此标头对象是标头扩展对象的一部分。 如果存在, MF_PD_ASF_LANGLIST 属性提供文件中支持的语言标识符列表。 标识符符合 RFC 1766,用于指定语言。
互斥对象
此标头指定一组流及其属性,一次只传递其中一个。 有关详细信息,请参阅 对 ASF 流使用相互排除。
相关主题