读书人

DirectShow,如何实现多视频采集

发布时间: 2012-04-17 15:06:33 作者: rapoo

DirectShow,怎么实现多视频采集
单视频的采集和保存,我已实现了,现想请教怎么实现多视频的采集和保存.

以下为单视频采集的思路(整个实现过程只用到一个过滤器管理)
1、以构造出一个完整的视频采集过滤器图表
IGraphBuilder *pGraph; //过滤器管理器
ICaptureGraphBuilder2 *pBuild; //视频采集过滤器图表

2、查找摄像头设备
3、视频开始采集和保存
IFileSinkFilter* fsFilter=NULL;
IBaseFilter* vedioWriter=NULL; //设置保存文件并初始化vedioWriter
hr=pBuild->SetOutputFileName(&MEDIASUBTYPE_Avi,L"D:\\A.avi",&vedioWriter,
&fsFilter);
//保存文件
hr=pBuild->RenderStreamPIN_CATEGORY_CAPTURE,&MEDIATYPE_Video,pSrc,NULL,vedioWriter);


对于多视频采集,如果用多线程创两个过滤器管理应该实现可以两个视频的预览,
可是怎么实现把两个窗口的视频保存在一个文件里?
其实最想问:怎么实现多视频(多个摄像头)采集,并保存?
实现的思路?最好有相关代码参照。谢谢。


[解决办法]
如果分开采集/保存,这个不难。要是想存成同一个 文件,可以考虑自己写个trans,输出pin一个,而动态创建输入pin,有几个采集就创建几个。内部自己做合并
[解决办法]
多路合并好像有开源的filter,intervideo
[解决办法]
个人觉得可能要多路视频采集卡才可以吧~~

http://www.pudn.com/downloads67/sourcecode/windows/directx/detail241342.html

你看看这个对你有没有帮助吧~~~
[解决办法]
关注ING……

读书人网 >多媒体

热点推荐