Это старая версия документа.


Организация видеонаблюдения (видеорегистратор) на базе Ubuntu

Краткое описание руководства

Организация видео наблюдения на базе Ubuntu с помощью системы видеонаблюдения ZoneMinder. Используемые платы видеозахвата:на базе чипа BT878


Необходимое программное обеспечение


Основная часть

Установка дополнительных пакетов

sudo apt-get install apache2 php5 php5-mysql libapache2-mod-auth-mysql

Перезапускаем Apache 2

sudo /etc/init.d/apache2 restart

Устанавливаем поддержку синхронизации времени с интернет-серверами времени и включаем её

sudo apt-get install ntpdate
sudo ntpdate time.tue.nl

Устанавливаем ffmpeg

Кроме этого, для создания видео, нам понадобится пакет ffmpeg:

sudo apt-get install ffmpeg

Качаем deb-пакет Zone Minder и устанавливаем

Теперь необходимо скачать zoneminder_1.22.3-10_i386.deb отсюда ftp://www.northern-ridge.com.au/zoneminder/1.22.3/ubuntu/edgy/ и установить его с помощью менеджера пакетов GDebi.


Пртестируем апач, сделаем тестовый файл

sudo vi /var/www/test.php

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

<?php phpinfo(); ?>

Набираем в браузере:

http://your_ip/test.php

Если все хорошо, увидим справку нашего php.


Правим sysctl.conf

Теперь

sudo vi /etc/sysctl.conf

добавить строку:

kernel.shmmax = 134217728

Перезагружаем компьютер.


Настраиваем Apache

Можно просто скопировать содержимое /usr/share/zoneminder в /var/www/ и создать заново симлин на cgi

cd /var/www/
ln -s /usr/lib/cgi-bin/ ./cgi-bin
В мане приводятся следующие настройки:
vi /etc/apache2/sites-available/default
найти RedirectMatch ^/$ /apache2-default/
заменить на RedirectMatch ^/$ /zm/
Добавить в /etc/apache2/apache2.conf
Alias /zm /usr/share/zoneminder
<Directory /usr/share/zoneminder>
php_flag register_globals off
options Indexes FollowSymlinks
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
</Directory>

Для Ubuntu 7.04

sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
sudo /etc/init.d/apache2 reload

Для тех,кто при запуске сервера столкнулся с ошибкой чтения из /dev/video*

Советуется сделать следующее:

Установить параметры доступа к видеоустройству:

Если Вы не получаете картинки с Вашего видеоустройства(или 'sources' высвечиваются красным, т.е. не работают),Вы можете установить параметры доступа к требуемому видеоустройству /dev/video* используя команду chmod :-

chmod 666 /dev/video0 

(или /dev/video* ,где * -порядковый номер устройстваe, 0, 1, 2 и т.д.) Этот вариант решения обсуждается более подробно здесь: http://www.zoneminder.com/forums/viewtopic.php?t=8621&highlight=zmfix+chmod и если случай,описанный в теме,Ваш ,то проблема может быть решена,следуя посту номер 6 в данной теме,используя команду :

sudo chmod 4755 /usr/bin/zmfix

Эта команда даёт программе Zone Minder постоянные расширенные права доступа к Вашему видеоустройству. Как пишет автор,в Zone Minder config-файле можно поменять nph_zms на zms для более надёжного видеозахвата. (Вы не обязаны это делать. Я поменял nph_zms на zms из-за прерывистого доступа к видеоустройству. Происходил видеозахват,после чего процесс завершался,оставляя после себя «зомби» и приводя к огромным утечкам памяти,что являлось причиной падения системы. Этот параметр меняется в секции Config/paths. Меняйте поле ZM_PATH_ZMS ; поменяйте последний бит с «nph-zms» на «zms» ).Затем нужно перезагрузить Apache. ….. И направить Ваш браузер на : http://ZoneMinderServer/zm или http://localhost/zm или http://your_ip_address/zm Та же самая процедура работала для Edgy.


Теперь собственно настройки программы:

Первым делом в браузере снять запрет на блокировку всплывающих окон http://your_ip/ Заходим в Options→

  • Вкладка System→напротив Method used to relay authentication information (?) поставить <none>

из-за этого могут быть проблемы в скриптах на отображение картинки. (ошибка аутентификации …) Ставим галку напротив Authenticate user logins to ZoneMinder (?) теперь будет спрашивать пароль при входе. (admin/admin) –save редактировать/добавлять пользователей на вкладке users

  • Вкладка config

Снимаем галку Timestamp images as soon as they are captured (?)

  • Вкладка web

The title prefix displayed on each window (?) Пишем название для нашего видеосервера Should the console window resize itself to fit (?) снимаем галку –save

  • Вкладка Images

Which method should be used to send video streams to your browser. (?) устанавливаем в jpeg Is there an (optional) mpeg video encoder installed (?) в <none> –save Там где написано на главной ZoneMinder Console - Running Жмем Running и перезапускаем сервер

  • Вроде бы все, теперь добавим камеру/монитор

Жмем <add new monitor> пишем name для камеры Function пока ставим в Record (с остальным потом сами разберетесь) Переходим в source ставим свое устройство, у меня /dev/video0 ниже ставим номер канала 0 (как у вас дожно быть, смотрите сами) формат ставим в Auto Цветность у меня Gray Capture Width (pixels) – 320 Capture Height (pixels) – 240

  • Теперь закладка Misc

Section length у меня стоит в 3600 Frame Skip в 10

  • Небольшое дополнение для IP камер:

host name :

    user:password@IP

Change remote path, for a axis camera use :

    /axis-cgi/mjpg/video.cgi
* Все, сохраняемся.

Рестарт сервера и идем смотреть :-)

Данный вариант работает с файлами jpeg Для формирования видео надо поставить в настройка mpeg и указать модуль ffmpeg (и путь до него, /usr/bin/ffmpeg)

Источник и обсуждение на форуме