Библиотека сайта rus-linux.net
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 нет камеры, значит ядро не видит устройство и вам не повезло
Полезные ресурсы
- Один человек написал драйвера для 235 USB Web-камер
- Linux UVS драйвера и ПО
- Установка web-камеры. HOWTO. Это руководство написано для Gentoo, но подойдет для всех дистрибутивов
- Web-камеры в Ubuntu
- Настройка камеры в Debian Etch
- Linux и Logitech QuickCam Pro 9000
Другие статьи на тему вебкамер на нашем сайте:
- Jun Auza, перевод: Н.Ромоданов, "Превращаем обычную веб-камеру в камеру слежения, работающую в Ubuntu Linux" Если вы хотите превратить обычную веб-камеру в камеру слежения, чтобы знать, кто крадет ваших кур, то вам следует прочитать данную статью.