Разработка электроники,

Систем автоматики,

Программного обеспечения

ООО "Антех ПСБ", Санкт-Петербург

+79811865082

anteh@bk.ru
Телеграм: собака antehru

ООО Антех ПСБ примеры

Zoneminder 1.25.0_2 наблюдение загрузки процессора с одной IP камерой

Zoneminder устанавливался по этой статье

Пока для Firefox и Safari опции Low B/W и остальные не работали. Проявлялось это в том, что картинка обновлялась не раз в 10сек, согласно настройкам Low B/W, а с тем-же fps, а с тем же fps, с которым работала камера, соответственно загрузка весьма существнная.
С одной камерой и следующими максимальными настройками:zm20 zm21

И удалённым просмотром следующей картинки:zm22

Наблюдаем следующую загрузку:
zm23

Без удалённого просмотра:
zm24

Удалённый просмотр, всё то же самое, через ZoneMinder Viewer, удалённый просмотр через родной web интерфейс отключён:zm25

Удалённый просмотр, всё то же самое, через ZoneMinder Viewer, удалённый просмотр через родной web интерфейс включён:zm26

Удалённый просмотр через Firefox, Safari +ZM Viewer:zm27

То же самое, режим монитор:
zm28

То же самое, режим record:zm29

Самый нижний nph-zms это ZM Viewer. В общем пока утверждать рано, но для удалённого просмотра в реальном времени есть смысл использовать ZM Viewer, вместо родного интерфейса и Intel сетевые карты. Пока минус ZM Viewer вижу в проблемах просмотра через него событий и управление администраторской панелью, глючит, пользоваться не возможно. Отсутствует аутоинтефикация. Необходимость открывать дырку через файервол до MySql, соотверственно проброс порта. И необходимость установки-настройки у клиента. С глюками ZM Viewer не разбирался, возможно всё не так невесело.
По поводу нагрузки: здесь используются максимальные настройки для использующейся камеры, соответственно и загрузка не маленькая. Например если в режиме record, при всех тех же выщеописанных условиях fps снизить с 15 до 5, то:zm30

Снижаем до 1fps:zm31

Подымаем до 2fps:zm32

3fps:zm33

4fps:zm34

Зависимость линейная, при текущих условиях примерно 3% потребления на 1fps AmdAthlon 2x 64bit 3200G.

Для эксперименту сделаем так:
Zm-> Paths -> PATH_SWAP = /tmp/zm/swap
В /etc/fstab должны быть такие дополнительные записи:
none /dev2/shm tmpfs rw,size=2G 0 0
none /tmp/zm/swap tmpfs rw,size=2G 0 0
Конечно 2G многовато, потом разберёмся.
Перезапуск:
Через некоторое время после запуска zm и 2х удалённых клиентов, смотрим, сколько чего накопилось в /tmp/zm/swap:
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad4s1a 11G 9.2G 1.5G 86% /
devfs 1.0k 1.0k 0B 100% /dev
/dev/ad4s1e 9.7G 328k 8.9G 0% /tmp
/dev/ad4s1f 58G 21G 32G 39% /usr
/dev/ad4s1d 7.8G 1.5G 5.7G 20% /var
tmpfs 2.0G 4.0k 2G 0% /dev2/shm
tmpfs 2.0G 32M 2G 2% /tmp/zm/swap

Т.е. для 2х удалённых клиентов, для текущего качества изображения максимум понадобилось 32M. Попробуем оставить так, может хоть винчестеру будет полегче при большом количестве клиентов. Росмативающих реальное изображение через web интерфейс zoneminder.
При просмотре реального изображения через родной web интерфейс zm для Firefox и Safari создаются PATH_SWAP директории, в которые складываются .jpeg файлы 1000 шт.zm35 zm36

При просмотре через ZM Viewer директория с .jpg файлами не создаётся. Также видим, что для передачи видео-потока создано только 2 сокета. Хотя сейчас просмотр живой картинки производится одновременно через Firefox, Safari и ZM Viewer.

Обнаружилось, что при смене на горячую fps нужно перезапускать отображение живой картинки в Safari, происходит какой-то сбой с fps.

Аутонтификацию и остальные настройки производим по необходимости.

Если при запуске zm возникает следующая ситуация:
# service zoneminder start
Starting zoneminder.
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) at /usr/local/lib/perl5/site_perl/ 5.16/ZoneMinder/Config.pm line 89.
Can't call method "prepare_cached" on an undefined value at /usr/local/lib/perl5/site _perl/5.16/ZoneMinder/Config.pm line 91.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.16/ZoneMinder/C onfig.pm line 100.
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.16/ZoneMinder.pm li ne 33.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.16/ZoneMinder.p m line 33.
Compilation failed in require at /usr/local/bin/zmpkg.pl line 37.
BEGIN failed--compilation aborted at /usr/local/bin/zmpkg.pl line 37.
/usr/local/etc/rc.d/zoneminder: WARNING: failed to start zoneminder

Это означает, что mysql не запущен
# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Пробуем запустить:
# /usr/local/etc/rc.d/mysql-server start
Разбираемся с mysql

Copyright ©Новиков Алексей Александрович,

2025 Санкт-Петербург, 197372, ООО "Антех ПСБ",

anteh собака bk.ru, телеграм: собака antehru