I try to get stereo pair for opencv. I connect Logitech B910 and Logitech C910 webcams to usb. But have this error. I played with quirks parametrs and set outfmt=mjpeg
in mplayer, but have this error again.
Where can I find bug in uvcvideo or usb drivers? What monitoring or debuging tools I should use?
This is a badly worded error message ; the cause is not having enough USB bandwidth on the controller.
As you have guessed, if you could just get your cameras to use MJEPG your problem will be resolved.
OpenCV might be using FFMPEG to do the acquire, ( the linux build generally has FFMPEG support) and the OpenCV docs admit you can't change the acquire format if FFMPEG is being used.
All I've found in my research is that you need to change the FFMPEG configuration.
Try moving the cameras to different USB controllers if you can.
this works as charm for me
sudo rmmod uvcvideo
sudo modprobe uvcvideo quirks=128
This will be reset every reboot. If this works, create the following file: sudo vi /etc/modprobe.d/uvcvideo.conf
containing the line: options uvcvideo quirks=128
check this link http://renoirsrants.blogspot.in/2011/07/multiple-webcams-on-zoneminder.html
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With