Сервер видеонаблюдения


Предыдущая | Следующая

Motion — весьма мощная программа для работы с видеокамерой. Кроме всего прочего, она позволяет определять движение в кадре и запускать по этому событию определенные действия. Motion также устанавливает свой веб-сервер, позволяю­щий удаленно контролировать настройки программы и смотреть видео.

Для установки Motion выполним команду:

sudo apt-get install motion

Перед конфигурированием веб-сервера нужно прежде всего определить порт, на котором этот сервер заработает. Для этого откроем файл конфигурации и отредактируем его:

sudo nano /etc/motion/motion.conf

Назначим порты, на которые будет выводиться поток:

webcontrol_port 8088 webcam_port 8089

Установим разрешение на удаленное администрирование и удаленный доступ:

webcam_localhost off control_localhost off

И зададим логин-пароль для доступа:

control authentication login:password

Большинство современных веб-камер поддерживают передачу сжатого видео. Для того чтобы включить этот режим, необходимо найти в файле конфигурации строч­ку V412_palette 8 и заменить 8 на 2. Если камера не поддерживает этот режим, Motion при запуске предупредит вас о несоответствии форматов и переключится в поддерживаемый формат.

Плюсом Motion является встроенный датчик движения. То есть нам не обязательно вести запись с камеры постоянно — пока движения в зоне наблюдения нет, запись не ведется, но как только там появится движение, Motion начнет запись:

output all off

Можно запустить Motion как сервис, для этого установим параметр:

daemon on

Для запуска Motion набираем в терминале:

sudo motion

Сохранение снимков производится в каталог /tmp/motion (рис. 4.25). Учитывая небольшой объем дискового пространства Raspberry Pi, логично переопределить каталог сохранения:

target dir /tmp/motion

Видеопоток Motion (рис. 4.26) доступен по адресу:

http://Raspberry IP: stream port

Управление Motion (рис. 4.27) доступно по адресу:

http://Raspberry IP: webcontrol port

Одной из интересных особенностей Motion является возможность установить обработчики событий: обнаружено движение — on_event_start, и картинка сохране­на — on_picture_save. При обнаружении движения также можно отправлять уведомление на e-mail.

Чтобы реализовать эту возможность, установим утилиту ssmtp, которая позволяет слать почту через relay-сервер или через обычный SMTP-аккаунт на стороннем сервере:

sudo apt-get install ssmtp

параметров утилиты откроем ее конфигурационный файл:

sudo nano /etc/ssmtp/ssmtp.conf

и установим следующие параметры (листинг 4.1):

Листинг 4.1. Параметры конфигурационного файла утилиты ssmtp

* Указываем имя пользователя на smtp-сервере root=victor.petin@gmail.com

* Указываем smtp-сервер, через который будем отправлять письма mailhub=smtp.gmail.com:4 65

* Выставляем принудительное переписывание домена в поле From:

* В противном случае наше письмо не будет отправлено сторонним

* smtp-сервером rewriteDomain=gmail. com

* запрещаем скриптам "решать", с какого ящика они отправляют письмо.

* Поле From: будет выставляться самим smtp.

FromLineOverride=NO

UseTLS=YES

* логин - пароль AuthUser=victor.petin@gmail.com AuthPass=*********

Создадим скрипт send_motion.sh:

sudo touch /usr/bin/send motion.sh

и запишем в него следующий код:

#!/bin/sh
echo "motion -$(date)!!!" | ssmtp online-spravka@bk.ru

Сделаем файл исполняемым:

chmod +x /usr/bin/send motion.sh

Затем нужно вписать в файл настроек Motion следующую строку:

on event start /usr/bin/send motion.sh

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