MF(一)了解 media Foundation
来源:互联网 发布:同花顺软件官方网站 编辑:程序博客网 时间:2024/06/07 06:55
刚刚想学习一下DirectShow ,却发现MS 又搞出来了一个 Media Foundation, 而且MS 推荐采用Media Foundation 的技术来做多媒体的开发。 MF 是 Dshow 的后继者。 追随新的技术是明智的,因为新的技术产生往往是解决已有技术不能解决或者不容易解决的问题。
MF (MMF) 是在 vista 之后引入的技术。 MF 有很多优化和增强,主要是下面几个方面:
1. 更好的支持多媒体的格式,包含 MPEG-4
2. 支持录制设备和硬件解码
3. 编程模型更加简单
4. 增强的多媒体平台
在vista 上, MF 并没有支持很多种多媒体格式,但是在window 7 中,已经可以支持如下的 source,sink 了。
AAC decoder
AAC encoder
AVI/WAVE file source
DV video decoder
H.264 video decoder
H.264 video encoder
MJPEG decoder
MP3 file sink* (不包含 mp3 音频解码器)
MP4/3GP file source
MP4/3GP file sink
MF 的编程模型更加灵活,基本上,有两种模型,如下图:
MF 中常用的一些概念有:
1. Attributes。 这个概念是在MF 中用来配置对象,描述媒体格式,对象属性等。(IMFAttributes )
2. Media Type。 用来描述 媒体或者数据流的类型
3. Media buffers。 用来存储媒体数据。
4. Media samples。 媒体的sample
5. Media source。 倒入数据到管道的对象(实体),可能是从本地文件倒入数据流,也可能是从网络倒入,或者其他的刻录设备。
6. Media Foundation Transforms (MFT) ,在处理数据量的对象(实体),可能是编码器,或者解码器,或者特效增强等。
7. Meida Sinks。消耗数据量的对象(实体),可能是把图形渲染到显示设备上,可能是把数据流写入到文件中。
8. Media session。 通过管道控制数据的对象(实体)包含了 Media source, MFT, Media sink. 类似directshow 中的filter graphic
- MF(一)了解 media Foundation
- MF(二) Media Session
- Media Foundation学习笔记(一)重要概念
- Media Foundation学习笔记(一)重要概念
- Media Foundation
- Media Foundation学习笔记(六)Media Foundation的架构 Media Session
- Media Foundation学习笔记(六)Media Foundation的架构 Media Session
- Microsoft Media foundation概述(附实例)
- Media Foundation学习笔记(二)Media Foundation的架构 概览
- Media Foundation学习笔记(三)Media Foundation的架构 基本对象类型
- Media Foundation学习笔记(四)Media Foundation的架构 Platform API
- Media Foundation学习笔记(五)Media Foundation的架构 Pipeline
- Media Foundation学习笔记(七)Media Foundation的架构 Source Reader
- Media Foundation学习笔记(二)Media Foundation的架构 概览
- Media Foundation学习笔记(三)Media Foundation的架构 基本对象类型
- Media Foundation学习笔记(四)Media Foundation的架构 Platform API
- Media Foundation学习笔记(五)Media Foundation的架构 Pipeline
- Media Foundation学习笔记(七)Media Foundation的架构 Source Reader
- 每天上下班之前读一遍,直到铭记在心……
- 如果人生不曾相遇
- quartz CronExpression表达式
- OpenCV2学习笔记(七):使用Canny算子检测轮廓
- git stash (把临时修改暂时存放起来)
- MF(一)了解 media Foundation
- STL顺序容器操作5
- iOS客户端学习-字符串比较大小
- 【转+分析】JAVA: 为什么要使用"抽象类"? 使用"抽象类"有什么好处?
- 【Android UI设计与开发】第14期:顶部标题栏(五)两种方式实现仿微信标题栏弹窗效果
- lua的类与继承
- Android开发:实时处理摄像头预览帧视频------浅析PreviewCallback,onPreviewFrame,AsyncTask的综合应用
- Django1.7+Apache2.4部署
- 内存池实现示例