媒体平台
Media Foundation 和 DirectShow 为 Windows 中的媒体支持提供了基础。 Windows Vista 中引入了 Media Foundation 作为 DirectShow 的替代项。 在 Windows 7 中,媒体基础已得到增强,提供更好的格式支持,包括 MPEG-4,以及对视频捕获设备和硬件编解码器的支持。
格式支持
在 Windows 7 中, 媒体基础 提供广泛的格式支持,包括 H.264 视频、 MJPEG 和 MP3 的编解码器; MP4、 3GP、 AAC 音频和 AVI 的新源;以及 MP4、 3GP 和 MP3 的新文件接收器。 (请参阅 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 视频格式。
- 改进了枚举和管理插件 (源和解码器) 的方式。
相关主题