Direct3d 11下加入视频文件并实现音频视频同步
来源:互联网 发布:sql left join 分页 编辑:程序博客网 时间:2024/05/16 19:15
Media foundation作为微软目前视频和音频解码的标准库,里面有几乎所有window平台下的功能,最近因为项目要实现在mygui下播放视频,所以就研究了下该库,做法和directshow 中dump的例子很像。定义一个继承自IMFSampleGrabberSinkCallback的类,具体函数可以参照微软官方音频捕获的例子。
然后再找到media foundation 利用mediasession 播放视频的例子。然后只要改写其功能中render部分,将发送给显示硬件的数据接口改为发送到自己定义的接收区,这样就可以实现数据抓取了。由于代码太大而且比较多久不一一解释了
用到的接口有以下几种:
IMFMediaSource
IMFMediaSession
IMFMediaSource
IMFVideoDisplayControl
SampleGrabberCB
IMFAsyncCallback
IMFSourceResolver
IMFMediaTypeHandler
IMFActivate
IMFMediaType
IMFStreamDescriptor
IMFTopologyNode
IMFTopology
IMFPresentationDescriptor
有想法的联系:
362783516@qq.com
- Direct3d 11下加入视频文件并实现音频视频同步
- ffmpeg 写音视频文件并同步
- 获取raw下的视频文件并播放
- 网页中加入视频文件
- 用VC2005实现视频文件与GPS轨迹同步播放
- 直接读取raw文件下的视频文件并播放
- 在网页中加入视频文件
- 音频视频
- Direct3D学习(七):DirectX下天空盒子的实现
- Direct3D 11
- Linux 下实现RTP实时打包发送H.264视频文件
- Opencv中的Bug(实现读入一个彩色视频文件并以灰度格式输出这个视频文件,学习opencv例2-10)
- Direct3D立体显示实现
- Direct3D实现2D
- Direct3D立体显示实现
- Direct3d 实现输入法
- Direct3D实现四视图
- html5中如何加入音乐文件和视频文件
- HDU 2255 KM算法
- 介质管理 oracle sbt
- 求1/3-3/5.....+19/21的和
- MyDlg.DoModal()
- 指定tracefile文件大小
- Direct3d 11下加入视频文件并实现音频视频同步
- ubuntu 下 Sublime text 2 的CoffeeScript 开发环境配置
- JPA注解
- Android google maps api程序安装失败 手机安装时缺少google map api 的解决方法
- 分数相加
- JAVA日期操作
- 移动硬盘删除东西后 内存不变
- 折半查找(递归)——ANSI C实现
- Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-stand