我有一个应用程序,需要几个USB摄像头。我知道USB2.0的带宽限制,并解决了我对USB3.0总线上的USB2.0设备的误解(参见我之前的问题:How to run USB2.0 devices on a USB3.0 hub and get USB3.0 bandwdith)。
现在我在3.0总线上运行所有的USB3.0摄像头,我发现即使在非常低的分辨率(160x120,MJPG)下,当我尝试连接第二个摄像头时,我仍然得到“没有空间留在设备上”的错误。这实际上比我在USB2.0总线上运行时更糟糕。
请注意,我可以在4K模式下使用一个USB3.0摄像头(4096x2160,MJPG),这肯定比两个160x120,MJPG流使用更多的总线带宽。所以它看起来并不是一个带宽限制;它更像是USB3.0不想连接多个USB3.0摄像头。我在和一家罗技公司合作。
你知道我做错了什么吗?我正在运行Ubuntu16.04,并直接使用v4l2 API。
发布于 2017-11-02 14:38:01
我建议你看看这两个版本的linux驱动:罗技BRIO usb驱动和V4L2。查找ENOSPC状态-在何处返回以及在什么情况下返回。这可能是这个摄像头的驱动程序写得不好,只允许连接其中的一个-当你连接第二个摄像头时,它会返回ENOSPC。
https://stackoverflow.com/questions/47055596
复制相似问题