2012-07-09 59 views
8

Intento obtener el par estéreo para opencv. Conecto las cámaras web Logitech B910 y Logitech C910 a usb. Pero tienes este error Jugué con los parámetros de los caprichos y configuré outfmt=mjpeg en mplayer, pero vuelvo a tener este error.libv4l2: error al encenderse: no queda espacio en el dispositivo

¿Dónde puedo encontrar errores en uvcvideo o controladores usb? ¿Qué herramientas de monitoreo o depuración debo usar?

+0

Como primer paso, ¿comprobó que hay espacio suficiente en su dispositivo de salida? –

+0

Por supuesto, más de 5Gb. – victor1234

+0

Esa abreviatura significa cinco gigabits. Probablemente se refiera a GB o GiB. –

Respuesta

8

Este es un mensaje de error mal redactado; la causa es que no tiene suficiente ancho de banda USB en el controlador.

Como habrás adivinado, si pudieras lograr que tus cámaras usen MJEPG, tu problema se resolverá.

OpenCV podría estar usando FFMPEG para hacer la adquisición, (la compilación de Linux generalmente tiene soporte para FFMPEG) y los documentos de OpenCV admiten que no se puede cambiar el formato de adquisición si se está utilizando FFMPEG.

Todo lo que he encontrado en mi investigación es que debe cambiar la configuración de FFMPEG.

Intente mover las cámaras a diferentes controladores USB si puede.

+0

¿Cómo consigues que tu cámara use MJEPG? En Opencv o en el controlador de la cámara en algún lugar? – bakalolo

+0

¿Se puede resolver esto con cualquiera de las [tarjetas de adaptador USB] (https://www.newegg.com/Product/ProductList.aspx?Submit=ENE&DEPA=0&Order=BESTMATCH&N=-1&isNodeId=1&Description=pci+usb+card) , que viene con el controlador a bordo? ¿O la memoria del host también será un problema mientras DMA? –

+0

sí, agregar otro controlador ayudará a –

0

Este es un problema con el controlador USB que se está quedando sin espacio.

Esto generalmente se puede solucionar conectando el dispositivo a un puerto USB diferente. Por ejemplo, tengo puertos eSATA en mi placa y puertos USB 2 y puertos USB 3. Si anteriormente usaba puertos USB2, intente con los puertos USB3.

se puede ver la asignación de tarjeta de vídeo a través de la línea de comandos en Ubuntu a través de

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

Puede que tenga que usar sudo función de distribución. Si usted es Windows, o lo siento, no sé soluciones para esos sistemas.

mis resultados se ven así.

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 
2

esto funciona como encanto para mí

sudo rmmod uvcvideo 

sudo modprobe uvcvideo quirks=128 

Esto se restablecerá cada reinicio. Si esto funciona, cree el siguiente archivo: sudo vi /etc/modprobe.d/uvcvideo.conf que contiene la línea: options uvcvideo quirks=128

verificación de este enlace http://renoirsrants.blogspot.in/2011/07/multiple-webcams-on-zoneminder.html

+0

¡increíble! buen trabajo broski! – bakalolo

0

Me acabo de encontrar con este problema y resulta que tenía que conectar mi cámara web (Logitech QuickCam Zoom) a una En primer lugar, se conectó el puerto USB 2.0 en lugar del puerto USB 3.0 que estaba conectado.

Cuestiones relacionadas