10

我尝试为 opencv 获取立体声对。我将 Logitech B910 和 Logitech C910 网络摄像头连接到 USB。但是有这个错误。我玩过 quirks 参数并outfmt=mjpeg在 mplayer 中设置,但再次出现此错误。

我在哪里可以找到 uvcvideo 或 USB 驱动程序中的错误?我应该使用哪些监控或调试工具?

4

4 回答 4

11

这是一个措辞不当的错误信息;原因是控制器上没有足够的 USB 带宽。

如您所料,如果您可以让您的相机使用 MJEPG,您的问题将得到解决。

OpenCV 可能正在使用 FFMPEG 进行获取,(linux 构建通常具有 FFMPEG 支持)并且 OpenCV 文档承认如果使用 FFMPEG,您将无法更改获取格式。

我在研究中发现的只是您需要更改 FFMPEG 配置。

如果可以,请尝试将相机移至不同的 USB 控制器。

于 2012-09-27T23:38:24.397 回答
5

这对我很有魅力

sudo rmmod uvcvideo

sudo modprobe uvcvideo quirks=128

这将在每次重新启动时重置。如果可行,请创建以下文件:sudo vi /etc/modprobe.d/uvcvideo.conf包含以下行:options uvcvideo quirks=128

检查此链接http://renoirsrants.blogspot.in/2011/07/multiple-webcams-on-zoneminder.html

于 2014-10-23T07:45:59.127 回答
1

This is a problem with the USB controller running out of space.

This can usually be fixed by plugging the device into a different USB port. For example I have eSATA ports on my board and USB 2 ports and USB 3 ports. If you were previously using USB2 ports try the USB3 ports.

You can see the video card allotment via the command line on Ubuntu via

cat /sys/kernel/debug/usb/devices | grep "B: "

You might have to use sudo depending on distro. If you are windows, or osx sorry I don't know solutions for those systems.

my results look like this.

B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=140/900 us (16%), #Int=  4, #Iso=  0
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc= 17/900 us ( 2%), #Int=  1, #Iso=  0
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  1, #Iso=  0
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
于 2014-06-18T19:33:18.597 回答
0

我刚刚遇到了这个问题,事实证明我必须将我的网络摄像头(Logitech QuickCam Zoom)连接到 USB 2.0 端口,而不是首先插入的 USB 3.0 端口。

于 2015-03-05T09:09:59.303 回答