2012-07-09 19 views
8

Provo a ottenere la coppia stereo per opencv. Collego le webcam Logitech B910 e Logitech C910 a USB. Ma hai questo errore. Ho giocato con alcuni parametri parametrici e ho impostato outfmt=mjpeg in mplayer, ma ho ancora questo errore.libv4l2: errore di attivazione del flusso: spazio vuoto sul dispositivo

Dove posso trovare bug in uvcvideo o driver USB? Quali strumenti di monitoraggio o debug dovrei usare?

+0

Come primo passo, hai controllato che ci sia abbastanza spazio sul tuo dispositivo di output? –

+0

Ovviamente più di 5 GB. – victor1234

+0

Questa abbreviazione significa cinque gigabit. Probabilmente vuoi dire GB o GiB. –

risposta

8

Questo è un messaggio di errore mal scritto; la causa non sta avendo abbastanza larghezza di banda USB sul controller.

Come avete intuito, se poteste semplicemente far utilizzare le vostre telecamere a MJEPG, il problema verrà risolto.

OpenCV potrebbe utilizzare FFMPEG per eseguire l'acquisizione, (la versione di linux in genere ha il supporto FFMPEG) e la documentazione di OpenCV ammette che non è possibile modificare il formato di acquisizione se viene utilizzato FFMPEG.

Tutto quello che ho trovato nella mia ricerca è che è necessario modificare la configurazione FFMPEG.

Provare a spostare le telecamere su diversi controller USB, se possibile.

+0

Come si utilizza la fotocamera per utilizzare MJEPG? Da qualche parte in Opencv o nel driver della videocamera? – bakalolo

+0

Può essere risolto con una qualsiasi delle [schede adattatore USB] (https://www.newegg.com/Product/ProductList.aspx?Submit=ENE&DEPA=0&Order=BESTMATCH&N=-1&isNodeId=1&Description=pci+usb+card) , che viene fornito con il controller di bordo? O anche la memoria ospite sarà un problema mentre DMA? –

+0

sì, aggiungere un altro controller aiuterà –

0

Questo è un problema con il controller USB che sta esaurendo lo spazio.

Questo di solito può essere risolto collegando il dispositivo a una porta USB diversa. Ad esempio, ho porte eSATA sulla mia scheda e porte USB 2 e porte USB 3. Se si utilizzavano in precedenza le porte USB2, provare le porte USB3.

si può vedere il riparto scheda video tramite la riga di comando su Ubuntu tramite

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

Potrebbe essere necessario usare sudo a seconda della distro. Se sei Windows, o OSX mi dispiace non so soluzioni per quei sistemi.

i miei risultati assomigliano a questo.

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 
0

Ho appena incontrato questo problema e si scopre ho dovuto collegare il mio webcam (Logitech QuickCam Zoom) ad un La porta USB 2.0 invece della porta USB 3.0 è stata collegata in primo luogo.

Problemi correlati