当前位置: 代码迷 >> 多媒体/流媒体开发 >> DirectShow,如何实现多视频采集
  详细解决方案

DirectShow,如何实现多视频采集

热度:10861   发布时间:2013-02-26 00:00:00.0
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

你看看这个对你有没有帮助吧~~~
------解决方案--------------------------------------------------------
关注ING……
  相关解决方案