|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> программы
—> Zoneminder 2
Настройка Zoneminder – система видеонаблюдения.
Автор: TeXNiC.
Постановка задачи.
После нескольких инцидентов в офисе с пропажей материальных ценностей сотрудников, решено было поставить
систему видеонаблюдения. Требования к системе такие: снятие картинки с четырех камер, регистрация события
по движению, удобное управление и просмотр событий.
Изначально был приобретен четырехканальный USB видеорегистратор, неизвестного китайского происхождения, но
он не заработал даже под виндой, да и я изначально сомневался будут ли работать с ним проги под FreeBSD.
USB регистратор был благополучно обменян на PCI DVR Карту ENC EK-500F, тоже четырехканальную и тоже
неизвестного китайского производства. Основана она на чипе Conexant Fusion 878A, который поддерживается
FreeBSD.
Вот фото коробки, то что нарисованно на коробке и ее содержимое две разные вещи.
А так приблизительно выглядит карта, фото в интернете нашел, сфоткать установленую карту не
сфотографировал, а теперь она недоступна для съемок.
Из программного обеспечения выбор пал на Zoneminder, т.к. есть порт под FreeBSD, есть ветка обсуждения на
родном форуме программы, имеет более-менее нормальный функционал.
Приступим к боевым действиям.
uname -v
FreeBSD 7.0-RELEASE #1: Sat Nov 8 13:54:13 MSK 2008
user@proxy.mydomen.local:/usr/obj/usr/src/sys/MyCore
| Ставим карту в комп, запускаем FreeBSD.
Прописываем в /boot/loader.conf
перегружаем машину и смотрим
#dmesg | grep bktr
bktr0: <BrookTree 878> mem 0xe2200000-0xe2200fff irq 20 at device 0.0 on pci3
bktr0: [GIANT-LOCKED]
bktr0: [ITHREAD]
bktr0: Warning - card vendor 0x0000 (model 0x0000) unknown.
bktr0: Detected a DPL34-1@-@0 at 0x84
bktr0: Intel Smart Video III/VideoLogic Captivator PCI, <no> tuner, dpl3518a dolby.
#pciconf –lv
bktr0@pci0:3:0:0: class=0x040000 card=0x00000000 chip=0x036e109e rev=0x11 hdr=0x00
vendor = 'Conexant (Was: Brooktree Corp)'
device = 'Bt878/Fusion 878A Mediastream Controller'
class = multimedia
subclass = video
none4@pci0:3:0:1: class=0x048000 card=0x00000000 chip=0x0878109e rev=0x11 hdr=0x00
vendor = 'Conexant (Was: Brooktree Corp)'
device = '7610144D&REV_02\4&1F7DBC9F&0&09F0 TV Video Capture'
class = multimedia
| В /dev появилось устройство bktr0.
Теперь качаем порт ZoneMinder 1.23.3, на
момент написания статьи была уже версия ZoneMinder 1.24.x, но порта под FreeBSD не было.
Распаковываем его в /usr/ports/multimedia/zoneminder/
cd /usr/ports/multimedia/zoneminder
make install
| ВНИМАНИЕ ! после установки не следует сразу делать make clean, т.к. затрете скрипты создания
базы данных.
Во время установки Zone Minder потянет большое количество пакетов, все опции этих пакетов оставляем как
есть. По у молчанию Zone Minder ставит Apache версии 1.3.
В php5-extensions необходимо добавить поддержку MySQL.
Если во время установки вылетело сообщение
aclocal-1.10: not found
WARNING: `aclocal-1.10' is missing on your system. You should only need it if
you modified `acinclude.m4' or `configure.in'. You might want
to install the `Automake' and `Perl' packages. Grab them from
any GNU archive site.
cd . && /bin/sh /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/missing --run automake-1.10 --gnu
automake-1.10: not found
WARNING: `automake-1.10' is missing on your system. You should only need it if
you modified `Makefile.am', `acinclude.m4' or `configure.in'.
You might want to install the `Automake' and `Perl' packages.
Grab them from any GNU archive site.
cd . && /bin/sh /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/missing --run autoconf
aclocal.m4:14: error: this file was generated for autoconf 2.61.
You have another version of autoconf. If you want to use that,
you should regenerate the build system entirely.
aclocal.m4:14: the top level
autom4te-2.62: /usr/local/bin/gm4 failed with exit status: 63
*** Error code 1
|
Значит у вас стоит версия autoconf отличная от 2.61, у меня стоит 2.62.
Делаем так :
cd work/ZoneMinder-1.23.3
ee aclocal.m4
| Ищем стрку, она в самом начале файла
m4_if(m4_PACKAGE_VERSION, [2.61],,
| И меняем на
m4_if(m4_PACKAGE_VERSION, [2.62],,
| сохраняем
Далее тоже может вылететь еще ошибка
zm_mpeg.cpp: In destructor 'VideoStream::~VideoStream()':
zm_mpeg.cpp:281: error: cannot convert 'ByteIOContext**' to 'ByteIOContext*' for argument '1' to 'int
url_fclose(ByteIOContext*)'
*** Error code 1
Stop in /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/src.
*** Error code 1
Stop in /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3.
*** Error code 1
Stop in /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3.
*** Error code 1
Stop in /usr/ports/multimedia/zoneminder.
|
Эта ругань вызвана пакетом ffmpeg. Нужно его вручную установить.
В файле Makefile должны присутствовать такая строка
Если ее нет то накатываем патч
-- /usr/ports/multimedia/ffmpeg/Makefile.orig 2008-07-30 19:52:43.000000000 +0300
+++ /usr/ports/multimedia/ffmpeg/Makefile 2008-07-30 19:39:10.000000000 +0300
@@ -59,11 +59,13 @@
libavutil/random.h \
libavutil/rational.h \
libavutil/sha1.h \
+ libswscale/swscale.h \
libpostproc/postprocess.h
.include <bsd>
CONFIGURE_ARGS+=--cc="${CC}" --prefix="${PREFIX}" \
+ --enable-swscale \
--disable-debug \
--enable-memalign-hack \
--enable-shared \
| Т.к. перед установкой я обновлял порты, то правка файла не потребовалась.
После чего делаем
make deinstall
make install
| Ждем окончания установки ffmpeg
Далее
и удаляем файл files/patch_zm_mpeg.cpp иначе ничего не установится (рекомендация из форума по Zone Minder).
Ждем успешного окончания установки.
После установки в /usr/local/etc/ появится конфигурационный файл zm.conf.
Он прост и хорошо комментирован. Оставляем все как есть.
Добавляем в /etc/rc.conf
zm_enable=”YES”
apache_enable=”YES”
mysql_enable=”YES”
| Запускаем MySQL
/usr/local/etc/rc.d/mysql-server start
mysql –h localhost –u root
mysql>source /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/db/zm_create.sql;
mysql>grant all on zm.* to ‘zmuser’@localhost identified by ‘zmpass’;
mysql> flush privileges;
mysql> quit;
| Базы создали теперь переходим к веб составляющей всего этого.
Смотрим в httpd.conf
ее /usr/local/etc/apache/httpd.conf
| Если не находим строк
LoadModule php5_module libexec/apache/libphp5.so
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
| Значит php5 установился без поддержки Apache.
Исправляем это
cd /usr/ports/lang/php5
make deinstall
make clean
make config (включаем поддержку Apache)
make install clean
| Перезапускаем Apache
/usr/local/etc/rc.d/apache restart
| Заходим браузером на сервак http://server/zm/
Откроется консоль управления Zone Minder .
Как видно вся система остановлена.
К регистратору подключаем камеру для тестирования. И добавляем ее.
Для тестирования выставляем Function в Monitor, это режим простого наблюдения.
Устанавливаем параметры камеры, разрешение, формат сигнала и прочее по вкусу. Сохраняем
Zone Minder имеет русский интерфейс, но на чальном этапе лучше использовать английский, т.к. в
некоторых местах русификация кривая.
В консоле щелкаем по Stopped и переводим систему в режим Start.
И идем смотрим что в логах, если в логах посыпалась ругань на Shared memory
Nov 11 11:17:35 proxy Update agent starting at 08/11/11 11:17:35
Nov 11 11:21:07 proxy zmdc[80932]: WAR [Can't find process with command of 'zmc -d /dev/bktr0']
Nov 11 11:21:07 proxy zmdc[80932]: WAR [Can't find process with command of 'zma -m 1']
Nov 11 11:21:08 proxy zma_m1[81006]: ERR [Can't shmget, probably not enough shared memory space free: Cannot allocate memory]
Nov 11 11:21:08 proxy zmdc[80932]: ERR ['zma -m 1' exited abnormally, exit status 255]
Nov 11 11:21:08 proxy zma_m1[81007]: ERR [Can't shmget, probably not enough shared memory space free: Cannot allocate memory]
Nov 11 11:21:08 proxy zmdc[80932]: ERR ['zma -m 1' exited abnormally, exit status 255]
Nov 11 11:21:08 proxy zmc_dbktr0[81001]: ERR [Can't shmget, probably not enough shared memory space free: Cannot allocate memory]
Nov 11 11:21:08 proxy zmdc[80932]: ERR ['zmc -d /dev/bktr0' exited abnormally, exit status 255]
Nov 11 11:21:09 proxy zmc_dbktr0[81018]: ERR [Can't shmget, probably not enough shared memory space free: Cannot allocate memory]
Nov 11 11:21:09 proxy zmdc[80932]: ERR ['zmc -d /dev/bktr0' exited abnormally, exit status 255]
Nov 11 11:21:12 proxy zmwatch[80958]: ERR [Can't get shared memory id '7a6d0001', 1: No such file or directory]
Nov 11 11:21:13 proxy zma_m1[81021]: ERR [Can't shmget, probably not enough shared memory space free: Cannot allocate memory]
Nov 11 11:21:13 proxy zmdc[80932]: ERR ['zma -m 1' exited abnormally, exit status 255]
|
То значит нужно править системные переменные. В /etc/sysctl.conf
Добавляем следующие строки
kern.ipc.shmmax=536870912
kern.ipc.shmall=524288
| Все должно заработать и если нажать на название камеры, то откроется окно с изображением с камеры.
Настраиваем на свой вкус режим работы и все остальное, благо каждый параметр прокомментирован хорошо и
настроить программу не составит сложности. Если что на сайте программы есть WiKi.
Эффект достигнут.Пьем пиво и наблюдаем за сотрудниками.
размещено: 2009-02-11,
последнее обновление: 2009-02-11,
автор: TeXNiC
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
|
Комментарии пользователей [18 шт.]