1简介
Media Foundation是微软在Windows Vista上推出的新一代多媒体应用库,目的是提供Windows平台一个统一的多媒体影音解决方案,开发者可以通过Media Foundation播放视频或声音文件、进行多媒体文件格式转码,或者将一连串图片编码为视频等等。Media Foundation 是DirectShow为主的旧式多媒体应用程序接口的替代者与继承者,在微软的计划下将逐步汰换DirectShow技术。Media Foundation要求Windows Vista或更高版本,不支持较早期的Windows版本,特别是Windows XP。
Media Foundation 长于高质量的音频和视频播放,高清内容(如HDTV, 高清电视)和数字版权管理(DRM)访问控制。Media Foundation在不同的Windows版本上能力不同,如Windows 7上就添加了H264编码支持。Windows 8上则提供数种更高质量的设置。
2架构
Media Foundation (以下简称MF) 架构分为控制层(Control layer),核心层(Core layer)与平台层(Platform layer)。大部分MF功能均由核心层提供,开发者则由控制层来控制行为。一般开发者仅须了解控制层与核心层,几乎不须接触平台层。
Media Foundation提供了两种编程模型,第一种是以Media Session为主的媒体管道模型(Media pipeline)。但是媒体管道模型太过复杂,且曝露过多底层细节,故微软于 Windows 7 上推出第二种编程模型,内含SinkWriter、SourceReader、以及Transcode API三部分,大大简化了MF的使用难度。
媒体管道(pipeline)分三个组成部分:媒体来源(Media Source),媒体接收器(Media Sink)和媒体平台变换(Media Foundation Transforms)。
3平台变换
媒体平台变换(Media Foundation Transforms)推出了一个革新式的技术 DirectX Media Objects (DMOs)。混合DMO的/ MFT的对象也可以创建。应用程序可以使用MFTs内的管道,或直接使用它们作为独立的对象。其种类如下:
• 音频和视频编解码器
• 音频和视频效果
• Multiplexers 和 demultiplexers
• Tees
• 色彩空间转换器
• Sample-rate converters
• 视频定标器(Video scalers)
微软建议开发人员编写MFTs,取代DirectShow筛选器。
4渲染器
Media Foundation 使用 Enhanced Video Renderer (EVR)作为渲染器。它可以组合多达16个同步流(simultaneous streams),第一流是一个参考流(reference stream)。
5相对优势
MF提供了以下好处:
• 可扩展的高清晰度内容和数字版权管理保护(DRM-protected)的内容。
• 允许DirectX视频加速用于之外DirectShow的基础设施。支持DXVA 2.0。
• MF的可扩展性(extensibility),使不同的内容保护系统一起运作。
• 使用多媒体类型计划程序服务(MMCSS),是一个新的系统服务在Windows Vista。
6应用支持
Media Foundation 首次适用于 Windows Vista, 可见诸于 media playback applications。

Media Foundation相关推荐

  1. 关于Windows media foundation打开摄像头无法获取到数据问题

    之前开发应用的时候一直使用的是direct show接口,后面想着使用windows media foundation接口试试,结果始终获取不到数据,关键代码如下: 这里我采用的是异步的方式去读取数据 ...

  2. Media Foundation——媒体类型(1)

    Media Foundaton对象的属性和特性 每一个对象上的数据,都可通过"属性(Attributes)"和"特性(Properties)"来设置.描述.属性 ...

  3. 视频特效滤镜 via Media Foundation Transform (MFT)

    视频特效滤镜 via Media Foundation Transform 视频特效定义 Media Foundation Transform IMFTransform::GetInputStream ...

  4. 音频特效滤镜 via Media Foundation Transform (MFT)

    音频特效滤镜 via Media Foundation Transform 音频特效定义 Media Foundation Transform IMFTransform::GetInputStream ...

  5. Microsoft Media Foundation官方文档翻译(20)《Stream Subtype GUIDs》《...

    官方英文文档链接:https://docs.microsoft.com/en-us/windows/desktop/medfound/stream-subtype-guids 基于05/31/2018 ...

  6. Media Foundation与DirectShow的具体差别有哪些

    DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的新一代基于COM(Component Object Model)的流媒体处理的开发包,与Dire ...

  7. Windows使用Media Foundation采集摄像头数据

    文章目录 前言 一.头文件 二.MF对象 三.示例 总结 前言 在Windows上采集摄像头的数据的方法有几种,vfw.directshow.mf.vfw过于老旧,directshow使用比较复杂,m ...

  8. Microsoft Media foundation概述(附实例)

    Microsoft Media Foundation是微软新一代多媒体开发平台,用以取代原来的Directshow,为了满足现在多媒体播放的高清晰,高品质,颜色管理,以及充分利用硬件加速等功能而建立的 ...

  9. Media Foundation——架构

    Media Foundation在windows7中的功能被大大增强,包括支持了更多的格式.支持采集.支持硬件编码器接口等,扩展了接口.增强了API等.本系列将逐一讲解.先介绍架构.

最新文章

  1. Java程序员到什么级别可以去BAT上班?
  2. 慕课网_《微信授权登录》学习总结
  3. 洛谷P1373 小a和uim之大逃离
  4. NYOJ 312 20岁生日
  5. 吴恩达 coursera AI 第一课总结+作业答案
  6. [渝粤教育] 中国地质大学 国际贸易理论 复习题 (2)
  7. 【渝粤题库】国家开放大学2021春1356高级英语听说(2)题目
  8. android 酷炫倒计时,android 好用的倒计时
  9. __eq___C ++'and_eq'关键字和示例
  10. 前端学习(1965)vue之电商管理系统电商系统之渲染添加参数的按钮
  11. 连接mysql数据库时提示2003-can t connect to MySQL server on ip(10060)的解决办法
  12. python基础字典(七)
  13. jupyter notebook 中添加 Julia kernel
  14. PHP 进程间通信——消息队列(msg_queue)
  15. Scratch3.0界面介绍
  16. 华为手机连电脑当摄像头用_怎么用华为手机当电脑摄像头?
  17. 【常用方法】ContactsUtil-联系人工具类
  18. Illegal string offset错误
  19. mongoDB数据库mong.conf配置文件的问题
  20. 以前写的代码感觉很有用

热门文章

  1. 多个快手账号要如何管理
  2. 11.FREQUENCY AND TEMPORAL CONVOLUTIONAL ATTENTION FORTEXT-INDEPENDENT SPEAKER RECOGNITION(2019.10)
  3. SpringSecurity:request was rejected because the URL contained a potentially malicious String “//“
  4. Magica Cloth 属性介绍
  5. 【示例详解】AutoCAD处理控件Aspose.CAD8月新更!支持加载大型DWG文件
  6. 符合条件的博士生,可安排300平以上别墅一幢!浙江一村庄重磅引才……
  7. int main()和void main()
  8. vue 前端导入excel文件,并展示出
  9. 快速设计元器件原理图库和PCB封装库
  10. 在北京,想租一辆车去跑滴滴划算吗?