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

Административная страница ZoneMinder

Чтобы вам было проще ориентироваться включите русский язык оболочки. Для этого нажмите на 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 текущего окна настроек камеры и в главном меня появится добавленная настроенная камера:

Первая добавленная камера в ZoneMinder

Щелкнув по именованию Camera1 откроется новое окно где будет показано изображения получаемое в режиме реального времени с видеокамеры в полный размер, а именно 1280 на 1024 именно такие настройки указаны на самой камере.

Варьируя параметром Scale, сейчас я выставил ¼ – можно регулировать размер отображаемой картинки в Web-представленном интерфейсе.

ВидеоЭфир с камеры в прямом эфире

По такому же принципу как я добавил камеру выше добавляю остальные 3 штуки, но если же у Вас все таки видео по добавленной камере не отображается, а добавленная камера в Web-интерфейсе управления ZoneMinder

Красным помечено, что камера не подключена к ZoneMinder

Перезапускаю сервис ZoneMinder через Web-интерфейс

После этого строка добавленной камеры сменит свой статус на активированный:

Отлично, рассматриваю что у меня происходило когда я добавил все 4 камеры, две из них показывали, а вот остальные две нет:

Из 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 камеры успешно завелись и отображаются, в логах кстати всё чисто:

Увеличим размер оперативной памяти с 1Gb до 4Gb - все камеры заработали

Теперь мне нужно чтобы с одной странички можно было наблюдать за всеми четырьмя камерами сразу, делается это с помощью плагина именованного как cambozola, устанавливаю его в систему:

$ tar -xzf cambozola-latest.tar.gz

$ sudo cp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder/

Теперь щелкаем по Running и перезапускаем Zoneminder, как только процесс завершится – переход на ссылки именованной, как Montage позволит манипулировать процессом отображения всех 4 камер с одной страницы.

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

Установленный плагин cambozola и все камеры показывают сразу

Через неделю взглянув на экран с моим ZoneMinder обнаружил, что видеоизображение с камер не отображается

Через неделю плагин Cambozola не отрабатывает

, в логах идут ошибки

В логах ошибки

Еще более внимательное чтение логов и форумов показало, что у меня файл сайт 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] .

Аппаратная часть



Камеры

Платы видеозахвата

  1. Video Inputs: 4CH Audio Inputs:1CH
  2. System resources:30fps(NTSC)/30fps(NTSC)
  3. 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:

  1. файл подкачки: размер 2 ГБ, файловая система swap, точка монтирования swap
  2. загрузочный: 500 МБ, ext3, /boot
  3. корень: 20 ГБ, ext3, /
  4. хранилище: <оставшееся свободное место>, 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. У вас должно получиться что-то похожее:

Читайте также: