【Media Foundation】新版本的更新与改进

/*
* 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 Readersource reader从媒体文件中拉取原始(raw)或编码数据。例如,可以使用source reader从一个视频文件获得缩略图,或分析一个音频文件的波形数据。还可以用它从音频或视频捕获设备获得实况数据。
Sink Writersink 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修改

相关主题

关于Media Foundation
Microsoft Media Foundation

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值