Home > IT-bullshit > С веб-камеры на веб-сервер

С веб-камеры на веб-сервер

Здравствуй, 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>

Теперь, можно запускать и любоваться результатом. Вот кстати то, что получилось у меня.

 

Categories: IT-bullshit Tags: ,
  1. No comments yet.
  1. No trackbacks yet.