Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Графика, звук, видео в Linux

Web-камеры в Linux

Оригинал: Webcams in Linux
Автор: Carla Schroder
Дата: 21 февраля 2008
Перевод: Андрей Синицын aka boombick
Дата перевода: 25 февраля 2009

При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!

Linux и web-камеры

Сегодня web-камеры используются очень широко: большинство ноутбуков уже имеет встроенную web-камеру, многие LCD-мониторы оснащаются ими. Да и приобрести web-камеры, работающую через USB-интерфейс сегодня можно менее, чем 40$. В этой статье я расскажу вам, как настроить web-камеру для работы в linux и полноценно использовать все ее возможности

Вы не добьетесь высокого качества изображения от недорогих web-камер, в любом случае картинка будет не очень четкой и "прерывистой". Но это вполне приемлемая "прерывистость". Камеры low-end класса обычно поддерживают режим 15 кадров в секунду при разрешении 320x240 пикселей. Для сравнения, в фильмах обычно используются 24 кадра в секунду. В более дорогих моделях качество изображения лучше и битрейт повыше. Например, Logitech QuickCam Pro 9000. За цену около 100$ вы получаете встроенный микрофон, автофокус, довольно неплохую оптику и видео с разрещением до 960x720 пикселей

Так что для хорошего изображения на камере лучше не экономить. Также у вас должен быть относительно современный PC, оптимально двухядерный. Обработка видео - ресурсоемкая операция и требует "лошадиных сил". Стандартная минимальная ширина канала для передачи видео - 256 кбит/с в обе стороны

Поддержка web-камер в Linux довольно неплоха, за что стоит сказать спасибо разработчикам Linux. Обычно, производителей камер не очень заботят пользователи операционных систем, отличных от MS Windows. Michel Xhaard (Мишель Ксард), например, с незначительной сторонней помощью разработал драйвер, который подходит более чем к 250 моделям web-камер. Этот базовый драйвер, GSPCA/SPCA5xx, входит в Debian и производные от него дистрибутивы. Также хорошие люди поддерживают проект драйвера и ПО Linux UVC, с помощью которого можно заставить заработать еще некоторые модели камер. Еще можно поблагодарить разработчиков проекта Драйвера для USB-камер Philips, хотя они по большей части поддерживают более старые модели

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

Заставляем камеру работать

Если вы еще не приобрели камеру, то сперва имеет смысл выяснить, какие модели наиболее хорошо поддерживаются в вашем дистрибутиве. Mandriva Linux наиболее "дружественна" к web-камерам. Камеры от Logitech - самые популярные, но не все модели имеют "нативные" драйвера для Linux

Если у вас уже есть web-камера, то можете уповать на везение - возможно камера заработает, как только вы подключите ее. Вот самый короткий и простой путь:

1. Установите Camorama
2. Установите v4l и v4l2 (Video для Linux)
3. Подключите камеру
4. Запустите Camorama
5. Помашите сами себе рукой

Если Camorama не работает, то можно попробовать использовать аккаунт Testbed в kopete. На рисунке изображен мой разговор с лучшим другом через kopete.

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

Camorama не поддерживает v4l2, а жаль - во второй версии сделано довольно много улучшений и исправлено много ошибок по сравнению с первой версией. На Ubuntuforums пользователи часто спрашивают, почему у них появляется ошибка "could not connect to video device (dev/video0)" при использовании Camorama. Это означает, что используется драйвер, которому нужен v4l2, или v4l вообще не установлен.

В современных Linux-дистрибутивах udev и HAL должны самостоятельно определить камеру, создать устройство /dev/video0, владельцем которого является root и принадлежащее группе video, и загрузить нужный модуль ядра. Если вы не входите в группу video, то добавьте себя туда и перелогиньтесь. Для проверки членства в группе запустите команду id без параметров. Чтобы проверить, загрузился ли нужный модуль, запустите lsmod

Узнаем "секретное имя" web-камеры

Моя камера встроена в LCD-монитор Viewsonic VX2255. Также у этого монитора есть встроенный микрофон. Камера подключается при помощи отдельного USB-кабеля. Я подключила ее и запустила следующие команды, чтобы проверить, "схватила" ли ее моя Ubuntu Gutsy


$ lsusb
Bus 005 Device 002: ID 04f2:b021 Chicony Electronics Co., Ltd
$ dmesg
[20093.973828] usb 5-8: new high speed USB device using ehci_hcd and address 2
[20094.211937] usb 5-8: configuration #1 chosen from 1 choice
[20094.318310] Linux video capture interface: v2.00
[20094.341023] uvcvideo: Found UVC 1.00 device ViewSonic 1.3M, USB2.0 Webcam (04f2:b021)
[20094.344865] usbcore: registered new interface driver uvcvideo
[20094.345151] USB Video Class driver (v0.1.0)

Это говорит о том, что камера поддерживается модулем ucvvideo и я могу воспользовать web-поиском для получения более подробной информации, потому что я знаю Супер Секретное Имя Web-Камеры. Помните, что вывод dmesg обновляется при подключении и отключении устройств, так что не лишним будет запомнить последние строки. Если же в выводе dmesg нет камеры, значит ядро не видит устройство и вам не повезло

Полезные ресурсы

Другие статьи на тему вебкамер на нашем сайте: