/*
* blackboy psyc209@163.com
* QQ群: 135202158
* 转载请注明作者及出处
*/
原文:http://msdn.microsoft.com/en-us/library/bb970511(v=vs.85)
Windows Vista引入了Microsoft Media Foundation,用于替换DirectShow。当然,Windows 7仍然支持DirectShow,但更鼓励开发者在新的数字媒体应用程序中使用新的Media Foundation。
Media Foundation的改进主要有:
- 更好的格式支持,包括MPEG-4
- 支持捕获设备和硬件编解码器
- 简化的编程模型
- 针对平台的改进
更好的格式支持
Windows Vista实现了Media Foundation音视频管道,但它仅支持一组有限的格式和文件封装,这意味着一些应用程序需要用回以前的技术,如DirectShow。在Windows 7上,Media Foundation包含以下新的codecs、media sources和media sinks:
- AAC编、解码器
- AVI/WAVE文件源
- DV视频解码器
- H.264视频编、解码器
- MJPEG解码器
- MP3文件sink*
- MP4/3GP文件源
- MP4/3GP文件sink
*注意 MP3文件sink不包括MP3音频编码器。
更多信息,见:Supported Media Formats in Media Foundation.
硬件设备支持
Media Foundation目前支持音视频管道内的以下硬件设备类型:
- UVC 1.1视频捕获设备,如webcams
- 音频捕获设备
- 硬件编码器和解码器
- 硬件视频处理器,如色彩空间转换器(color-space converters)
硬件编码器可以非常快地完成视频转码。例如,应用程序可以把Windows Media Video(WMV)文件传送到一个仅支持3GP文件的手机上。使用硬件编码器,应用程序可以在传送之前,在后台完成文件转码。
硬件设备在Media Foundation中用代理对象(proxy object)来表示,用于管道(pipeline)时就和其他软件组件一样。
简化的编程模型
在Windows Vista,Media Foundation暴露一组相对低层的APIs。这些APIs虽然灵活,但对于常规任务来说太复杂了。Windows 7添加了新的高层APIs,简化了C++开发多媒体应用程序的难度。这些新的高层APIs包括:
API | 描述 |
---|---|
Source Reader | source reader从媒体文件中拉取原始(raw)或编码数据。例如,可以使用source reader从一个视频文件获得缩略图,或分析一个音频文件的波形数据。还可以用它从音频或视频捕获设备获得实况数据。 |
Sink Writer | sink writer用于将非压缩或编码后的数据创作(author)为媒体文件。例如,可以用它重新编码一个媒体文件,或将webcam捕获的实况视频存成文件。 |
Trancode API | 此特性支持常见的音视频编码场景。 |
你仍可使用低层的Media Foundation APIs。如果要对音视频管道添加更多控制,可能会需要这么做。
针对平台的改进
Windows 7包含多项针对底层Media Foundation平台APIs的增强。高级应用程序可以直接使用这些APIs;其他应用程序可间接地从之受益。更新包括:
- 视频管道的更进,减少了电量消耗和视频内存使用量。
- DXVA-HD: Microsoft DirectX Video Acceleration High Definition(DXVA-HD)是用于视频硬件加速的新API。 DXVA-HD提供了比之前的DXVA视频处理API更灵活的复合模型(compositing model),且能更好地适用于高清视频格式。
- 枚举sources和decoders的新机制,包括merit values和一个preferred/blocked列表。该特性提高了整个系统的可靠性。更多信息,见以下主题:
SDK修改
- New headers and library files: Media Foundation Headers and Libraries
- DLL and .lib changes: Library Changes in Windows 7
- New SDK Samples:
- Improvements to TopoEdit:
- Support for transcoding. See Building a Transcode Topology with TopoEdit.
- Support for audio and video capture. See Topology Menu.
相关主题
关于Media Foundation
Microsoft Media Foundation