2012-07-09 18 views
8

Próbuję uzyskać parę stereo dla opencv. Łączę kamery internetowe Logitech B910 i Logitech C910 z usb. Ale miej ten błąd. Grałem z parametrami parametrów i ustawiłem outfmt=mjpeg w mplayerze, ale mam ten błąd ponownie.libv4l2: błąd włączania strumienia: Brak miejsca na urządzeniu

Gdzie mogę znaleźć błąd w sterownikach Uvcvideo lub USB? Jakie narzędzia monitorowania lub debugowania powinienem użyć?

+0

Czy na początku sprawdziłeś, czy na urządzeniu wyjściowym jest wystarczająco dużo miejsca? –

+0

Oczywiście więcej niż 5 GB. – victor1234

+0

Ten skrót oznacza pięć gigabitów. Prawdopodobnie oznacza GB lub GiB. –

Odpowiedz

8

To jest źle sformułowany komunikat o błędzie; przyczyną jest brak wystarczającej przepustowości USB na kontrolerze.

Jak się domyślacie, gdybyście mogli po prostu użyć aparatów MJEPG, problem zostanie rozwiązany.

OpenCV może używać FFMPEG do akwizycji, (kompilacja Linuxa ogólnie ma obsługę FFMPEG), a dokumenty OpenCV przyznają, że nie można zmienić formatu pozyskiwania, jeśli używane jest FFMPEG.

Wszystko, co znalazłem w moich badaniach, to konieczność zmiany konfiguracji FFMPEG.

Spróbuj przenieść kamery do różnych kontrolerów USB, jeśli możesz.

+0

W jaki sposób uzyskać aparat do korzystania z MJEPG? W Opencv lub w sterowniku kamery gdzieś? – bakalolo

+0

Może to zostać rozwiązane przez dowolne z [kart adapterów USB] (https://www.newegg.com/Product/ProductList.aspx?Submit=ENE&DEPA=0&Order=BESTMATCH&N=-1&isNodeId=1&Description=pci+usb+card) , który jest wyposażony w kontroler na pokładzie? Czy pamięć hosta będzie również problemem podczas DMA? –

+0

tak, dodanie kolejnego kontrolera pomoże –

0

Jest to problem z brakującym miejscem na kontroler USB.

Zazwyczaj można to naprawić, podłączając urządzenie do innego portu USB. Na przykład mam porty eSATA na mojej karcie i porty USB 2 i USB 3. Jeśli wcześniej korzystałeś z portów USB2 wypróbuj porty USB3.

Widać przydział karty graficznej za pomocą linii poleceń na Ubuntu poprzez

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

Można użyć sudo w zależności od dystrybucji. Jeśli jesteś windows lub osx przepraszam, nie znam rozwiązań dla tych systemów.

moje wyniki wyglądają tak.

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

po prostu wpadł na ten temat i okazuje się, musiałem podłączyć kamery (Logitech QuickCam Zoom) Do Port USB 2.0 zamiast portu USB 3.0 został podłączony w pierwszej kolejności.

Powiązane problemy