LinuxForum.Fans
Тема

VBOX Ubuntu и веб-камера DEFENDER C-090

Автор: justahf 22 сообщений 6736 просмотров
#373799

Доброго времени суток, уважаемые форумчане!

Поставил Ubuntu на виртуальную машину, потихоньку осваиваюсь. Возникла проблема с веб-камерой DEFENDER C-090. Камера есть в списке устройств, но картинку с нее получить не удается. Запускал программу Cheese - вижу просто черный экран. При запуске через:
[console]mplayer ( $ mplayer tv:// -tv device=/dev/video0 ) [/console]
получаю ярко-зеленый экран с моргающими посередине пикселями, который никак не реагирует на приключения веб-камеры (закрываю пальцем / открываю объектив).

Помогите победить проблему, пожалуйста)

#373814

Большое спасибо модератору, перенесшему тему и добавившему тэг "консоль" :D
Впредь буду внимательнее.

#373905

Раз никто не отвечает.

Попробуйте так:
[console]$ guvcview -d /dev/video0[/console]

P.S. камеру никогда в виртуальной ubuntu не настраивал.

#373996

Marley,

[console]$ guvcview -d /dev/video0 > log[/console]
Содержимое log:

Показать
guvcview 1.5.3
video device: /dev/video0
Init. USB2.0 Camera (location: usb-0000:00:06.0-2)
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30,
{ pixelformat = 'RGB3', description = 'RGB3' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30,
{ pixelformat = 'BGR3', description = 'BGR3' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30,
{ pixelformat = 'YU12', description = 'YU12' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30,
{ pixelformat = 'YV12', description = 'YV12' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30,
vid:1871
pid:0101
driver:uvcvideo
checking format: 1448695129
fps is set to 1/30
drawing controls

fps is set to 1/30
no codec detected for H264
no codec detected for MP3 - (lavc)
Checking video mode 640x480@32bpp : OK
write /home/sasha/.guvcviewrc OK
free controls
cleaned allocations - 100%
Closing portaudio ...OK
Closing GTK... OK

После выполнения, в терминале пишет следующее:

Показать
[console]ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib setup.c:565:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib setup.c:565:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib setup.c:565:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
libv4l2: error turning on stream: Input/output error
VIDIOC_STREAMON - Unable to start capture: Input/output error
libv4l2: error turning on stream: Input/output error
VIDIOC_STREAMON - Unable to start capture: Input/output error
libv4l2: error turning on stream: Input/output error
VIDIOC_STREAMON - Unable to start capture: Input/output error
[/console]

Сама программа видит камеру, дает возможность изменять настройки, но картинку с камеры нигде не показывает :(

#374028

justahf

А на хосте камера работает? И какая операционная система на хосте?

Вот у меня вывод, который запускает камеру и нормально показывает на Ubuntu:

Показать


marley@notebook:~$ guvcview -d /dev/video0
guvcview 1.5.3
Could not open /home/marley/.guvcviewrc for read,
will try to create it
write /home/marley/.guvcviewrc OK
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1614:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
video device: /dev/video0
Init. 1.3M HD WebCam (location: usb-0000:00:1a.0-1.3)
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 2/15, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 2/15, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 2/15, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 2/15, 1/5,
{ pixelformat = 'MJPG', description = 'MJPEG' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ pixelformat = 'RGB3', description = 'RGB3' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ pixelformat = 'BGR3', description = 'BGR3' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ pixelformat = 'YU12', description = 'YU12' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ pixelformat = 'YV12', description = 'YV12' }
{ discrete: width = 640, height = 480 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 160, height = 120 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 176, height = 144 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 320, height = 240 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 352, height = 288 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 720 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 800 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 960 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
{ discrete: width = 1280, height = 1024 }
Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 2/15, 1/5,
vid:064e
pid:c21c
driver:uvcvideo
checking format: 1196444237
VIDIOC_G_COMP:: Invalid argument
compression control not supported
fps is set to 1/25
drawing controls

Checking video mode 640x480@32bpp : OK


#374041

Marley,
На хосте винда. Понятное дело, камера работает, иначе не создавал бы эту тему :)
Возможно, у меня с драйверами проблемы какие-то? Я совсем недавно с линуксами начал работать, и еще слабо ориентируюсь, что к чему и как ОС устроена. Как у Вас камера встала, сама собой, или что-то дополнительно устанавливали?

#374122

Помогите драйвера поставить :[

#374124

У меня работает из коробки на ноутбуке со встроенной камерой и на десктопе, где камера подключена по usb.
Никаких драйверов не ставил.

Попробуйте загрузиться с livecd ubuntu и выполнить эту команду.

#374126
"Marley" написал:
Попробуйте загрузиться с  livecd ubuntu и выполнить эту команду.

Пардон, какую?)

#374127

Пардон. Много мыслей в голове.

[console]$ guvcview -d /dev/video0[/console]

#374134
Marley написал:
Пардон. Много мыслей в голове.

[console]$ guvcview -d /dev/video0[/console]

Я подумывал о таком варианте, но мне это показалось не очень логичным действием, поэтому и переспросил :D
Попробую, отпишусь о результате.

#374140

Marley, я ведь Вас правильно понял, что Вы предлагаете проделать это на хосте, не на виртуалке?
Сейчас под рукой ни болванки, ни флешки нет. Завтра сделаю.

#374450

Попробовал, столкнулся с нежеланием Live Убунты устанавливать пакеты, в итоге проверил через встроенный gstreamer-properties - камера работает, никаких драйверов ставить не пришось. То есть дело именно в виртуализации. Marley, большое спасибо за идею, теперь точно знаю, где копать.
Большая просьба к модераторам перенести тему обратно в "виртуализацию". Хотя уже не уверен, что кто-то поможет, за столько времени только один человек откликнулся. Придется, похоже, убунту как вторую ОС ставить :D Вот так линукс и входит в жизнь. Нечаянно нагрянет, когда его совсем не ждешь.

#374455

Поставил Extension Pack для VBox, включил поддержку USB 2.0 для машины с убунтой. Раньше при нажатии кнопки "test" в разделе "video input" gstreamer-properties вываливал ошибки всякие, сейчас же без всяких ошибок запускает тестирование, всплывает окошко с надписью "testing", все как должно быть, только вот окна с изображением с камеры в принципе не открывается. В Cheese - тоже черный экран. А вот в guvcview камера, внезапно, демонстрирует признаки жизни. Запустив утилиту, я наблюдаю вот это:



Несмотря на дичайшие тормоза и на то, что все окно, за исключением тоненькой полоски сверху, черное и мертвое, эта полоска удивительно живая. При движении камеры картинка там меняется, и, в принципе, соответствует действительности (направлял на стену, за окно - цвета похожи).
Я пробовал ставить драйвера для камеры, отсюда, в частности: http://git.linuxtv.org/media_build.git . Может быть, они виноваты, и откатить надо все это добро? Или проще плюнуть на VirtualBox и поставить другую систему для виртуализации? :D

"Marley" написал:
Камера присутствует в списке?

Да, есть)

#374456

Дурацкий вопрос.
А зачем камера на виртуальной машине, если она работает на хосте?

#374458
"Marley" написал:
Дурацкий вопрос.
А зачем камера на виртуальной машине, если она работает на хосте?

Нужно написать интерфейсный софт под линукс, который получает картинку с вебкамеры. Это в первом приближении, дальше еще всякие приблуды будут :)

#374459

А попробуйте какое-нибудь кино запустить на виртуальной ubuntu.

#374461
"Marley" написал:
А попробуйте какое-нибудь кино запустить на виртуальной ubuntu.

Видеофайлы открываются, если Вы об этом. Пробовал на небольшом файлике разрешением около 300х200.

#374483

Во многих дистрибутивах по умолчанию USB в виртуалбокс не работает.
Для этого нужно настраивать дистрибутив и установить пакет расширения.
Производились ли настройки и устанавливался ли Экстеншион-пак?

Проблема как правило кроется в правах пользователя, либо в корректности настроек.

Войдите или зарегистрируйтесь, чтобы ответить.