Zoneminder viewer windows настройка
Обновлено: 07.07.2024
В данной заметке я хочю разобрать как поднять сервис видеонаблюдения за зоной где находятся клиентские автомобили которые они передали в центр на обслуживание. К примеру пришел человек в дилерский центр своей марки автомобиля, и пока он ждет к примеру сидя на диванчике в клиентской зоне или в баре он может на выведенном мониторе в режиме реального времени наблюдать за своим автомобилем. Достаточно удобно и этим мы выражаем клиенту что мы всячески заботимся о его сервисе и его автомобиль в зоне видимости.
Все дальнейшие действия я буду производить на системе Ubuntu 12.04.5 Server amd64
текущий характеристики которой в рамках моего сперва теста:
используемые камеры: Acti ACM-5611 A1D-220-V3.14.19-AC
Обновляю информацию по репозитариям и установленным пакетам системы:
$ sudo apt-get update && sudo apt-get upgrade -y
Проверяю текущую версию разворачиваемого пакета ZoneMinder присутствующего в дефолтных репозитариях:
$ apt-cache show zoneminder | grep Version
Устанавливаю пакет ZoneMinder в систему:
$ sudo apt-get install zoneminder -y
в процессе если не установлен mysql придется создать пароль на учетную запись root применительно к БД:
Mailname of your system: srv-mon_
Smarthosts:ничего не ввожу, просто удаляю что было введено установщиком
Настройку почты я разберу чуточку позже.
если же хочется использоваться саму последнюю версию программного обеспечения, то нужно подключить репозитарий PPA:
$ sudo nano /etc/apt/sources.list
P.S. Разработчики да оставили ссылку на этот репозитарий для Ubuntu Precise но внутри больше нет пакетов (deb-пакетов), так что уже пока не получится развернуть ZM по этой заметке. Мое уточнение от 21.03.2016.
P.S. Переработанная (работоспособная) заметка доступна здесь
$ sudo apt-get update
Добавляю данный публичный ключ в систему:
$ sudo apt-get update
Далее обновляю текущую версию пакета ZoneMinder 1.25.0-1 до самого последнего состояния:
$ apt-cache show zoneminder | grep Version
$ apt-cache policy zoneminder
$ sudo apt-get install zoneminder=1.28.1-precise-1 -y
ZoneMinder is stopped
Previous versions of ZoneMinder used the MyISAM database engine.
However, the recommended database engine is InnoDB.
Hint: InnoDB tables are much less likely to be corrupted during an unclean shutdown.
Converting MyISAM tables to InnoDB. Please wait.
Database already at version 1.28.1, update aborted.
Starting ZoneMinder: success
Setting up libgs9 (9.05
Setting up ghostscript (9.05
ldconfig deferred processing now taking place
$ sudo ln -s /etc/zm/apache.conf /etc/apache2/sites-available/zoneminder.conf
$ sudo nano /etc/apache2/apache2.conf
$ sudo a2ensite zoneminder.conf
Перезапускаю Веб сервер Apache:
$ sudo service apache2 reload
Чтобы вам было проще ориентироваться включите русский язык оболочки. Для этого нажмите на Options и в строке LANG_DEFAULT установите значение ru-ru и нажмите на кнопку save внизу либо выставляем значение: en_us , как сделал я.
Теперь нужно в интерфейс ZoneMinder добавить камеры, для этого нажимаем: Add New Monitor открывается всплывающее окно мастера где определяются параметры на добавления видеоустройства (т.е. камеры):
В открывшемся окне вкладке General (Общее) указываем:
После переходим на вкладку Source где задаем параметры подключения к IP камере:
На заметку: имя камеры должно быть не на русском написано, а на английском, в противном случае у Вас будет ошибка вида:
Names may only contain alphanumeric characters plus hyphen and underscore
После нажимаю Save текущего окна настроек камеры и в главном меня появится добавленная настроенная камера:
Щелкнув по именованию Camera1 откроется новое окно где будет показано изображения получаемое в режиме реального времени с видеокамеры в полный размер, а именно 1280 на 1024 именно такие настройки указаны на самой камере.
Варьируя параметром Scale, сейчас я выставил ¼ – можно регулировать размер отображаемой картинки в Web-представленном интерфейсе.
По такому же принципу как я добавил камеру выше добавляю остальные 3 штуки, но если же у Вас все таки видео по добавленной камере не отображается, а добавленная камера в Web-интерфейсе управления ZoneMinder
После этого строка добавленной камеры сменит свой статус на активированный:
Отлично, рассматриваю что у меня происходило когда я добавил все 4 камеры, две из них показывали, а вот остальные две нет:
Открыв логи, обнаружил, что присутствуют ошибки:
2015-06-27 09:01:53.921944 | zms | 2543 | WAR | Shared data not initialised by capture daemon, some query functions may not be available or produce invalid results for monitor Camera2 | zm_monitor.cpp |
2015-06-27 09:01:53.808429 | web_php | 2432 | ERR | socket_sendto( /tmp/zm/zms-427548s.sock ) failed: No such file or directory | /usr/share/zoneminder/includes/functions.php |
2015-06-27 09:01:35.547113 | zms | 2527 | WAR | Shared data not initialised by capture daemon, some query functions may not be available or produce invalid results for monitor Camera3 | zm_monitor.cpp |
Большую часть лога я опустил, но уже некоторая его часть дает понять, что при добавлении последующий каме р 3 и 4 сервис ZoneMinder начинает сбоить от поступающей информации .
При тестировании доступности камеры 3 & 4 получаю ответ
В моем случае это просто с текущей системы нельзя сделать arp запрос к камере с целью определить MAC адрес устройства и только то, так что это никакой роли не играет.
max number of segments = 4096 (Максимум очередей для всей системы)
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
max number of arrays = 128 (Максимальное количество массивов)
max semaphores per array = 250 (Максимум семафоров на массив)
max semaphores system wide = 32000 (Максимум семафоров на всю систему)
max ops per semop call = 32 (Максимум операций на вызов семафора)
semaphore max value = 32767 (Максимальное значение семафора)
max queues system wide = 1982
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384
Но вот как посчитать рекомендуемое значение shared memory для текущей системы, т.к. какие значения shmmax & shmall нужно предопределить в системе для корректной работы программы ZoneMinder, почитавши различных форумов остановился на этом варианте: Ниже скрипт который определит на основе текущей системы необходимые значения:
$ sudo bash -c "sh ./kernel >> /etc/sysctl.conf"
После перезапускаю систему:
Результат такой же, видимо 1Gb памяти системе не достаточно, из дальнейшей вычитки как расчитывается все-таки параметр
- для x86 архитектуры: 4*1024*1024*1024 – итого значение в байтах но не более 4Gb
- для x64 архитектуры: уже такого ограничения нет.
В документации к программе рекомендуется выставить значение в 127 Мегабайт переведя его в байты, но мне к слову это тоже не помогло.
Раз не получается, то увеличил просто размер оперативной памяти на системе с 1Gb до 4Gb и ни каких значения в /etc/sysctl.conf я не вносил
Система сама предопределила наиболее корректные для нее значения:
итог, все IP камеры успешно завелись и отображаются, в логах кстати всё чисто:
Теперь мне нужно чтобы с одной странички можно было наблюдать за всеми четырьмя камерами сразу, делается это с помощью плагина именованного как cambozola, устанавливаю его в систему:
$ tar -xzf cambozola-latest.tar.gz
$ sudo cp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder/
Теперь щелкаем по Running и перезапускаем Zoneminder, как только процесс завершится – переход на ссылки именованной, как Montage позволит манипулировать процессом отображения всех 4 камер с одной страницы.
К примеру как-то так:, но придется подобрать значения:
Через неделю взглянув на экран с моим ZoneMinder обнаружил, что видеоизображение с камер не отображается
, в логах идут ошибки
Еще более внимательное чтение логов и форумов показало, что у меня файл сайт zoneminder.conf содержит не вполне корректные значения – изменил на:
$ sudo nano /etc/apache2/sites-available/zoneminder.conf
Alias /zm /usr/share/zoneminder
php_flag register_globals off
php_value short_open_tag 1
Options Indexes FollowSymLinks
ScriptAlias /cgi-bin /usr/lib/cgi-bin
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
php_value short_open_tag 1
Сохранил внесенные изменения, а после перезапустил Web-сервис Apache & ZoneMinder
$ sudo service apache2 stop
$ sudo service zoneminder stop
Stopping ZoneMinder: success
$ sudo service zoneminder start
Starting ZoneMinder: success
$ sudo service apache2 start
и после действий выше ошибка была успешно исправлена и видео стена стала работать как и раньше. Вот так всегда сделаешь что-то, а потом потребуется улучшение к созданному. Считаю заметку выполненной. И прощаюсь с уважением, автор блога – ekzorchik.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще :)
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
ZoneMinder Viewer представляет из себя систему наблюдения с нескольких камер.
Домик в деревне. Картошечка, укропчик, помидорки.
Маленький магазинчик. Водочка, пивко, конфетки.
И пока никаких проблем.
Люди любят окружать себя материальными благами цивилизации.
Дорогие вещи, недвижимость, машины, о них нужно заботиться и охранять.
Попробуем сделать нашу жизнь немного легче – поставим виртуального сторожа, который никогда не спит.
Это ZoneMinder Viewer.
ZoneMinder Viewer является пакетом приложений, который предназначен для использования в системах видеонаблюдения, включая защиту от воров, а также наблюдение за детьми, членами семьи и домашними животными.
ZoneMinder Viewer поддерживает оцифровку, анализ, запись и наблюдение за видеоданными, поступающими с одной или нескольких видео или сетевых камер, подключенных в системе.
ZoneMinder Viewer характеризуется удобным Web интерфейсом, позволяющим просматривать текущую видеоинформацию, просматривать видеоархив и удалять изображения и видео, полученные с камеры.
ZoneMinder Viewer умеет не только записывать одновременно несколько видеопотоков, но и поддерживает технологию Live motion (определение движения в кадре) .
ZoneMinder — свободное программное обеспечение, для организации видеонаблюдения под лицензией GNU GPL.
Введение
Часто перед организацией встает вопрос об организации эффективной системы видеонаблюдения которая при этом должна вписываться в рамки достаточно ограниченного бюджета, а промышленные решения не всегда в полной мере соответствуют поставленной задаче. В данном руководстве мы рассмотрим построение законченного решения по видеонаблюдению при помощи ПК со специальными платами видеозахвата под управлением ОС Linux и свободно распространяемого ПО для видеонаблюдения ZoneMinder [1] .
Аппаратная часть
Камеры
Платы видеозахвата
- Video Inputs: 4CH Audio Inputs:1CH
- System resources:30fps(NTSC)/30fps(NTSC)
- Resolution video:640×480
Компьютер
Следует задать настройки для автоматического включения ПК при подаче питания (в AWARD Bios пункт "Power state: Always ON") на случай перебоев в электроснабжении для автономности системы.
Программная часть
Установка SLES
Рассмотрим установку SLES 11 i586 на машину с 2 Gb RAM и 200 Gb HDD. Предполагается, что сервер видеонаблюдения не является критичным звеном и не хранит длительных архивных записей, для этого предназначен отдельный центральный сервер с NAS, таким образом нет необходимости использовать технологии RAID и LVM.
В нашей конфигурации используется 4 Primary partition без up time и идентификацией томов uuid:
- файл подкачки: размер 2 ГБ, файловая система swap, точка монтирования swap
- загрузочный: 500 МБ, ext3, /boot
- корень: 20 ГБ, ext3, /
- хранилище: <оставшееся свободное место>, JFS [3] , /srv
Выбор файловой системы JFS обусловлен тем, что ZoneMinder для хранения записанного материала использует последовательность jpg-файлов, что в случае нескольких камер и круглосуточной записи генерирует колоссальное их количество. Файловые системы классического типа имеют ограничения на количество хранимых файлов, что приводит к тому, что запись перестает вестись при достаточном количестве свободного места. Архитектура файловой системы IBM JFS лишена подобных ограничений. Другие ФС, с подобными параметрами доступные в ОС Linux авторам в настоящее время неизвестны.
Обязательно включаем на сервере синхронизацию времени по протоколу NTP, это позволит в дальнейшем избежать нелицеприятных и спорных моментов при просмотре архивов, поиска и сопопставления записанных роликов с реальным временем.
После установки добавляем дополнительно SDK DVD [4] , который необходимо скачать с сайта Novell и подключить в качестве репозитория YaST.
На этапе дальнейшей настройки и отладки отключаем SuSEFirewall2
Поиск устройств в системе
Настройка драйвера tw68
Плата видеозахвата: RX-7404 (Уточнить)
Download
Компиляция
Запуск модуля
Можно осуществить командой:
или если в файле:
разрешить подгружать скомпиллированные модули заменив в строке:
и запустить команды:
В результате запуска модуля в результате выполнения команды dmesg должны обнаружиться похожие строки:
Добавление драйвера в автозагрузку
Осуществляется в файле:
добавлением к строке:
параметра, являющегося именем модуля tw68, единственного или, при наличии других параметров, через пробел:
Настройки ZoneMinder
Рабочее решение взято с форума ubuntu [5] Более менее работает в режиме захвата YUVY.
На закладке option->config
- выключите V4L_MULTI_BUFFER
- поставте CAPTURES_PER_FRAME = 2
Настройка bttv
BTTV [6] is linux driver for TV cards based on the bt848 and bt878 chips.
Конфигурация bttv в openSUSE до версии 12.1
По умолчанию такого файла в /etc/modprobe.d/ нет, по этому создаем его командой vi /etc/modprobe.d/bttv.conf и зополняем следующую конфигурацию:
Отличия для конфигурации из 2 карт pico2000:
Отличия для конфигурации из 5 карт на чипе bt878:
Для подбора параметров card= под конкретную модель необходимо свериться с таблицей параметров для драйвера bbtv.
Запуск модулей ядра вручную
Для проверки работоспособности конфигурации без перезагрузки машины загрузите модуль командой:
Скоро будет 7 лет с момента написания статьи "Видеонаблюдение под Ubuntu для «чайников» (ZoneMinder)". За эти годы она не раз корректировалась и обновлялась в связи с выходом новых версий, но кардинальная проблема, а именно — стоимость IP видеокамер, оставалась прежней. Её обходили оцифровывая аналоговые потоки и эмулируя IP камеры с помощью USB «вебок».
Ситуация изменилась с появлением китайских камер стандарта ONVIF 2.0 (Open Network Video Interface Forum). Теперь любую камеру отвечающую стандарту вы можете настроить с помощью ONVIF Device Manager.
Более того, вы сразу можете увидеть адреса и параметры потоков вещания с камеры. Да, да. Теперь потоков, как минимум — 2, не считая звука. Один архивный — в максимальном качестве, другой — рабочий в меньшем разрешении.
Я буду рассказывать на примере камеры MISECU IPC-DM05-1.0 Купил её в «чёрную пятницу» по цене 1059,15 руб. Сейчас они подняли цену и я бы скорее приобрел GADINAN. Что в прочем, одно и то-же. В любом случае, аппаратная часть моей камеры определяется как hi3518e_50h10l_s39 не зависимо от того, какой логотип написан на коробке. Камера купольная, по факту представляет из себя шарик «на верёвочке» легко вынимаемый из гнезда-держателя. Если будете заказывать, обратите внимание, что блок питания надо покупать отдельно (DC 12V/2A). Я использовал БП от сгоревших китайских-же настольных часов. К сожалению, звука и управления позицией в камере нет. Для этих целей подойдет какой-нибудь беби-монитор типа этого или этого. Главное, что бы в названии было слово Onvif.
После распаковки и включения надо выставить IP адрес каждой камеры (по умолчанию у всех жестко 192.168.1.10), чтобы они не конфликтовали между собой. Это можно сделать в ONVIF Device Manager или штатной утилитой General Device Manage которая идет в комплекте, на мини CD. Далее, выставляем временную зону, параметры отображения дат и имя для каждой камеры. Создаем пользователей с правами «только для просмотра».
Веб-интерфейс камеры, программы CMS и интерфейс облака в браузере совершенно одинаковы, неудобны и требуют IE c ActiveX.
Благо, их можно с успехом заменить приложением XMeye установленным на Android или iOS. Но, прежде необходимо сделать нашу камеру видимой для облака. Для этого откройте порт по которому работает Onvif (8899) на вашем коммутаторе. В моём случае — это NAT Setting-Virtual Server. Если камер несколько, то внутренний порт для каждого IP оставляете прежним, а внешний меняете на пару значений. Далее, камера сама постучится в облако и предъявит свой индивидуальный CloudID. Вам нужно будет только добавить его в свой профиль в облаке.
Собственно, сама по себе камера уже может детектить движение, стримить видео и отправлять аллармы. Вкупе с облачным сервисом XMeye — это готовый сервис мониторинга.
Если вам хочется иметь свой собственный регистратор с архивами, и вы любите Windows, то ставьте бесплатные iSpy, или SecurOS Lite (до 32 камер) или бесплатную-же версию (до 8 камер) Xeoma. Кстати, у последней есть версии для Mac OS X, Linux включая ARM и Android.
С настройками не должно возникнуть проблем, так что можете дальше не читать. Остальная часть статьи написана для Linux.
Я был приятно удивлен обнаружив в Zoneminder v.1.30.0 визард для настройки ONVIF камер. Он позволяет подключить к консоли любой из потоков идущих с камеры в зависимости от аппаратных возможностей и потребностей оператора.
Установка и настройка Zoneminder никогда не были лёгким занятием. Последняя версия вышла особо капризной и требует предварительной установки веб-сервера LAMP, с последующим выполнением ряда дополнительных действий. Поэтому, приведу старый «джедайский» способ подключения камеры для более старых версий:
1. Определите адреса потоков через ONVIF Device Manager или Xeoma. У вас должно получиться что-то похожее:
Читайте также: