在Debian / Linux中运行多个USB网络摄像头会导致以下错误: libv4l2: error turning on stream: No space left on device VIDIOC_STREAMON: No space left on device 在运行Cheese和xawtv产生相同的错误之后,最初似乎是OpenCV中的编程问题变成了对神秘的硬件/软件问题的寻求。 显然,这是由网络摄像头请求USB主机控制器上的所有可用带宽引起的。考虑到这一点,我决定运行wireshark和capinfos来查看单个摄像机使用了多少带宽。 4 megabits per second at 320x240 14 megabits per second at 640x480 32 megabits per second at 1280x720 有趣!这也许可以解释为什么两台320x240的摄像机都可以工作,但任何更高的分辨率都失败了。好像我的USB控制器仅以USB 1速度运行,但是lsusb显示两个网络摄像头都属于一个设备,该设备据说每秒可支持480兆位。 一种解决方案建议通过运行以下命令来强制网络摄像头计算其带宽使用量,而不是请求其最大使用量: sudo rmmod uvcvideo sudo modprobe uvcvideo quirks=128 不幸的是,这没有什么区别,所以我决定尝试另一种解决方案。StackOverflow上的一则帖子建议告诉我的网络摄像头使用较低的FPS或压缩视频格式(例如MJPEG),但是在运行v4lctl …