关于Microsoft Media Foundation

是什么

Microsoft Media Foundation是用来处理(创建、修改、传输、合成)多媒体数据(音视频)的一个平台。

有什么用

Microsoft Media Foundation可以开发视频/音频播放器、视频编辑程序、文件格式转换器、音频视频捕获应用程序、编码器和解码器、数字信号处理器等。

凡是在Windows中涉及到多媒体数据处理的,都可以由Microsoft Media Foundation来完成。

Microsoft Media Foundation是Windows系统的一部分(最低支持Windows Vista系统),所以基于Media Foundation开发的应用程序无需安装任何其他库。

Media Foundation中的重要概念

组件

在Media Foundation中存在各种各样不同的组件,每个组件都有一对输入/输出,通过对输入流进行处理然后输出结果来完成组件的功能,不同功能的组件按正确顺序链接组合在一起就能处理媒体数据了。

每个组件能处理的输入流和输出的数据流是特定的,比如A组件的输出流(处理结果)是ACC音频流而B组件的输入流是MP3音频流那么B就无法处理A的结果。所以要强调正确的链接顺序。

MF组件按功能可分为三类:

媒体源组件:负责从媒体文件、网络或媒体设备等加载多媒体数据流。

数据处理组件:负责具体的数据处理。比如解码、编码或自定义处理逻辑。

呈现组件:管理输出的最终的媒体流。发送给网络或者呈现在屏幕上,或者保存为文件。

MFTopology

组件按特定顺序连接起来表示一个Topology。Topology可以理解为由组件连接在一起的一条管道。Topology可以用来帮助创建管道。

MFSession

Session用来管理媒体数据在Topology中的流动。

MF中的最小功能单元是组件,完全可以只由组件来开发应用。

但是MFTopology和MFSession已经为我们封装好了常见的、重要的功能。所以使用它们开发应用会更加方便

了解Microsoft Media Foundation的更多相关文章

  1. 用Microsoft.Solver.Foundation进行线性规划,为WPF应用添加智能

    在管理信息系统的开发过程中,往往会涉及到一些线性规划数学模型,例如资源配置优化.微软的Microsoft.Solver.Foundation是一个数学库,可以很好的对线性规划问题进行求解.关于它的细节 ...

  2. C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config is not valid and cannot be loaded.

    Recently, we experienced a strange problem with TFS 2010. We spent a few days before we figured it o ...

  3. Microsoft Team Foundation Server 2010 安装 序列号 注册码(转载)

    安装过程: 一.安装操作系统 安装Windows 2008 R2简体中文版 二.准备安装过程中的需要的用户账户,并设置相应权限. 具体流程如下: 1.点击“开始”——“管理工具”——“计算机管理” 2 ...

  4. 解读MMS(Microsoft Media Server)协议

    下面是一次截取的MMS协议开始帧 部分(十六进制): 01000000cefa0bb0c00000004d4d5320 18000000000000000000000000000000 1600000 ...

  5. Intel® Media Server Studio Support

    复制自网址:https://software.intel.com/en-us/intel-media-server-studio-support/code-samples Code Samples M ...

  6. (转) [it-ebooks]电子书列表

    [it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...

  7. CaptureManagerSDK

    Simple SDK for capturing, recording and streaming video and audio from web-cams on Windows OS by Win ...

  8. Windows api 函数全部列表 (未完成)

    网上找了很久,发现没有完整版的,msdn上面有,但是不方便查阅,所以想自己整理一下:由于工程量过于庞大,希望大家共同完成.MSDN:http://msdn.microsoft.com/en-us/li ...

  9. C++模板类与Qt信号槽混用

    一.正文 目前正在做一个视频处理相关的项目.项目的技术栈是这样的,UI层采用Qt来实现基本的数据展示和交互,底层音视频采用的是一套基于FFmpeg的视频处理框架.这是一套类似Microsoft Med ...

  10. [转载]matlab视频读取函数VideoReader

    看到以前matlab中读取视频多 使用mmreader等(参考<matlab读取/播放视频的函数>),而现在matlab有一个专门的视频读取类VideoReader完成视频读取的功能. 相 ...

随机推荐

  1. dotnet 在 UOS 国产系统上使用 Xamarin Forms 创建 xaml 界面的 GTK 应用

    在前面几篇博客告诉大家如何部署 GTK 应用,此时的应用是特别弱的,大概只是到拖控件级.尽管和 WinForms 一样也能写出特别强大的应用,但是为了提升一点开发效率,咱开始使用 xaml 神器写界面 ...

  2. All in One:Prometheus 多实例数据统一管理最佳实践

    01 引言 Prometheus 作为目前最主流的可观测开源项目之一,已经成为云原生监控的事实标准,被众多企业广泛应用.在使用 Prometheus 的时候,我们经常会遇到全局视图的需求,但是数据确分 ...

  3. GOLANG-配置nginx反向代理端口 配置域名

    目录 配置/etc/nginx/nginx.conf文件 新建/etc/nginx/conf.d/doc.haimait.conf文件 重启nginx服务 解析自己的域名到服务器的公网ip 配置/et ...

  4. SpringBoot模拟插入1000000万条数据

    一.数据库表准备 CREATE TABLE `student` ( `id` bigint NOT NULL COMMENT '用户id', `name` varchar(50) COLLATE ut ...

  5. selenium Webdriver版本和浏览器版本不匹配问题:ChromeDriver only supports Chrome version 119 Current browser version is 124.0.6367.202

    问题描述 代码如下: from selenium import webdriver from selenium.webdriver.common.by import By def test01(): ...

  6. 原生微信小程序

    new Date 跨平台兼容性问题 在 Andriod 使用 new Date("2018-05-30 00:00:00")木有问题,但是在ios 下面识别不出来.因为 IOS 下 ...

  7. 初识上位机(下):C#读写PLC数据块数据

    大家好,我是Edison. 作为一个工业自动化领域的程序员,不懂点PLC和上位机,貌似有点说不过去.这里我用两篇小文带你快速进入上位机开发领域.后续,我会考虑再出一个系列文章一起玩工控上位机. 上一篇 ...

  8. kubernets之高级调度

    一 节点的污点以及pod的容忍度以及节点的亲缘性对比 1.1 首先需要介绍的是节点的污点以及pod的污点容忍度 污点是节点的属性,容忍度是pod的属性,只有当一个pod的容忍度包含节点的污点,pod才 ...

  9. ESP8266资源整理

    概述 整理下学习ESP8266期间有价值的资料 乐鑫官网文档中心 主要参考资料来源,一手资料最有价值,另外官网还有选型工具.产品对比等实用工具 https://www.espressif.com.cn ...

  10. 首次调用u8api遇到的问题总结

    1.检索 COM 类工厂中 CLSID 为 {72A6FADA-FE26-46BD-A921-BFD1179C1E1E} 的组件时失败,原因是出现以下错误: 80040154.   解决办法是,把编译 ...