Детекция движения


В сервисе реализована функция детекции движения. Сообщения о детекции движения принимаются сервером по SMTP от камеры. Определение моментов "активности" в кадре и настройка чувствительности и зоны определения движения производятся на стороне камер, при использовании ее стандартного функционала, что позволяет снизить нагрузку на сервер.

Использование детекции позволяет решить две задачи:

  1. Помечать моменты активности (таймлайн в плеере окрашивается в желтый цвет)
  2. Настроить запись по движению (настраивается для каждой камеры отдельно)

Настройка камеры

Камера передает информацию о движении по SMTP.

Используется функция отправки уведомлений о событиях на электронную почту. Сервер выполняет перехват уведомления при корректной настройке, помечает архивную запись с камеры, отправившей уведомление.

Для этого нужно настроить отправку тревожных уведомлений на e-mail в камере, обычно это выглядит так:

  1. В поле "SMTP сервер" укажите IP-адрес сервера на котором установлен MainStreamer. Локальный - если камера и сервер в одной локальной сети. Публичный - если камера и сервер сообщаются через интернет.
  2. В поле "Порт" укажите порт для связи, по умолчанию 1025.
  3. В поле "Пароль" укажите любые символы.
  4. В поле "Пользователь" введите alert1@dvor24.com
  5. В поле "Отправитель" или "Email отправителя" и т.д. укажите ОБОЗНАЧЕНИЕ_КАМЕРЫ_ИЗ_КАРТОЧКИ_В_ЛК@dvor24.com (например: MOS_001_001@dvor24.com - используйте строчные символы).
  6. В поле "Получатель" введите alert2@dvor24.com

"Шифрование" - не используется, необходимо отключить. Записи идут зашифрованными, дополнительное шифрование не требуется. Если пункт включен, меток детекции не будет.

Далее необходимо включить детекцию движения в камере:

В зависимости от настроек камеры, можно выставить область детекции и чувствительность обнаружения.

При построении меток детекции движения стример орентируется на время, указанное в теле письма. Если время или часовой пояс на самой камере указаны неверно, то стример будет расставлять метки некорректно. Если же в теле письма время и дата будут указано не по шаблону, то время метки детекции движения будет выставлено по времени сервера на момент отправки письма.
  • Шаблон даты и времени: Год-Месяц-Число Час:Минуты:Секунды, например 2022-11-22 05:27:15. Значения в дате разделяются дефисом, во времени - двоеточием. Дата и время разделены пробелом.
Детекция движения на камерах с прощивкой MS-Agent
  • При использовании прошивки MS-Agent предварительная настройка камер для детекции движения не требуется, так как в прошивке детекция уже включена по умолчанию, по протоколу TCP.
  • Подробно о прошивке MS-Agent.

Настройка сервера

По умолчанию, в MainStreamer'е версии выше 3.10.0 уже включена функция детекции движения по SMTP, через порт 1025. Если у вас используется более старая версия стримера, то нужно выполнить обновление или настроить файл конфигурации вручную (в том числе, если требуется изменить стандартный порт).

Ручная правка файла конфигурации MainStreamer'a выполняется командой:

sudo nano /opt/main-streamer/ms.conf

Он должен содержать в себе запись (при отсутствии необходимо добавить вручную):

  1. "motion_detect" - со значением "smtp", в зависимости от типа детекции.
  2. Параметр "enabled" - включить или выключить детекцию, принимает значение "true" - включить и "false" - отключить.
  3. Параметр "port" - указывается порт подключения, в зависимости от используемого типа детекции (по умолчанию smtp: 1025), например:
json
"motion_detect": {
  "smtp":{
      "enabled": "true",
      "port": "1025"
  }
}
При добавлении новой записи в файл конфигурации обязательно поставьте запятую после блока уже имеющегося кода, удалите закрывающую скобку перед уже имеющимся кодом.

Пример:

json
"motion_detect": {
  "tcp":{
      "enabled": "false",
      "port": "15002"
  }
}

После изменения конфигурации необходимо перезапустить службу командой:

service main-streamer restart

Активация детекции движения и настройка расписания записи в ЛК на сайте

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

Обратите внимание, что, если вы изменяли порядок камер в карточке объекта, изменился и номер камеры. Номер камеры используется при настройке функции детекции движения. После изменения порядка камер (соответственно, и их номеров), потребуется донастроить камеры (изменить номер непосредственно в настройках SMTP, в меню самой камеры) для корректной работы детекции движения.

Настройка авторизации SMTP

По умолчанию авторизация отключена и принимаются любые значения логина и пароля. Но если требуется настроить авторизацию на SMTP, то требуется сделать следующее:

  1. Открываем конфигурационный файл MainStreamer'a
sudo nano /opt/main-streamer/ms.conf
  1. Добавляем блок с авторизацией.

Пример блока:

json
"smtp_users": [
        {
            "login": "test1@mail.net",
            "password": "sghekfhasgbv"
        },
        {
            "login": "test2@mail.net",
            "password": "djrgdovkmfhew"
        }
    ],

сохраняемся (ctrl+x, y, enter) и перезапускаем MainStreamer командой

sudo systemctl restart main-streamer
  1. Готово. Теперь сообщения о детекции принимаются только камер с авторизацией по SMTP, используя данные в этом блоке.