了解Microsoft Media Foundation
关于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的更多相关文章
- 用Microsoft.Solver.Foundation进行线性规划,为WPF应用添加智能
在管理信息系统的开发过程中,往往会涉及到一些线性规划数学模型,例如资源配置优化.微软的Microsoft.Solver.Foundation是一个数学库,可以很好的对线性规划问题进行求解.关于它的细节 ...
- 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 ...
- Microsoft Team Foundation Server 2010 安装 序列号 注册码(转载)
安装过程: 一.安装操作系统 安装Windows 2008 R2简体中文版 二.准备安装过程中的需要的用户账户,并设置相应权限. 具体流程如下: 1.点击“开始”——“管理工具”——“计算机管理” 2 ...
- 解读MMS(Microsoft Media Server)协议
下面是一次截取的MMS协议开始帧 部分(十六进制): 01000000cefa0bb0c00000004d4d5320 18000000000000000000000000000000 1600000 ...
- Intel® Media Server Studio Support
复制自网址:https://software.intel.com/en-us/intel-media-server-studio-support/code-samples Code Samples M ...
- (转) [it-ebooks]电子书列表
[it-ebooks]电子书列表 [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...
- CaptureManagerSDK
Simple SDK for capturing, recording and streaming video and audio from web-cams on Windows OS by Win ...
- Windows api 函数全部列表 (未完成)
网上找了很久,发现没有完整版的,msdn上面有,但是不方便查阅,所以想自己整理一下:由于工程量过于庞大,希望大家共同完成.MSDN:http://msdn.microsoft.com/en-us/li ...
- C++模板类与Qt信号槽混用
一.正文 目前正在做一个视频处理相关的项目.项目的技术栈是这样的,UI层采用Qt来实现基本的数据展示和交互,底层音视频采用的是一套基于FFmpeg的视频处理框架.这是一套类似Microsoft Med ...
- [转载]matlab视频读取函数VideoReader
看到以前matlab中读取视频多 使用mmreader等(参考<matlab读取/播放视频的函数>),而现在matlab有一个专门的视频读取类VideoReader完成视频读取的功能. 相 ...
随机推荐
- k8s修改iptables模式变成ipvs
环境:https://www.cnblogs.com/yangmeichong/p/16477200.html 一.修改 iptables 变成 ipvs 模式 ipvs 采用的 hash 表,ipt ...
- ansible(19)--ansible的playbook
目录 1. playbook简介 2. playbook编写规范 2.1 YAML语法规范 2.2 YAML语法要素 2.3 Playbook核心元素 2.4 Playbook的基础组件 3 Play ...
- 🔥httpsok-v1.8.1 一分钟搞定SSL证书自动续期
httpsok-v1.8.1 一分钟搞定SSL证书自动续期 简介 一行命令,一分钟轻松搞定SSL证书自动续期 httpsok 是一个便捷的 HTTPS 证书自动续签工具,专为 Nginx 服务器设计. ...
- Advanced .Net Debugging 8:线程同步
一.介绍 这是我的<Advanced .Net Debugging>这个系列的第八篇文章.这篇文章的内容是原书的第二部分的[调试实战]的第六章[同步].我们经常写一些多线程的应用程序,写的 ...
- C 语言编程 — 指令行参数
目录 文章目录 目录 前文列表 命令行参数 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本数据类型> < ...
- 基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
安装负载均衡metalb 安装metalb kubectl create namespace metallb-system 配置metalb #kubectl create secret generi ...
- kubernetes 之dashboard
部署 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recomme ...
- vue 常用类库引用
js 端生成guid 类库一:https://github.com/uuidjs/uuid npm i uuid --save 类库二:https://github.com/LiosK/ ...
- ObjectArx 创建一个自定义实体项目步骤
我使用的环境是cad2018+objectarx2018+vs2015+win10.先要安装desk向导程序,用向导创建项目对于初学者来说是很方便的,然后在配置程序编译链接的环境,最后就可以写一个项目 ...
- Redis高可用二( 哨兵sentinel)
Redis高可用二( 哨兵sentinel) 1.主从配置 2.配置哨兵 sentinel.conf # Example sentinel.conf bind 0.0.0.0 protected-mo ...