理论上,以15 FPS工作的USB HD网络摄像头消耗的带宽接近18MB / s-1280(宽)x 960(高)x 3(RGB通道)x 15(FPS)-不压缩。USB 2.0控制器的有效吞吐量为35MB / s,能够处理2个摄像头(我已经在实践中证实了这一点)。一个USB 3.0控制器理论上的最大传输速度为625MB / s,能够处理34个摄像机(625/18 = 34.72),为方便起见,假设它最多可以处理8个摄像机(尚未确认)。使用这两个假设,可以估计母板P8B75-V可以同时处理至少50个网络摄像头:
- 3个PCIe插槽(一个PCIe x4和两个PCIe x1,不包括图形卡上的PCIe x16):使用适配器 + USB 3.0 HUBS将它们转换为USB 3.0 ,从而形成24个网络摄像头
- 2个USB 3.0控制器(前后):USB 3.0 HUBS可实现16个网络摄像头
- 3个PCI插槽:使用适配器将每个插槽转换为USB 2.0 ,从而产生6个网络摄像头
- 2个USB 2.0控制器:4个网络摄像头
所以,我的问题是:
这种配置真的可行吗?有没有人试图通过这么多USB网络摄像头使系统过载?
问题:
- 处理器可能过载。使用未压缩的图像捕获可以解决此问题。
- SO可能会遇到很多麻烦,无法处理许多设备。
注释:
- 到外部设备的CPU总线-Intel的Quick Path Interconnect(QPI)和AMD的Hyper-transport-没问题,因为50MB / s * 18MB / s = 900MB / s。这与QPI的 25.6GB / s和Hyper-transport的51.2GB / s的总线数据速率相差甚远。
- 我正在使用OpenCV来实现此应用程序的软件,该软件将捕获内容包装在DirectShow周围。
编辑12/11/12:
因此,我已经做了一些测试,有一些要澄清的地方。
30 FPS的高清图像流表示带宽为106MB / s(15 FPS时为53MB / s),我的数学是完全错误的。这意味着使用USB 2.0的高清网络摄像头需要压缩文件以不占用所有带宽。因此,即使我能够在一台PC上连接50个网络摄像头,CPU实时解压缩大量数据也可能会遇到很多麻烦。
真正的问题出在我们看到USB 3.0规范时:
如图所示,USB 2.0 HUB与USB 3.0 HUB(SuperSpeed)完全分开,这意味着USB 2.0设备无法使用SuperSpeed带宽。这是我的一个主要缺陷,即我可以将更多的USB 2.0设备与USB 3.0控制器一起使用。
由于该规范已有一定历史(大约2年),有人可以确认是否有USB 3.0规范的某些新实现在USB 2.0设备之间共享SuperSpeed带宽吗?