2011-04-09 157 views
3

我的程序中有两个图,每个人都可以控制一个USB摄像头捕捉视频数据。Directshow,捕获两个USB摄像头,不能同时启动

我可以分别启动它们没有像问题:

cam_a.start(); 
sleep(100); 
cam_b.start(); 

然而,如果没有“睡眠”第二图表将不能正确执行,没有像文件写入和没有帧显示。

任何人都可以帮助解决这个问题吗?

Win7的64位,窗户SDK 7 罗技C210网络摄像头 罗技C510网络摄像头 Directshow的视频拍摄。

+1

也许dshow的错误或错误内的一个CAM驱动程序?你能否用另外两种不同的CAM再次测试你的应用程序? – 2011-04-09 09:25:00

+0

或者,由两个文件源伪造的CAM? – 2011-04-09 09:26:34

+0

我可以使用一个DV摄像头(1394)+ usb摄像头或两个Dv摄像头(1394)。但是,如果两个USB摄像头,我必须在那里延迟。 – 2011-04-09 09:38:58

回答

2

在Windows中Logitech USB Cams通常基于TWAIN/WIA(http://www.twain.org,http://msdn.microsoft.com/en-us/library/ms630368%28v=vs.85%29.aspx)。您的问题可能是由Logitech TWAIN/WIA驱动程序不是线程安全的或有错误引起的。您的DV-1394摄像头可能使用了不同的驱动程序,因此不会与Logitech驱动程序发生冲突。