1

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

Поставил Ubuntu на виртуальную машину, потихоньку осваиваюсь. Возникла проблема с веб-камерой DEFENDER C-090. Камера есть в списке устройств, но картинку с нее получить не удается. Запускал программу Cheese - вижу просто черный экран.  При запуске через:

 Консоль:
mplayer ( $ mplayer tv:// -tv device=/dev/video0 )

получаю ярко-зеленый экран с моргающими посередине пикселями, который никак не реагирует на приключения веб-камеры (закрываю пальцем / открываю объектив).

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

2

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

3

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

Попробуйте так:

 Консоль:
$ guvcview -d /dev/video0

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

No Woman No Cry...

4 (25.03.2014 20:55:22 отредактировано justahf)

Marley,

 Консоль:
$ guvcview -d /dev/video0 > log

Содержимое 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

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

+ открыть спойлер

 Консоль:
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

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

5 (25.03.2014 22:30:38 отредактировано Marley)

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

No Woman No Cry...

6 (26.03.2014 00:56:05 отредактировано justahf)

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

7

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

8

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

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

No Woman No Cry...

9

Marley пишет:

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

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

10 (26.03.2014 21:43:05 отредактировано Marley)

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

 Консоль:
$ guvcview -d /dev/video0

No Woman No Cry...

11

Marley пишет:

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

 Консоль:
$ guvcview -d /dev/video0

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

12

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

13

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

14 (29.03.2014 11:31:38 отредактировано Marley)

А следующий пакет расширений для работы, в том числе с USB в VirtualBox вы устанавливали?

http://download.virtualbox.org/virtualb … ox-extpack

Если выполнить команду

 Консоль:
$ lsusb

Камера присутствует в списке?

No Woman No Cry...

15 (29.03.2014 11:42:20 отредактировано justahf)

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

http://savepic.net/5009385.jpg

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

Marley пишет:

Камера присутствует в списке?

Да, есть)

16

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

No Woman No Cry...

17

Marley пишет:

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

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

18

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

No Woman No Cry...

19 (29.03.2014 12:14:37 отредактировано justahf)

Marley пишет:

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

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

20

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

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

21

Справка Ubuntu^
https://help.ubuntu.com/community/VirtualBox/USB

Вот причина:
https://www.virtualbox.org/ticket/11143
Вот один из вариантов решения:
http://stackoverflow.com/questions/2002 … es#tab-top

Если не поможет вот другие решения которые можно искать в Google используя один из запросов (разворачиваем спойлер, выделяем текст и вставляем его в гугл):

+ запрос 1 USB

ubuntu virtualbox usb not working site:forums.virtualbox.org

+ запрос 2 USB

ubuntu virtualbox usb not working site:ubuntuforums.org

+ запрос 3 WebCam

ubuntu virtualbox webcam not working site:ubuntuforums.org

22

Большое спасибо за ответы, проблема решилась установкой убунты на диск. Если бы не жали сроки, с удовольствием повозился бы с эмуляторами подольше. Так что принимайте официальное пополнение, господа-линуксоиды  ag