Детектор движения

130 views
Skip to first unread message

Valery Sch

unread,
Nov 21, 2023, 1:24:15 AM11/21/23
to avreg-users
Имеется две камеры "поднебесного" происхождения.
Поработал с ними в MotionEye. Все более-менее.
Решил попробовать AVreg ибо захотелось писать звук, что MotionEye без танцев с бубном не умеет.
Но вот незадача. AVreg пишет не обращая внимания на наличие-отсутствие движения. Какие только параметры не пробовал-пишет сплошняком 10-минутными кусками.
Ставил diff_pxls_threshold = 30% noise_threshold = 30-ноль эффекта
MotionEye с этими же камерами отрабатывает как надо на предмет наличия/отсутствия движения и застывшие картинки не пишет.
Здесь уже поднимались похожие темы, но решения для себя не нашел.

Andrey Nikitin

unread,
Nov 21, 2023, 1:26:42 AM11/21/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Здесь уже поднимались похожие темы, но решения для себя не нашел.
Пришлите файл со страницы "Сообщить о проблеме" на указанный в ней e-mail.

Valery Sch

unread,
Nov 21, 2023, 5:15:44 AM11/21/23
to avreg-users
Логи отправил. Еще обнаружил непонятку.
Одна камера отправляет h264 и звук, вторая только h264.
Если для второй очистиь поле audio_src, то камера становится недоступной в вебинтерфейсе.
При audio_src=rtsp камера появляется.

вторник, 21 ноября 2023 г. в 08:24:15 UTC+2, Valery Sch:

Andrey Nikitin

unread,
Nov 21, 2023, 8:28:24 AM11/21/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Логи отправил.
не видим

Valery Sch

unread,
Nov 21, 2023, 9:06:44 AM11/21/23
to avreg-users
Упс. Ошибся в адресе sup...@avreg.com вместо sup...@avreg.net

вторник, 21 ноября 2023 г. в 15:28:24 UTC+2, Andrey Nikitin:

Valery Sch

unread,
Nov 21, 2023, 9:08:45 AM11/21/23
to avreg-users
Выслал еще раз с адреса v-sch(dog)bk.ru

вторник, 21 ноября 2023 г. в 16:06:44 UTC+2, Valery Sch:

Andrey Nikitin

unread,
Nov 21, 2023, 9:56:54 AM11/21/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Ставил diff_pxls_threshold = 30% noise_threshold = 30-ноль эффекта

Текущий программный детектор у нас быстрый, но неточный, ложные сработки возможны.
По логам видно что он отрабатывает.
Попробуйте для эксперимента:
* noise_threshold = очистить,
* diff_pxls_threshold = 50%,
* временно убрать оверлей (врезку времени в кадр) в настройках камеры
(прим.: потом можно эту зону замаскировать)

Valery Sch

unread,
Nov 21, 2023, 11:34:29 AM11/21/23
to avreg-users
Убрал врезки времени, очистил noise_threshold
diff_pxls_threshold на одной камере оставил 30%, на другой поставил 50%
Жду результаты. Пока под камерами "активная жизнь")
По результату отпишусь.

вторник, 21 ноября 2023 г. в 16:56:54 UTC+2, Andrey Nikitin:

Valery Sch

unread,
Nov 21, 2023, 3:03:13 PM11/21/23
to avreg-users
Кажется дело сдвинулось в нужную сторону.
Неужто врезки времени так влияли?!
Но что интересно, камера у которой diff_pxls_threshold=30% сразу прекратила запись при наступлении "тишины" и больше не включала.
А там где было 50% продолжала писать.
Все это в темноте при полном покое.
Снизил до 30%- не помогло. И непонятно. Фрагменты то 10 мин., то меньше ~3-4 мин.
У первой камеры тоже были всплески "активности", но там я разглядел блики света в окне от проезжающих мимо машин.
Пока остановился на варианте отключения режима записи на второй камере в ночное время.

вторник, 21 ноября 2023 г. в 18:34:29 UTC+2, Valery Sch:

Andrey Nikitin

unread,
Nov 22, 2023, 1:17:48 AM11/22/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Неужто врезки времени так влияли?!
Да, на высоком разрешении это возможно.
> А там где было 50% продолжала писать.
> Все это в темноте при полном покое.
Темнота это для человеческого глаза, а так там шума больше чем при свете.
Детекторы без выделения размера объектов (наш) это ловят.
> Снизил до 30%- не помогло.
Меньше процент = больше чувствительность, наоборот повышать нужно было, если нужно было загрубить.
> И непонятно. Фрагменты то 10 мин., то меньше
> ~3-4 мин.
Если ровного размера или длительности - это соотв. лимиты (см. настройки), если меньше - детектор всё таки успокаивается или, может, связь с камерой разрывается, только эти 2 варианта. В логах всё видно.

> У первой камеры тоже были всплески "активности", но там я разглядел блики
> света в окне от проезжающих мимо машин.
Да, изменение освещенности рассматривается как изменение.

> Пока остановился на варианте отключения режима записи на второй камере в
> ночное время.
http://avreg.net/manual_applications_schedule-recording.html

Valery Sch

unread,
Nov 22, 2023, 5:12:28 AM11/22/23
to avreg-users
Замаскировал зоны врезок времени и вернул из отображение на камерах.
Последим дальше.
И вопрос по маскам. 
Заливки черным могут иметь любую форму, или только прямоугольные?
"http://avreg.net/manual_applications_schedule-recording.html
да именно так и делал, правда наваял свой скрипт по подобию.
Еще добавил полное отключение камеры work=0 при необходимости.
Вот если б это было доступно в вебинтерфейсе в режиме  Оператора наблюдения было бы неплохо.
Я даже слепил мини вебку, которая позволяет менять режимы камер (Вкд/Выкл, С записью/Без записи), но это костыль.

среда, 22 ноября 2023 г. в 08:17:48 UTC+2, Andrey Nikitin:

Andrey Nikitin

unread,
Nov 22, 2023, 7:53:26 AM11/22/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Заливки черным могут иметь любую форму, или только прямоугольные?
Форма заливки может быть произвольная, и даже не строго черно-белая,
а, например, в областях с серой заливкой чувствит. детектора будет снижена в половину.

Valery Sch

unread,
Nov 22, 2023, 8:08:53 AM11/22/23
to avreg-users
А можно ли отключить text_right полностью.
Пока кроме символа _ в этой зоне большего добиться не удалось ни через веб, ни через sql.
Хоть это и не принципиально, но все же?

среда, 22 ноября 2023 г. в 14:53:26 UTC+2, Andrey Nikitin:

Andrey Nikitin

unread,
Nov 22, 2023, 8:12:17 AM11/22/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> А можно ли отключить text_right полностью.
> Пока кроме символа _ в этой зоне большего добиться не удалось ни через веб,
> ни через sql.
> Хоть это и не принципиально, но все же?
Отдельно нет (

Valery Sch

unread,
Nov 22, 2023, 2:23:46 PM11/22/23
to avreg-users
Так вторая камера и не хочет успокаиваться. Пишет "тишину" напропалую.
Уже ей и 50% поставил. Но откуда эти циферки не пойму:
cam[2]: motion session started (rec_id #0): %diff: (2559-1222)/1222 = |+109%| > 50%; noise thr. 30; br.avg 76, rec.target "self"
Тут и 100% мало. Отключать камеру на ночь можно конечно, но хотелось бы разобраться.
среда, 22 ноября 2023 г. в 15:12:17 UTC+2, Andrey Nikitin:

Andrey Nikitin

unread,
Nov 23, 2023, 2:01:11 AM11/23/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> cam[2]: motion session started (rec_id #0): %diff: (2559-1222)/1222 =
> |+109%| > 50%; noise thr. 30; br.avg 76, rec.target "self"
> Тут и 100% мало. Отключать камеру на ночь можно конечно, но хотелось бы
> разобраться.

Может матрица камеры шумит сильно, может настройки кодера влияют.
Никто не запрещает и больше чем 100%.
Также можете попробовать абсолютную величину величину diff поставить, 2000, например.
Message has been deleted

Valery Sch

unread,
Nov 23, 2023, 4:29:04 AM11/23/23
to avreg-users
Мдя. Начал играться с diff без %
Реакция стала замечаться при значениях 6000-8000
Это нормально?
Как другие параметры на странице "детектор движения" влияют на чувствительность детектора?
Как я понимаю, MotionEye использует родные детекторы камер.
Вы их не используете?

четверг, 23 ноября 2023 г. в 09:01:11 UTC+2, Andrey Nikitin:

Andrey Nikitin

unread,
Nov 23, 2023, 4:38:20 AM11/23/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Мдя. Начал играться с diff без %
> Реакция стала замечаться при значениях 6000-8000
> Это нормально?
Нормально, в абс. значениях эти цифры - кол-во изменённых фильтров с отсечкой по шуму (noise*).
Соотв., чем выше разрешение картинки, тем абсолютные цифры могут и должны быть больше.

> Как другие параметры на странице "детектор движения" влияют на
> чувствительность детектора?
Они же все описаны по месту, нам вряд ли есть что больше добавить.

> Как я понимаю, MotionEye использует родные детекторы камер.
> Вы их не используете?
Это хороший правильный подход, но у нас ещё не готова реализация этого функционала,
и даже по срокам сориентировать не берусь.

Valery Sch

unread,
Nov 23, 2023, 5:02:36 AM11/23/23
to avreg-users
"Это хороший правильный подход, но у нас ещё не готова реализация этого функционала,
 и даже по срокам сориентировать не берусь."
Но есть надежда, что датчики камер будут задействованы когда-нибудь?
По идее это должно улучшить функционал записи по движению.

Описание по месту не совсем понятно.
Примечание
 diff = 1000 + количество пикселей, "прошедших" порог «noise_threshold»;
как-то не понятно.
Что будет, если заданы и diff, и noise_threshold?

четверг, 23 ноября 2023 г. в 11:38:20 UTC+2, Andrey Nikitin:

Andrey Nikitin

unread,
Nov 23, 2023, 5:13:52 AM11/23/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> "Это хороший правильный подход, но у нас ещё не готова реализация этого
> функционала,
> и даже по срокам сориентировать не берусь."
> Но есть надежда, что датчики камер будут задействованы когда-нибудь?
> По идее это должно улучшить функционал записи по движению.
О,да, опять эта Надя )
Работа над этим функционалом начала 5 лет назад.
2 года назад у нас был работающий прототип, забирающий события с камер по ONVIF.
Сложности возникли на интеграции этого модуля в демоны avregd новой 7 версии (сырое в сырое).

> Описание по месту не совсем понятно.
> Примечание
> diff = 1000 + количество пикселей, "прошедших" порог «noise_threshold»;
> как-то не понятно.
> Что будет, если заданы и diff, и noise_threshold?
Если упрощённо, алгоритм очень простой.
Берутся (+-) соседние кадры, и попиксельно сравниваюется яркостная Y-компонента 8bit (0-255).
Если разница менее noise_threshold, то она не учитывается, если больше - +1 к счётчику изм. пикселей.
Далее этот счётчик сравнивается с заданным порогом в diff. Если больше, то есть движение, меньше - нет.
Есть опциональный алгоритм изменения noise_threshold в зависимости от освещения (больше шаманский, но иногда помогает).
Как-то так.

Valery Sch

unread,
Nov 23, 2023, 5:27:11 AM11/23/23
to avreg-users
А avregd новой 7 версии - это прожект, или его можно как-то пощупать?

четверг, 23 ноября 2023 г. в 12:13:52 UTC+2, Andrey Nikitin:

Valery Sch

unread,
Nov 23, 2023, 6:12:49 AM11/23/23
to avreg-users
Это что-то типа
1) Настраиваете аксисный детектор движения (Events->Motion Detector).
2) Создаёте 2 триггерных события (Events->Event Types),
оба Triggered by... Motion detection, одно по "start", другое
по "stop". По "start" посылается http запрос (Send HTTP
notification to) с параметрами: "camera=N&do=start", по "stop" -
"camera=N&do=start".....
из версии 5.5 ?

четверг, 23 ноября 2023 г. в 12:13:52 UTC+2, Andrey Nikitin:
Valery Sch писал(а):

Andrey Nikitin

unread,
Nov 23, 2023, 6:21:43 AM11/23/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Это что-то типа
> 1) Настраиваете аксисный детектор движения (Events->Motion Detector).
> 2) Создаёте 2 триггерных события (Events->Event Types),
> оба Triggered by... Motion detection, одно по "start", другое
> по "stop". По "start" посылается http запрос (Send HTTP
> notification to) с параметрами: "camera=N&do=start", по "stop" -
> "camera=N&do=start".....
> из версии 5.5 ?

Нет, но так тоже можно, если камера умеет запросы постить в http или брокер какой (MQTT, например).
В avregd есть встроенный веб-сервер, который может принять http запрос на управление записью
http://avreg.net/manual_applications_avregd-cgi-api.html
Но это решение - костыльть нужно, логикой обвязывать.

Реализация по ONVIF по другому работает, и более универсально,
т.к. ONVIF стандарт и почти во всех камерах приличных поддержан.
В настройках достаточно просто галочку поставить от каких событий запись включать и всё.

Valery Sch

unread,
Nov 23, 2023, 6:29:27 AM11/23/23
to avreg-users
Мои камеры как раз могут только ONVIF
Так что ждем-с-с такое решение.
А пока засылаю тысячи в diff. Кажется работает.
Непонятно почему diff% так неадекватно отрабатывает.
Я понимал, что diff%- это часть измененной картинки в % , но наверное ЭТО ДРУГОЕ)

четверг, 23 ноября 2023 г. в 13:21:43 UTC+2, Andrey Nikitin:

Valery Sch

unread,
Nov 26, 2023, 4:42:35 AM11/26/23
to avreg-users
Установкой больших значений diff удалось добиться, что "тишина" не пишется.
Но выползла другая крайность. Записи стали очень короткими:
09_02_54.mp4  09_04_39.mp4  09_06_06.mp4  09_06_24.mp4  09_06_39.mp4  09_06_57.mp4  09_07_36.mp4 .....
По именам файлов видно, что записм не более 2 мин.
В логах повод для начала записи показывается
motion session started (rec_id #1296): diff: 11097 - 5000 = 6097(+122%);
а вот почему запись прекращается непонятно, просто пишется
motion session finished (00:01:07), rec_id #1297, rec.target "self"
"self motion detector" stop the recording
хотя кадр не "застывший" и запись буквально сразу возобновляется, но ухе в новый файл.
Что влияет на прекращение записи?
четверг, 23 ноября 2023 г. в 13:29:27 UTC+2, Valery Sch:

Andrey Nikitin

unread,
Nov 26, 2023, 4:59:05 AM11/26/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Что влияет на прекращение записи?
motion_session_end

Можете логи прислать (/var/log/daemon.log или /var/log/syslog), посмотрим.

Valery Sch

unread,
Nov 26, 2023, 5:07:46 AM11/26/23
to avreg-users
Попробую подергать motion_session_end
Поставил 1 мин (60)
Понаблюдаю

воскресенье, 26 ноября 2023 г. в 11:59:05 UTC+2, Andrey Nikitin:

Valery Sch

unread,
Nov 27, 2023, 5:38:41 AM11/27/23
to avreg-users
Ну как бы с записью боль-мень наладилось.
Не совсем понятен параметр pre_record
Как он влияет на ПДД
Ну и щупаю AVreg дальше.
Камера имеет PTZ , но при "тыкании" на "опустить/поднять" и другие.. 
от камеры никакой реакции и в логах на этот счет пусто.

воскресенье, 26 ноября 2023 г. в 12:07:46 UTC+2, Valery Sch:

Andrey Nikitin

unread,
Nov 27, 2023, 6:56:54 AM11/27/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Не совсем понятен параметр pre_record
А что непонятного к описанию?
Просто плюс кол-во секунд записи _до_ события.

> Как он влияет на ПДД
Никак.

> Ну и щупаю AVreg дальше.
> Камера имеет PTZ , но при "тыкании" на "опустить/поднять" и другие..
> от камеры никакой реакции и в логах на этот счет пусто.

onvif профиль нужно определить, там в настройках захвата где-то есть параметр.

Valery Sch

unread,
Nov 27, 2023, 7:16:53 AM11/27/23
to avreg-users
onvif профиль подтягивается через onvif (автонастройка)
  onvif_profile_token 000
  onvif_http_port 8899
Сам PTZ камеры работает например через Onvier - IP Camera Monitor
на андроид телефоне и даже через VPN доступ к камере

понедельник, 27 ноября 2023 г. в 13:56:54 UTC+2, Andrey Nikitin:

Valery Sch

unread,
Nov 28, 2023, 7:27:40 AM11/28/23
to avreg-users
Что обозначает оранжевая(хелтая) рамка в вебинтерфейсе вокруг окна камеры?
На одной камере она есть, на другой-нет.

понедельник, 27 ноября 2023 г. в 14:16:53 UTC+2, Valery Sch:

Andrey Nikitin

unread,
Nov 28, 2023, 9:00:05 AM11/28/23
to avreg...@googlegroups.com
Valery Sch писал(а):
> Что обозначает оранжевая(хелтая) рамка в вебинтерфейсе вокруг окна камеры?
> На одной камере она есть, на другой-нет.
Это главное окно в раскладке,
именно в ней видео выводится без искажений aspect-ratio,
и он же используется для всех остальных окон.
Это если флажка растянуть на весь экран нет для раскладки.
Reply all
Reply to author
Forward
0 new messages