我正在考虑将多个低分辨率USB网络摄像头连接到一台计算机。这会对性能产生什么影响?例如,四台320x240相机如何与单个640x480相机相比?我不熟悉USB接口的架构,有什么性能提示?根据性能,我的意思是,与单个相机相比,它会如何影响从多个相机读取图像数据的时间。
答案 0 :(得分:2)
每个网络摄像头都连接到不同的USB端口?如果是这样,它很好。
即使只有1个端口连接了4个网络摄像头。我不认为4 320x240也会有任何问题。 USB 2.0 = 320Mbps 。流式传输320x240视频的速度不会超过1mbps。最糟糕的情况是,将320x240放在2mbps + 1mb的其他数据上。这将是你的usb端口和设备之间的12mbps带宽。
因此,从上面可以看出,1个USB端口可以处理由分路器连接的4个网络摄像头,速度与1 640x480网络摄像头一样快。
处理这些图像取决于您的计算机速度以及编写算法的方式。
答案 1 :(得分:1)
USB的最大数据速率高于您实际获得的数据速率。 网络摄像头可能会使用同步传输,在USB 2下只能获得大约40%(如果我没记错的话)总线时间,这也有很大的开销。 我不确定,但我怀疑这就是几年前usb网络摄像头分辨率和数据速率似乎达到上限的原因。使用USB 3可能会再次开始增加。 我建议您将每个摄像头连接到自己的USB 2端口,因为40%是在所有等时连接之间共享的。 其中一个与键盘甚至USB大容量存储设备共享带宽的连接应该没问题,因为它们只会使用其余带宽的一部分。
答案 2 :(得分:1)
错误。
首先,USB 2.0的理论值为480mbps,通过直接连接,你应该可以达到80%左右。
其次,要计算相机使用的带宽,必须考虑图像位深度,因此: BW = hresolution()* vresolution()* imagebitdepth(bit)*帧率(帧/ s)(以位/秒为单位) 对于网络摄像头,imagebitdepth可以是8位,16位,24位或32位(范围从Y800单色到RGBA / RGBT颜色已满,查看规格)
因此,典型的网络摄像头@ 640 * 480分辨率,30fps,16位RGB位掩码RGBA图像位深度将需要147.456 Mbps,因此,类似规格之一但是@ 320 * 240分辨率需要36.864 Mbps,相反Shawn上面用他的1mbps表示的主要BS,这也与他所有其他的,也是错误的数据不一致。
然而,模拟操作在很大程度上依赖于驱动程序,制造商需要花费极少的工作量并将独特的设备ID暴露给DirectShow。