如何在C#中获取网络摄像头图像?

我正在使用C#和.Net4.0开展在线video会议项目。

我想要一个库或代码,我可以用它来以不同的forms每秒收集网络摄像头图像。 我通过使用AVICAP32尝试这个,我们在其中发送消息用于不同目的,如复制或编辑帧。但是在这里我们必须在创建处理程序时传递picturebox的引用,如下所示:

mCapHwnd = capCreateCaptureWindowA("0", 268435456 | 1073741824, 0, 0, 640, 480,picturebox1.Handle.ToInt32(), 0); 

使用这些命令我能够捕获图像,但问题出现在我最小化图片框forms。 那时候不会创造新的形象。

我认为这是因为我最小化了表单,当它从这个剪贴板复制图像时它没有显示任何内容。

我怎么解决这个问题 。 任何类型的帮助将不胜感激。

谢谢srdusad

我使用所有提到的技术(WIA,AviCap和DirectShow)完成了这项工作。 DirectShow是您的最佳选择。 查看免费的DirectShowNet库,它是DirectShow的.NET包装器,它甚至包括样本: http : //directshownet.sourceforge.net/

更新2012-07-26:我刚刚发布了我的Windows应用程序CamTimer的完整源代码(用.NET / C#编写)。 通过https://github.com/johanssonrobotics/CamTimer下载/查看完整代码(带有工作网络摄像头示例)

如果您感觉舒服,可以使用VLC。 VLC提供处理网络摄像头的工具。

使用WIA的其他方法http://www.codeproject.com/KB/cs/WebCamService.aspx