媒体平台

Media FoundationDirectShow 为 Windows 中的媒体支持提供了基础。 Windows Vista 中引入了 Media Foundation 作为 DirectShow 的替代项。 在 Windows 7 中,媒体基础已得到增强,提供更好的格式支持,包括 MPEG-4,以及对视频捕获设备和硬件编解码器的支持。

格式支持

在 Windows 7 中, 媒体基础 提供广泛的格式支持,包括 H.264 视频、 MJPEGMP3 的编解码器; MP43GPAAC 音频和 AVI 的新源;以及 MP43GPMP3 的新文件接收器。 (请参阅 Media Foundation 中支持的媒体格式。)

硬件设备

Media Foundation 现在支持音频/视频管道中以下类型的硬件设备:

  • UVC 1.1 视频捕获设备,例如网络摄像头
  • 音频捕获设备
  • 硬件编码器和解码器
  • 硬件视频处理器,如颜色空间转换器

硬件编解码器可以执行非常快速的视频转码。 例如,假设你想要将 Windows Media 视频 (WMV) 文件传输到仅支持 3GP 文件的手机。 使用硬件编码器时,可以“根据需要”对文件进行转码,然后再将其传输到设备。

硬件设备在 媒体基础 中由代理对象表示,并且与基于软件的组件一样在管道中使用。 (查看 媒体基础的新增功能。)

简化的编程模型

在 Windows Vista 中, Media Foundation 公开了一组相对较低的 API。 这些 API 很灵活,但可能不适合执行任务。 Windows 7 添加了新的高级 API,使使用 C++ 编写媒体应用程序变得更容易。 这些新的高级 API 包括:

  • MFPlay。 这些 API 专为音频和视频播放而设计。 它们支持典型的播放操作 (停止、暂停、播放、查找、速率控制、音频音量等) ,同时) 隐藏会话层和拓扑层 (低级别 API 的详细信息。
  • 源读取者。 可以使用这些 API 从媒体文件拉取原始数据或解码的数据,而无需了解基础格式。 例如,可以从视频文件获取缩略图位图,也可以从网络摄像头获取实时视频帧。
  • 接收器编写器。 可以使用这些 API 通过传入未压缩或编码的数据来创作媒体文件。 例如,可以重新编码或混合视频文件。
  • 转码。 这些 API 面向最常见的音频和视频编码方案。

平台改进

Windows 7 包括对基础 媒体基础 平台 API 的大量增强功能。 高级应用程序可以直接使用这些 API;其他应用程序将间接获得好处。 优势包括:

  • 改进了视频管道,以减少功耗和视频内存使用量。
  • 新的 DVXA 视频处理 API,使用更灵活的合成模型,更适合 HD 视频格式。
  • 改进了枚举和管理插件 (源和解码器) 的方式。

媒体基金会的新增功能