我想在我的笔记本电脑上同时运行六个摄像头(同时录制视频)。
我面临的问题是 USB 端口不够用。所以我买了一个 USB 集线器,但它工作得不太好,因为它会将 USB 带宽分配给连接到该集线器的相机。
所以现在我正在寻找另一种方式来为我的笔记本电脑添加额外的 USB 插槽。
或者以某种方式将我的台式电脑连接到我的笔记本电脑,这样我就可以使用台式电脑的 USB 端口在笔记本电脑上运行该程序。
或者任何其他方式来实现最终目标。
答案1
视频是一种带宽密集型工作负载。廉价相机的 USB 视频更是如此,因为它们的设计目的是让主机完成大部分编码工作。
因此,要使 6 个摄像机同时工作,您必须为您的机器提供足够的 USB 带宽,以便同时传输这 6 个流 - 这可能是一个挑战,因为大多数廉价摄像机只使用 USB 2.0,但几乎饱和了它。
除此之外,您还需要确保您的笔记本电脑的 CPU 足够强大,可以同时处理 6 个流,廉价的 USB 摄像头的 CPU 使用率非常高。
我建议你研究一下使用基于 IP 的摄像头,而不是基于 USB 的摄像头:这些摄像头在摄像头内部进行压缩工作,你可以轻松地通过单个千兆端口获得大量优质流。12Mbit/s h.264 高清流可以传输许多摄像头实际上无法达到的质量,并且理论上你可以通过单个千兆端口使用 25 美元的交换机获得最多 80 个这样的流。
答案2
即使您使用 USB-3 集线器也会遇到同样的问题(视频的 CPU 也是如此)。最好的甚至会遵循上述答案:IP 摄像头(或传统且更便宜的 DVR 套件)
https://stackoverflow.com/a/10243723/4122311
问题不在于你能发现多少。在单个 USB 总线上,可能存在约 127 个。
但是,USB 总线每秒只能传输有限数量的字节。因此,如果您要使用多个 USB 总线,则必须计算视频流的带宽量。
示例:USB 总线通常可以实际传输约 35 MB/s。每像素 640*480*2 字节 => 每帧 614400 字节。@30 FPS 即约 17 MB/s,因此您可以在此设置下同时使用 2 个摄像头。