DirectShow 播放mp4编码 视频
来源:互联网 发布:网络机顶盒怎么装 编辑:程序博客网 时间:2024/06/10 02:25
1、初始化 com, 调用CoInitialize(NULL)
2、初始化GraphBuilder, 调用CoCreateInstance。 GraphBuilder是DirectShow中视频的管理类。 非常重要。
3、枚举需要的接口,调用QueryInterface, 常用的有IID_IMediaControl、IID_IVideoWindow等。
4、创建自己需要的Filter(若是播放AVI,则可以略过这一步), 这一步需要分别创建:
分离器: 从磁盘中读取文件,并将视频文件内容分为音频流和视频流。
视频解码器: 将视频流解码为一帧一帧的画面,之后传给视频渲染器。
音频解码器: 将音频流解码为音频设备可播放的形式,之后传给音频播放设备。
视频渲染器: 负责渲染视频画面。
音频渲染器:负责播放声音。
然后,需要将各filter的pin链接起来。形成一个通畅的视频流。之后,输入文件后,DirectShow就会按照事先设定好的线路运转。
5、枚举IID_IFileSourceFilter接口,读取文件。 之后使用MediaControl对视频的播放进行控制。
这个过程需要,预先安装好对应的解码器和分离器。 渲染器系统提供了。 lav filter包含同时分离器和解码器。
我用的是,lav的分离器 lav splitter filter 和 ffdshow的解码器。
同时,如果希望直观的了解这个通路的建立过程,可以使用graphstudionext。
不过,如果希望看到程序的播放通路。需要将graphBuilder加入到ROT(对象活动表)中,具体过程参照MSDN。
参考博客: http://blog.csdn.net/shaqoneal/article/category/1887469
这个博客,详细的介绍了上述的过程。
- DirectShow 播放mp4编码 视频
- DirectShow 播放mp4编码 视频
- DirectShow播放视频
- DirectShow 播放视频
- DirectShow播放视频流程
- h264视频编码的MP4格式视频无法在网页中的adobe flash player中播放
- flv、MP4 视频播放问题
- MP3,MP4,音视频播放
- windows ce directshow播放视频
- directshow获取视频播放消息
- h.264视频编码加生成QT7可播放的mp4文件
- html5播放器的标签与用法(mp4视频编码问题)
- ffmpeg+x264编码mp4格式的视频出现视频帧率很大,导致视频无法播放的问题
- opencv 、directshow捕获摄像头,实时播放,编码,保存视频,保存单帧
- android mp4 3gp视频播放程序
- 视频播放器MP4的简单实现
- iOS用MPMoviePlayerViewController 播放MP4视频
- iOS用MPMoviePlayerViewController 播放MP4视频
- 百度地图API 2014年 v3.0.0版本缩放控件、比例尺控件、指南针控件【控制方法】
- Foundation框架中日期的操作
- Dubbo负载均衡
- MapReduce-定制Partitioner-求文件奇偶数行之和
- MFC 利用小型数据库Access 少步惆 教你用VC开发
- DirectShow 播放mp4编码 视频
- oracle更改服务端字符集
- 【代码笔记】iOS-带索引的tableView
- 136,自定义Copy类
- 【Eclipse】--Eclipse.ini,JDK,JRE,JVM
- Redis 源码分析(zmalloc部分)
- 日经春秋 20151224
- Mybatis自动代码生成插件MybatisGenerator使用
- VC++ fatal error RC1004: unexpected end of file found