среда, 30 мая 2007 г.

V4L

V4LVideo For Linux (если кто не знает). То есть, на первый взгляд — из области "профессионального". Но это — только на первый взгляд. Поскольку отродясь с видео (не считая просмотра DVD) дела не имел. И не планирую. А история — почти анекдотическая.

Пришёл друг детства — попросил веб-камеру к ноутбуку подключить. Дочь (проживающая ныне в Голландии) захотела с бабушкой (находящейся в Киеве) что-то вроде видеоконференции устроить. На ноуте — ХР, естественно. Камера — Logitech QuickCam Express.

В общем: вкусил "интуитивно понятного интерфейса". Мрак. Мало того, что камера "так себе", так ещё и софт никудышный. После того, как объяснил другу, что для реальных переговоров нужно бы ещё гарнитурку и выделенку (вместо dial-up), он сказал, что "с него хватит" и к этой теме больше не возвращался. Так и осталась у меня Logitech QuickCam Express.

Подключать её к системам, в которых работают собранные мной ядра, смысла не было: я-то точно знаю, что от опции Video For Linux всегда отказывался. А вот к Ubuntu (Dapper) — случилось однажды. Каково же было моё удивление, когда после подключения в системе обнаружилось устройство /dev/video. Обнаружилось — не значит объявило о своём присутствии всплывающим окном и т.п. Не Vista, чай. Но все приличествующие случаю изменения в /sys, соответствующие изменения в /dev и в составе загруженных модулей (вывод lsmod) — состоялись. Драйвер, правда, был почему-то загружен spca5xx (это при наличии вроде бы само собой напрашивающегося quickcam), но начало — интригующее.

Интригующее настолько, что, по-прежнему не испытывая ни малейшей потребности в Video For Linux, я захотел проверить работоспособность драйвера.

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

  • gqcam
  • xawtv
  • w3cam
  • vic
  • camserv

Поскольку происходило всё под Ubuntu, то сам Бог велел запустить apptitude и выяснить: " что с чем едят"?

Пока не дошёл до camserv, складывалось впечатление, что ни хрена хорошего затея эта мне не сулит: ну, не устанавливать же gtk-1, ради того, чтобы проверить успешность подключения камеры? Слишком далека была моя инсталляция Ubuntu от того, что, очевидно, обычно инсталлируют video-ориентированные пользователями.

Смутные воспоминания подсказывали, что классические mplayer и avifile умеют работать с потоковым видео, но и этих двух в моей инсталляции Ubuntu не оказалось. Так бы и бросил, в нежелании загромождать систему какими бы-то ни было компонентами, нужными лишь для однократной проверки работы Video For Linux, если бы не дошёл до camserv. Объём пакета (79 kB) и полное отсутствие неудовлетворённых зависимостей сразу вызвали симпатию. Далее потребовалось:

  • убедиться в том, что редактирования /etc/camserv/camserv.cfg не требуется
  • отредактировать файл /usr/doc/camserv/examples/webcam.html, указав вместо your.camserv.hostlocalhost
  • запустить camserv: /etc/init.d/camserv start
  • открыть тот самый webcam.html в firefox, например.

...И оно таки работало! Повторюсь: "втыкнув" какой-то QuickCam Express в Ubuntu и загрузив 80-килобайтное приложение я получил работоспособную вебкамеру с возможностью публикации в Сети (для этого, собственно camserv и предназначен). "Земля и небо" в сравнении с вознёй в ХР. Там — непризнаваемый M$ драйвер, 10-мегабайтное приложение которое ещё и "сидит" резидентом, три перезагрузки и возможность обмениваться изображениями только с аналогичными клиентами в Сети. Мрак! Не анекдот ли?

Успех операции произвёл на меня такое сильное впечатление, что я не поленился подключить аналогичным образом и фотоаппарат (благо Fujitsu FinePix S3100 может использоваться и в качестве web-камеры). Ну... "не всё скоту масленица", как любит говорить один мой знакомый. Для устройства с такими VendorID/ProductID подходящего модуля не нашлось. Что в таких случаях делают — вопрос уже сугубо не дилетантский, а поскольку блог сей — для вопросов, в которых я могу могу считать себя дилетантом без ложной скромности, то — и хватит на сегодня.

Комментариев нет: