Установка ZoneMinder в Ubuntu
Видеонаблюдение – важная составляющая безопасности. Камеры устанавливаются в квартирах и общих коридорах, на дачах и в гаражах. Руководство компании следит за сотрудниками, охрана – за посетителями. В присмотре нуждаются пожилые родственники и маленькие дети. Простого вывода картинки недостаточно – сидеть перед монитором всё время никто не сможет. Нужна система, которая проанализирует видеопоток, сделает скриншоты и уведомит хозяев о нарушении периметра.
Промышленные модули стоят огромных денег, однако сообщество открытого ПО предлагает собственные бесплатные альтернативы, например, программу ZoneMinder. В этой статье мы рассмотрим как выполняется установка ZoneMinder Ubuntu 18.04.
Как установить ZoneMinder в Ubuntu
Первым делом в свежеустановленной операционке необходимо установить стандартный стек веб-сервера LAMP. Подробно останавливаться на этом процессе мы не будем, на сайте этому посвящена отдельная статья. Для того, чтобы получить самую свежую версию ZoneMinder, следует подключить персональный архив разработчиков PPA с помощью команды:
sudo add-apt-repository ppa:iconnor/zoneminder-1.34
Здесь 1.34 – номер текущей версии программы. Чтобы не вводить команду sudo перед всеми следующими командами, рекомендуем выполнить в консоли команду:
Все последующие инструкции в консоли будут выполняться от имени суперпользователя.
Итак, репозиторий добавлен. Теперь необходимо обновить список пакетов и саму операционную систему:
Затем можно запустить установщик:
apt-get install zoneminder
В свежеустановленной операционной системе потребуется установить почти 200 пакетов, поэтому процесс займёт некоторое время. После установки ZoneMinder требуется настроить для пользователя www-data права для доступа к конфигурации:
chmod 740 /etc/zm/zm.conf
chown root:www-data /etc/zm/zm.conf
Далее следует разрешить доступ к каталогу с файлами ZoneMinder:
chown -R www-data:www-data /usr/share/zoneminder/
Затем настроить Apache, подключить к ядру веб-сервера модули с помощью команды:
a2enmod cgi
a2enmod rewrite
После этого добавить настройки с помощью команды:
Для повышения скорости кэширования рекомендуется также активировать модули expires и headers:
Прежде, чем последовать настойчивым просьбам Apache о перезапуске, надо активировать и запустить ZoneMinder с помощью команд:
systemctl enable zoneminder
systemctl start zoneminder
Команда start отрабатывает без сообщений, поэтому можно проверить состояние сервиса, выполнив команду:
systemctl status zoneminder
На экране появятся строки, говорящие о том, что система видеонаблюдения ZoneMinder активна.
Осталось установить правильную временную зону для php. Открываем нужный нам файл в редакторе Nano с помощью команды:
Затем нажимаем сочетание клавиш Ctrl-W, в белом поле вводим слово Date, нажимаем клавишу Enter. Переходим таким образом в секцию [Date]. Убираем символ «;» перед строкой date.timezone и прописываем нашу временную зону. Для Москвы это Europe/Moscow. В результате содержимое файла должно выглядеть как на скриншоте:
Для выхода из редактора нажимаем сочетание клавиш Ctrl-X, подтвердив сохранение отредактированного нами файла php.ini. Вот теперь можно перезапустить веб-сервер с помощью команды:
systemcltl reload apache2
Установка ZoneMinder Ubuntu Server завершена. Наконец-то мы можем посмотреть на результаты своих трудов. Запускаем браузер, выполняем переход по адресу веб-сервера, в нашем случае это http://localhost/zm. В открывшемся окне соглашаемся с тем, что программа будет собирать данные, и далее попадаем в консоль ZoneMinder:
Настройка ZoneMinder
Первое, что желательно сделать, это поставить пароль на вход. Если сервер развёрнут в публичной сети, это обязательно. Выбираем пункт Options в строке меню и переходим по ссылке System на левой панели.
В открывшемся окне устанавливаем флажок напротив OPT_USE_AUTH и сохраняем конфигурацию с помощью кнопки Save в правом нижнем углу страницы. Если обновить страницу с помощью клавиши F5, будет выполнен сразу же переход к форме авторизации. По умолчанию установлено: логин: admin, пароль: admin. Сменить это можно выбрав в левой панели ссылку Users.
Большинство реальных камер будут подключаться по сети. Для пробы используем старый смартфон с установленной программой IP Webcam.
Для подключения камеры к ZoneMinder Ubuntu нажмём в главном меню кнопку ADD, откроется окно с интерфейсом добавления камеры.
На закладке General заполним поля Source Type = Remote и Function = Monitor (режим просмотра). Затем переходим на вкладку Source и устанавливаем значения параметров так, как показано на скриншоте:
- Protocol = HTTP (если на смартфоне выбран этот протокол);
- Method = Simple;
- Host Name = 192.168.0.184 (это адрес смартфона с камерой);
- Port = 8080 (как в настройках смартфона);
- Path = /video;
- Capture Resolution (pixels) = 320×240 (должно соответствовать потоку с камеры).
Для сохранения настроек нажимаем кнопку SAVE. Программа возвращает нас к списку камер. Если поток подсоединился, название камеры и адрес будут зелёного цвета, если нет — красного. Ошибки подключения можно посмотреть в меню Log.
Начать просмотр изображения с камеры можно кликнув мышкой по названию камеры. Откроется окно просмотра.
В окне доступно масштабирование, запуск трансляции, тестирование событий. На этом базовая настройка ZoneMinder закончена.
Выводы
Рассмотренная нами установка ZoneMinder Ubuntu 18.04 показала, что организация видеонаблюдения – это не сложно. При этом программный комплекс с большими возможностями может быть и бесплатным тоже, а его мощь и удобство – в гибких настройках.
Встроенный модуль для веб-сервера принимает потоки видео с любых локальных или сетевых камер, анализирует кадры в поисках событий для дневной и ночной съёмок, информирует пользователей о событиях и прочем. Управляется видеонаблюдение с помощью браузера или мобильного приложения, данные сохраняются в локальную базу. Подходит для построения систем наблюдения любых масштабов – от гаража до предприятия.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
MotionEye – Видеонаблюдение на операционной системе Linux
MotionEye это надстройка над Motion, который используется для видеонаблюдения и обладает открытым исходным кодом. Из преимуществ MotionEye можно выделить настройку видеонаблюдения в веб интерфейсе прямо в вашем браузере. Весь проект MotionEye базируется на языке Python,
Motion в свою очередь работает на легковесном демоне и написан на языке Си, а MotionEye выносит весь функционал в удобный веб интерфейс.
Для поднятия сервера с видеонаблюдением в Linux существует несколько продуктов, об одном из таких вы можете прочесть перейдя по этой ссылке. Но, в отличие от ZoneMinder, о котором уже писалось, MotionEye настроить легче, так что если вам нужно поднять сервер для видеонаблюдения, можете обратить внимания на MotionEye.
Установка MotionEye
Установку MotionEye будем производить в Debian, во-первых, этот дистрибутив славится стабильностью, а во-вторых, сам разработчик MotionEye рекомендует устанавливать свой продукт именно в Debian.
Первым делом установим зависимости, переходим в терминал и приступаем к установке:
sudo apt install python3 python3-pip python3-tornado python3-jinja2 python3-pillow python3-pycurl python3-babel python3-numpy python3-boto3
Затем устанавливаем сам MotionEye введя следующие команды:
sudo pip install motioneye.eo
Запуск MotionEye
После установки можно запускать MotionEye, для этого вводим IP адрес на котором вы поднимаете сервер видеонаблюдения, выяснить его можно командой “ip a”, а затем указываем порт “8765”. Например, IP адрес на сервере “10.0.2.15”, вводим его в браузере и через двоеточие указываем порт “8765”:
В итоге у вас откроется страница MotionEye, по умолчанию логин “admin”, пароль не задан, то есть, оставляем поле с паролен пустым, в будущем крайне рекомендуется задать надежный пароль:
Далее необходимо добавить видео камеру, нажимаем на надпись которая высветится при первом запуске MotionEye:
В случае с IP камерами выбираем пункт “сетевая камера” в поле “Тип камеры”, далее указываем IP этой камеры и порт, после чего вводим логин и пароль от камеры:
Если все правильно указали, то вы увидите работу видеокамеры в вашем браузере:
MotionEye переведен на некоторые языки, в том числе и на Русский, пусть и немного корявый, но вполне читабельный для настройки. Как пишет сам разработчик, перевод на Русский выполнен при помощи переводчика. При желании вы можете принять участие в переводе, тем самым улучшить его.
Обновление MotionEye
Обновлять программное обеспечение крайне желательно, с обновлениями устраняются баги, оптимизируется код и многое другое. Даже если это всего-навсего сервер видеонаблюдения, обновления устанавливать желательно. Тем более, что это делается всего несколькими командами. И так, для обновления первым делом остановим сервис MotionEye:
sudo systemctl stop motioneye
sudo pip install motioneye.eo --upgrade
sudo systemctl start motioneye
Заключение
В MotionEye камера для видеонаблюдения hikvision подцепилась без каких либо проблем, работает на ура, предполагаю, что и с остальными камерами проблем не должно возникнуть. Имеет смысл для экономии ресурсов сервера, где установлен MotionEye, на экран выводить второй поток с камеры, а для записи использовать первый поток. Для этого при настройке указываем второй поток в поле добавления камеры, а в дополнительных параметрах прописываем первый поток. К примеру, на камерах Hikvision это выглядит так,
Соответственно, первый поток вписываем в поле дополнительных параметров таким образом:
Ссылки на rtsp потоки у всех камер отличаются, ниже представлю список тех, что знаю, что бы вы могли добавлять их при настройке MotionEye:
rtsp://ip_адрес:554/ch1/main/av_stream – основной поток
rtsp://ip_адрес554/h264/ch1/sub/av_stream – второй поток
tsp://IP_Камеры:554/cam/realmonitor?channel=1&subtype=0
где:
subtype: 0 – первый поток, 1 – второй поток
rtsp://ip_адрес:554/streaming/video0 – основной поток
rtsp://ip_адрес :554/streaming/video1 – второй поток
rtsp://ip_адрес554/ch01.264?ptype=tcp – основной поток
rtsp://ip_адрес:554/ch01_sub.264?ptype=tcp – второй поток
Сам код проекта расположен на GitHub, а почитать документацию можно перейдя по этой ссылке.
В наше время видеонаблюдение на операционной системе Linux потихоньку начинает входить в нашу жизнь. И несмотря на то, что для Linux имеются и другие продукты для видеонаблюдения, обходить своим вниманием MotionEye не стоит, продукт весьма неплохой и достоин внимания.
Несмотря на то, что разработчик рекомендует поднимать сервер видеонаблюдения на Debian, MotionEye отлично встает на Ubuntu. Так что, если вам по каким-то причинам не удобен Debian, то можно поднять его на последней вполне успешно.
А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на рассылку журнала в pdf формате, а так же на социальные сети журнала Cyber-X:
Юморилка, Telegram канал с анекдотами:
Telegram
1С – Обучение, Доработка, Консультация:
РК-Центр
По вопросам работы сайта, сотрудничества, а так же по иным возникшим вопросам пишите на E-Mail. Если вам нравится журнал и вы хотите отблагодарить за труды, вы можете перечислить донат на развитие проекта.
С уважением, редакция журнала Cyber-X