С веб-камеры на веб-сервер
Здравствуй, centos, пока Dibian. Пока. Переставил на одном из серверов Centos, с целью, так сказать развиваться, изучать основные дистрибутивы поподробнее. Соответственно возникла задача: надо из недорогой веб-камеры сделать пост наблюдения 🙂
Для этих целей мы будем использовать программу fswebcam, которая будет забирать изображения из /dev/video0. Поскольку rpm-пакета не нашлось, я скомпилировал вручную:
yum install make gcc gd-devel
С вопросами соглашаемся, ставим пакеты. Далее качаем исходники fswebcam:
cd /tmp wget http://www.firestorm.cx/fswebcam/files/fswebcam-20110717.tar.gz
Конфигурим:
./configure
Компилируем и устанавливаем. :
make make install
Готово. Да, знаю, что для бинарных дистрибутивов сборка пакетов есть муветон, но уж простите, rpm-пакет делать лень. Теперь надо подключить веб-камеру в usb-порт и настроить программу. Я наваял простой скрипт:
#!/bin/bash while true do #rm /home/siteroot/public_html/capture.jpg fswebcam /home/siteroot/public_html/capture.jpg sleep 3 done
Правда, у меня пока не получилось спрятать по-человечески вывод, потому я нашел способ, как запускать программу с нужными нам параметрами. fswebcam умеет обрабатывать конфиги. Ну что-ж, отлично, запустим его с конфигом. Открываем файл:
nano ~/.fswebcam.conf
Далее пишем параметры:
input 0 loop 3 skip 20 background resolution 640x480 set brightness=27% set contrast=50% top-banner timestamp "%d-%m-%Y %H:%M:%S (%Z)" jpeg 95 save /home/sitefolder/public_html/capture.jpg
Всё, конфиг-файл готов. Однако теперь, программу надо запускать с новыми параметрами:
fswebcam -c ~/.fswebcam.conf
Возможностей у такой маленькой программы, как выяснилось, очень много. Пожалуй, опишу основные функции:
-?, --help #Показать справку. -c, --config <filename> #Загрузить настройки из конфига. -q, --quiet #Запуск в "Тихом" режиме. -o, --output <filename> #Лог-файл. -d, --device <name> #Какое устройство использовать. -i, --input <number/name> #Выбрать выход для использования. -t, --tuner <number> #Выбрать тюнер для использования. -f, --frequency <number> #Выбрать используемую частоту. -r, --resolution <size> #Выбрать разрешение снимка. -S, --skip <number> #Установить количество кадров пропуска. --version #Показать версию и выйти. --jpeg <factor> #Качество JPG. (-1, 0 - 95) --png <factor> #Качество PNG. (-1, 0 - 10) --save <filename> #Сохранить изображение в файл.
Дальше переводить не стал – функций достаточно много, и не все они настолько востребованы. Если требуется еще что-то – то всегда можно вызвать спарвку. Итак, поехали дальше – надо картинку оформить как веб-страничку, что бы обновлять оттуда. Конечно, можно обновлять и .jpg, однако со страничкой будет принципиально правильнее. Создаем страничку и кладем ее в папку с вашим сайтом:
nano /home/siteroot/public_html/server.html
Редактируем содержимое:
<HTML> <HEAD> <TITLE>Заголовок страницы</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </HEAD> <BODY> <img src="http://erdees.ru/capture.jpg" alt="Веб-камера"> </BODY> </HTML>
Теперь, можно запускать и любоваться результатом. Вот кстати то, что получилось у меня.
Recent Comments