Подключение web-камеры в Linux

VSL аватар

CamEye-320.jpgЭх, долгая это история была, подключение моей web-камеры в Linux. "Неблагодарные" открытому сообществу производители камер ни за что не напишут на красивой коробке будет ли работать их камера в Linux, хотя многие камеры работают прекрасно. Но вот как попасть в яблочко я не знал, потому полез во всемирную паутину собирать разные советы и информацию. Даже пробовал взять камеру у знакомого для эксперемента, не получилось (хотя при настройке она возможно и заработала бы), но тогда я еще не знал как и что делать. Но это я отвлекся. В общем говоря в сети я нашел массу советов и информации, описаний камер, таблиц с описанием поддерживаемых камер и прочей "лабуды" (в хорошем смысле слова). Кстати неплохая статья по web-камерам есть в одном из последних журналов Linux-Format. Но главное, что я извлек из этой кучи информации, это то, что web-камеры, работающие в Linux, делятся на 2 группы.

1. Камеры, которые работают под управлением драйвера GSPCA
2. Камеры с интерфейсом UVC

Первые камеры должны иметь чип, соответствующий определенным и довольно распространенным спецификациям, именно поэтому многие даже дешевые камеры начинают работать из коробки, хотя иногда и требуется определенная подстройка.
Вторые относятся к классу так называемых UVC-камер (USB Video Class). Универсальный интерфейс поддержки камер означает, что камера будет работать с операционной системой без драйвера! Однако не совсем конечно без драйвера. Просто этот стандарт описывает универсальные спецификации поддержки USB-видео устройств и встраивается в операционные системы. Т.е. можно говорить, что универсальный драйвер уже установлен в операционной системе, это подобно тому как современные фотоаппараты можно подключать к компьютерам для снятия снимков и при этом не применять какие-то специальные драйверы. Например в windows эти спецификации были встроены начиная с windows XP-SP2, в MacOsX эти спецификации (уж не знаю с какой начиная версии) так же имеются. Немного особняком стоит Linux, по причине большого количества разных дистрибутивов это нужно проверить, поскольку в современные ядра эти спецификации пока не "припаяны". Законная поддержка UVC в ядре Linux существует только начиная с версии ядра 2.6.26. Однако многие производители Linux дают поддержку этого интерфейса с помощью модулей, поэтому будет не сколько не удивительно, если Ваш Linux с более старым чем 2.6.26 ядром уже имеет поддержку стандарта UVC. Ровно точно так же получилось и у меня с моим Ubuntu 7.10. С удовольствием для себя обнаружив, что этот интерфейс поддерживается в моем Ubuntu я выбрал видеокамеру и заказал ее в ближайшем компьютерном магазине. Остается только надеятся, что разновидностей UVC камер со временем станет только больше.

Проверку на поддержку UVC можно сделать командой:

  1. modinfo uvcvideo

и получив примерно что-то в этом духе

  1. filename:       /lib/modules/2.6.22-14-generic/ubuntu/media/usbvideo/uvcvideo.ko
  2. license:        GPL
  3. description:    USB Video Class driver

Итак я выбрал UVC web-камеру Genius Eye 320. Через недельку после заказа стал ее счастливым обладателем и в этот же вечер подключил ее к своему компу. Однако к разочарованию обнаружил, что картинки не в одной из программ, использующих камеру, я не наблюдаю. Тогда я загрузил машину из под учетной записи с правами администратора и вот оно! Есть картинка!
Далее всего-лишь пришлось решить вопрос с правами на использование камеры моей учетной записью без прав администрирования.
Проверяю, включена ли моя учетная запись в группу video

  1. cat /etc/group | grep video
  2. video:x:44:user1

где user1 это учетная запись с правами администрирования, моей учетной записи здесь нет, выходит, что нужно добавить себя в группу video. Сделать это можно отредактировав файл /etc/group следующим образом:

1. Входим в систему под учетной записью с правами администрирования.
2. Даем команду sudo gedit /etc/group (если у вас нет текстового редактора gedit, то откройте любым другим текстовым редактором)
3. Ищем строку, начинающуюся со слова video. Общий формат записи:

groupname::password:groupid:userlist
где
* groupname — имя группы.
* password - зашифрованный пароль группы. (Поскольку пароль для доступа к группам не применяется, обычно здесь нет никакой записи.)
* groupid - уникальный идентификационный номер группы.
* userlist - список пользователей группы, перечисленных через запятую.

Моя строка выглядела так - video:x:44:user1
где user1 - имя учетной записи с администраторскими привелегиями

Добавляем через запятую имя своей учетной записи, в результате получаем

  1. video:x:44:user1,user

где user это имя моей учетной записи.
Сохраняем файл.

Далее я на всякий пожарный перезагрузил систему и сделал проверку:

  1. cat /etc/group | grep video
  2. video:x:44:user1,user

где user это моя учетная запись, теперь все впорядке, осталось только проверить работает ли камера.

Проверку провел в программах Skype, Ekiga и Kopete, во всех программах камера заработала, единственное, что в программе Ekiga пришлось немного подправить настройки - номер канала и выбрать само устройство (это делается в настройках Ekiga). В заключении немного двигаем движками настройки яркости и цветности, так же в настройках одной из этих программ, после чего камера работает одинаково хорошо во всех этих программах и даже автоматически регулирует свою чувствительность к освещенности.

Но вот в программах Camorama и Gimp еще предстоит выполнить определенные настройки, пока не знаю какие. В этих камерах картинку я пока не получил (сообщение "Could not connect to device (dev/video0) Please check connection"). С параметром -d /dev/video1 Camorama запустилась, но без изображения.
Права на файл video0 такие:

  1. ls -ld /dev/video0
  2. crw-rw---- 1 root video 81, 0 2008-08-22 16:39 /dev/video0

Если у кого есть совет по делу, пожалуйста пишите, я с удовольствием опробую это на примере. Хочется осуществить запуск web-камеры что называется "до конца".
Вместо "каморамы" можно использовать стандартную программу под Gnome с наименованием cheese (фотовидеобудка), программа делает фото и видео с установленной web-камеры.

Ваша оценка: Ничего Средняя оценка: 8.7 (89 votes)

Пасиб,полезная статья,лень было самому возиться выяснять.

у меня скайп не мог нормально читать видео с веб-камеры, решалось запусканием из консоли вот так

  1. LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

не обязательно из консоли. можно и обычно, только тогда надо написать с env, т.к. задается переменная окружения
env LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Разжуйте пожалуйста про env. Где это прописать чтобы всегда в скайп можно было заходить с рабочего стола и видео нормально покзывало? Через терминал входить невозможно уже, дурдом

Пишите скрипт такого содержания:

  1. #!/bin/bash
  2.  
  3. export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype;
  4. /usr/bin/skype

Делаете его исполняемым:
  1. #chmod +x  ~/Desctop/your_script.sh

Это для запуска с рабочего стола. Если хотите автозапуск skype при старте КДЕ, то скрипт или ссылку нужно положить в папку /home/user/.kde/Autostart
и всё.

Спасибо!!!

у меня Skype работает нормально только если в командной строке написать sudo LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype;
Остальные команды типа создание команды с evn или написание скрипта, Skype запускают но не дают ему авторизоватся пишет ошибку - "Возможно, запущена еще одна копия Skype", даже если комп перегрузить и сразу запустить команду созданную на раб. столе - "evn ...". помогите

  1. env LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

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

открывается skype по просьбе желающих с рабочего стола и без всяких там скриптов.

спасибо! одной проблемой меньше...

спасибо за интересную статью, очень пригодилась автор просто молодец

Расскажите пожалуйста, как повесить камеру на конкретное устройство (/dev/video1)? Дело в том, что у меня есть еще и тв тюнер, и каждый раз при перезагрузки системы камера и тюнер произвольно меняются номерами /dev/video.

Помогите плиз...видео работает а микрафон нет!камера с микрафоном))у меня стоит Linux ubuntu!!! чё делать??

подскажите пожалуйста,
Genius 112 настроить на работу в skype
dev/video0 есть камера,в программе выбрана
а картинка отсутствует,точнее вместо изображения полоски разных цветов...
(учетная запись включена в группу video)

юзай LD_PRELOAD у меня аналогичная проблема была

Спасибо за статью, действительно помогла решить проблему.

Да! Автор молодец! все доступно и точно описано и изложено..., только у меня так и ничего не заработало (скорее всего это просто не мой случай... )
У меня "супер" нэтбук Acer Aspire One......в нем вэбка встроена, но не видит его скайп так и не видит..... Замучился искать дрова под это дело....в нэте ПУСТО...точнее много советов и ссылок, но ниче не помогает.... КТО-НИБУДЬ, в курсе что можно сделать??? на сколько я понял это достаточно распространенная проблема. АХ ДА!!! ОС - UBUNTU 9.04 .
ЗАРАНЕЕ СПС!!

а mplayer видит камеру ?
что-то типа
mplayer tv:// -tv 'driver=v4l:width=320:height=240:device=/dev/video0'

перед этим нужно выгрузить скайп, веб-ьраузер, вопщем всех, кто может камеру держать

проверил - действует только пришлось убрать из команды 'driver=v41'
у меня ноут hp mini ось убунта

Ну кто же /etc/group руками то правит?

gpasswd -a user video

Встроенная веб камера в монитор ASUS VK222 работает с интерфейсом UVC, хотя на сайте Linux UVC driver and tools никаких упоминаний нет. Дистрибутив использован Gentoo amd64.

Мне помогло только SplitCam. http://www.splitcamera.com/russian/
В скайпе, в строке "выбрать веб-камеру" выбиоаешь splitcam

Отличная статья, спасибо.


Пользуюсь Ubuntu Ubuntu 11.04 2дня, но очеь хотелось быстрее всё настроить после винды. Результаты есть. Skype видит что есть камера (A4Tech 130MG ) а изображения нету. И ещё камера постоянно находится в активном состоянии - светится голубой индикатор. Может кто подскажет что ещё сделать.

у меня та же проблема, почти год не могу разобраться с видео в скайпе. подключаю обычную вебку-сходу работает идеально..а встроенная нет. если в скайпе нажать проверку-получаеться снимок верх нагами...и индикатор иногда горит постоянно даже после перезагрузки! кто поможет,че делать?

Установить Windows.

где вы найдете придурка, который бы после Linux устанавливал винду??!!

У линукса постоянно проблемы на ровном месте... не удивительно что не все выдерживают.
До вылизанности удобной, но коммерческой системы ему очень далеко.

у меня работает видио а звука нет помогите

Пасибки, статья супер, а прога чиз вообще классная) Реально спасибо большое, а вот у меня на acer aspire one d250 все абсолютно изначально работало, потому как с консоли все ставил) ubuntu natty 11.04

Если вы хотите использовать веб-камеру в Убунту, то приобретите камеру Genius eFace 2025. Эта кмера работает во всех приложениях Убунту из коробки без установки всяких драйверов и танцев с бубном. Проверял сам лично..

Спасибо очень помогло.

Прочитав эти статьи, я толком ни чего до конца не понял. У меня установлена Windows 7 и Linux mint 9 isadora, вб камера defender g-lens 326. На виндовосе работает нормально, но скайп в линуксе не находит эту веб камеру, второй год мучаюсь. Так привык этому линуксу, но с видео плохо. Помогите кто ни будь толково, по шагово, объяснить, как установить эту вебку. Спасибо.

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

Спасибо, ваша статья очень помогла

RSS-материал