libv4l2: ошибка при включении потока: на устройстве не осталось места

Я пытаюсь получить стерео пару для OpenCV. Я подключаю веб-камеры Logitech B910 и Logitech C910 к USB. Но есть эта ошибка. Я играл с причудливыми параметрами и установилoutfmt=mjpeg в mplayer, но эта ошибка снова.

Где я могу найти ошибку в драйверах uvcvideo или usb? Какие инструменты мониторинга или отладки мне следует использовать?

 victor123409 июл. 2012 г., 14:24
Конечно больше 5Гб.
 Brian Cain09 июл. 2012 г., 16:17
Это сокращение означает пять гигабит. Вы, вероятно, имеете в виду GB или GiB.
 Frédéric Hamidi09 июл. 2012 г., 14:22
В качестве первого шага вы проверили, достаточно ли места на вашем устройстве вывода?

Ответы на вопрос(4)

Обычно это можно исправить, подключив устройство к другому USB-порту. Например, на моей плате есть порты eSATA, порты USB 2 и USB 3. Если вы ранее использовали порты USB2, попробуйте порты USB3.

Вы можете увидеть выделение видеокарты через командную строку в Ubuntu через

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

Возможно, вам придется использовать sudo в зависимости от дистрибутива. Если вы Windows или извините, я не знаю решений для этих систем.

мои результаты выглядят так.

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

причина в недостаточной пропускной способности USB на контроллере.

Как вы уже догадались, если бы вы могли просто заставить свои камеры использовать MJEPG, ваша проблема будет решена.

OpenCV может использовать FFMPEG для выполнения захвата (сборка linux обычно имеет поддержку FFMPEG) и документы OpenCV допускают, что вы не можете изменить формат получения, если используется FFMPEG.

Все, что я обнаружил в своих исследованиях, - это то, что вам нужно изменить конфигурацию FFMPEG.

Попробуйте переместить камеры на разные контроллеры USB, если можете.

 22 июн. 2017 г., 06:06
да, добавление еще одного контроллера поможет
 21 июн. 2017 г., 04:23
Может ли это быть решено любым изUSB adaptor cards, который поставляется с бортовым контроллером? Или с памятью хоста тоже будут проблемы при DMA?
 14 нояб. 2016 г., 22:41
Как вы получаете камеру для использования MJEPG? В Opencv или в драйвере камеры где-то?

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

 03 июн. 2017 г., 00:11
удивительно! хорошая работа, братски!

и оказалось, что мне пришлось подключить свою веб-камеру (Logitech QuickCam Zoom) к порту USB 2.0, а не к порту USB 3.0, который был подключен в первую очередь.

Ваш ответ на вопрос