Windows Media Format 9 系列 SDK 中添加的功能

[与此页面关联的功能 Windows Media Format 11 SDK 是一项旧功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用源读取器和接收器编写器,而不是 Windows Media 格式 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

Windows Media Format 9 系列 SDK 引入了许多改进和功能。 本部分概述这些功能,以便用户从早期版本的 SDK 迁移。

同步读取

可以使用同步调用读取 ASF 文件。 同步读取文件时,可以在读取文件时更改读取器的设置。 SDK 的同步读取操作不支持通过 Internet 读取文件,但你可以使用标准 COM 接口 IStream 从自定义源读取文件。

基于帧的索引

可以基于视频帧为 ASF 文件编制索引。 阅读器和同步读取器都可以查找视频流的帧,并将其他流同步到该帧。

使用 SMPTE 时间代码编制索引和查找

Windows Media Format SDK 使你能够在 ASF 文件中存储 SMPTE 时间代码。 可以通过 SMPTE 时间代码为文件编制索引,异步读取器和同步读取器都可以查找 SMPTE 时间代码索引条目。

DirectShow 筛选器

Windows Media Format SDK 包含两个 Microsoft DirectShow® 筛选器,使基于 DirectShow 的应用程序能够读取和写入 ASF 文件。 DirectShow 还允许应用程序从音频视频设备捕获数据,并解压缩各种格式的数据,然后再将其重新编码为基于 Windows Media 的内容。

增强型配置文件

配置文件可以包含带宽共享信息和流优先顺序信息。 带宽共享使你可以指定两个或更多个流(无论其单个比特率如何)永远不会使用超过指定的带宽量。 配置文件中的带宽共享数据纯粹是信息性的;它不由 SDK 中的任何逻辑强制实施。 使用流优先顺序,可以为配置文件中的流指定优先级顺序。 如果播放时没有足够的带宽来正确流式传输文件,则可以忽略最低优先级流以提高性能。

DRM 写入功能

除了现有的 DRM 读取支持外,Windows Media Format 9 系列 SDK 还添加了对使用 DRM 版本 1 或 DRM 版本 7 保护编写 ASF 文件的支持。 这项新功能支持“实时 DRM”方案,例如直播体育赛事或音乐会的按次付费网络广播。

增强型文件接收器

SDK 的 9 系列版本添加了几个新的文件接收器功能。 可以将文件接收器配置为禁用新创建的 ASF 文件的自动索引。 还可以选择为未受缓冲区的输入和输出配置它。

DirectX 视频加速

DirectX 视频加速 (DXVA) 是一种技术,支持在支持 DXVA 的显卡功能较弱的计算机上播放高比特率视频 (DVD 质量或更好的) 。 在播放 ASF 文件时,可以使用此 SDK 的读取器对象启用 DirectX 视频加速(如果硬件支持)。

多声道音频

你可以对多声道音频进行编码和播放。 Windows Media Audio 9 专业编解码器支持 6 声道和 8 声道以及高清立体声的格式。

水印

可以使用数字水印对 ASF 文件进行编码,以保障安全性。 所有水印系统的方法都不同,但所有水印系统都会将标识嵌入到编码内容中。 使用特殊的第三方 DirectX® 媒体对象执行水印 (DSO) 。

支持 ASF 文件中的多种语言

可以在流和元数据中支持 ASF 文件中的多种语言。 例如,可以使用多种语言的音频流创建视频文件。 在播放时,用户可以选择要使用的语言,或者应用程序可以在播放计算机上查询系统信息并自动选择语言。 还可以多次输入元数据属性,其值采用不同的语言。

设备一致性模板

为了帮助将内容定位到特定客户端设备,Windows Media 编解码器现在支持设备一致性模板。 每个模板都包含一系列定义的设置和编解码器功能,这些设置和编解码器功能应用于特定类别平台的媒体。 最新版本的 Windows Media 编解码器不再支持系统配置文件。 必须自定义所有配置文件以满足你的需求。 可以使用设备一致性模板来帮助你设计配置文件。

展开的编解码器枚举

配置文件管理器对象可以查询 Windows Media 音频和视频编解码器中支持的格式。 可以为检索到的格式设置参数。 例如,你可以检索 Windows Media Audio 9 编解码器支持的所有基于质量的可变比特率格式。

改进的互斥

可以在互斥对象中创建包含多个流的命名记录。 还可以命名互斥对象,使其更易于识别。 这使你可以创建互斥层。 例如,文件可以包含按比特率和语言互斥的流。 基于语言的互斥将涉及流组,每个组由同一语言的流组成,但按比特率相互排斥。

扩展的多比特率支持

对于多个比特率 (MBR) 音频,以及具有不同图像大小的流的视频,都包括相互排除支持。

流的属性

可以将属性分配给 ASF 文件中的各个流。 仍必须为 MP3 文件使用文件级属性。 此功能不会向 SDK 添加任何方法,但现有方法现在将接受除零以外的流编号。

使用智能重压转换代码

智能重压使你能够将 Windows Media 音频文件从高比特率转码到较低比特率,质量比以前实现的更好。

扩展的元数据支持

Windows Media Format SDK 提供以下新的元数据功能:

  • 基于索引的元数据标记,启用具有相同名称的多个标记。
  • 无需 WMStubDRM.lib 文件即可读取 DRM 标头属性。
  • 具有超过 64 KB 的关联数据的属性。
  • 多种语言的属性。
  • 数十个新的预定义属性。

动态像素纵横比

通过标识流中不同样本的像素纵横比,可以容纳由各种类型的内容组成的视频流。 这使播放应用程序能够更好地播放此类内容。

隔行扫描视频流

以前版本的 Windows Media Format SDK 提供了将 交错 内容编码为渐进式扫描视频流的功能。 从 Windows Media Format 9 系列 SDK 开始,你可以对交错视频进行编码,同时保留其隔行扫描格式。 这可以改进播放,尤其是在隔行扫描设备(如电视机)上。

Two-Pass编码

新的 Windows Media 编解码器支持双重编码。 以两个通道编码的内容可以实现更高质量的输出。

新建语音编解码器

此 SDK 包括新的 Windows Media Audio 9 语音编解码器,该编解码器经过优化,可用于在使用低比特率时编码人类语音。 此编解码器还为混合音乐语音内容提供卓越的性能。

辅助视频帧持续时间

你可以让此 SDK 的编写器对象向阅读器提供视频帧的持续时间。

流式处理 HTML

使用此 SDK 的早期版本,可以使用脚本命令向应用程序发出打开网页的信号。 从 Windows Media Format 9 系列 SDK 开始,可以将网页的组件存储在 ASF 文件中,以确保演示文稿中没有延迟。

生成环境不再需要 WMStub.lib

从 Windows Media Format 9 系列 SDK 开始,Windows Media Format SDK 的生成环境设置已更改。 对于使用此 SDK 的应用程序,不再需要包含 WMStub.lib。 但是,启用 DRM 的应用程序仍必须获取并签署单独的许可协议,并从 Microsoft 获取唯一的静态库。 有关 DRM 库和许可协议的详细信息,请联系 wmla@microsoft.com 。 有关使用此 SDK 生成项目的详细信息,请参阅 库文件和编译器设置

关于 Windows Media Format SDK