Модуль Camshoter позволяет сохранять скриншоты при срабатывании датчика движения.

Реализовано:
1) Привязка камеры к параметрам устройств (например свойство status объекта Motion);
2) При изменении привязанного свойства, сохраняется картинка камеры, которая указана в поле URL;
3) Доступен режим просмотра сохраненных фотографий и фильтрация по дате (вкладка Снапшоты);
4) Отправка полученных снапшотов в телеграм (временно реализована отправка всем подписантам) .
5) Сохранение последних снапшотов в одной папке с постоянным именем для добавления на сцену или другие модули:
код для вставки на сцену (данный вариант использования в отличии от thumb не загружает процессор при обновлении страницы)
6) Проверка объема занимаемого пространства в разрезе камер.
7) Добавлена возможность сохранения rtsp потока и отправки видео в формате mp4.
8) Добавлена настройка игнорировать запись, когда дома кто-то есть. Просьба протестировать.
9) Добавлена возможность отключения камер (вручную)
10) Добавлен просмотр миниатюр для видео
11) Добавлена сохранение токена mail.ru vision, который можно получить тут https://mcs.mail.ru/ (на будущее)
12) Добавлено изменение размера миниатюр в режиме просмотра
13) Добавлено распознавание объектов с помощью сервиса vision от mail.ru. Необходимо зарегистрироваться на сайте https://mcs.mail.ru/ и после активации аккаунта на странице https://mcs.mail.ru/app/services/machinelearning/vision/ получить токен с разрешениями (Объекты, Лица). Далее полученный токен необходимо сохранить на вкладке настройки. Информация о распознанных фотографиях хранится в таблице camshoter_recognize и выводится на экран при наведении курсора мыши на фотографию в режиме просмотра. Начальный аккаунт дает возможность производить 5000 запросов в месяц бесплатно. Функционал тестировался пока только под линукс.
14) Добавлена эмуляция сработки привязанного датчика. Для тестирования функционала. Вызывается с основного окна модуля.
15) Для тех, у кого кодеки камеры отличаются от h264, возможно требуется перекодировка на ходу. Для этого предусмотрел в настройках камеры кастомный путь FFMEGCMD. Заполнять только если сохраняются пустые файлы. Пример заполнения:
[code] ffmpeg -y -i rtsp://192.168.1.32:554/user=admin_password=tlJwpbo6_channel=1_stream=1.sdp?real_stream -t #sec -f mp4 -vcodec copy -pix_fmt yuv420p -acodec copy -an -r 15 #savename [/code]
Далее в процессе выполнения #sec и #savename будут заменены на нужные пути модуля. Вы можете поиграть с настройками кодеков:

для видео:
-vcodec copy
-vcodec libx264
для аудио
-acodec copy
-acodec ac3
Возможны другие варианты. Настройки зависят от того, какие кодеки поддерживает камера и какие драйвера установлены в системе.



В планах:
1) Очистка хранилища в зависимости от настроек модуля;
2) Отправка полученного изображения на анализ в сервис vision от mail.ru для распознавания объектов в кадре и распознавания лиц (платный функционал).

Многие камеры ONVIF позволяют подписываться на "движение в кадре". Для того, чтобы это настроить, необходимо:
1) Создать простое устройство "Датчик движения".
2) Установить модуль ONVIF, найти или добавить вручную нужные камеры. На вкладке "общие" выбрать Enable ONVIF events polling. На вкладке "данные" привязать метрику tns1:RuleEngine/CellMotionDetector/Motion/IsMotion к созданному ранее датчику движения и свойству status или методу MotionDetected.

Проверить, поддерживает ли камера подписку и корректно ли работает подписка можно с помощью программы
ONVIF Device Manager Ссылка на программу https://yadi.sk/d/kXCND7Nmt3tAYQ
Обзор программы https://habr.com/company/synesis/blog/120747/
[b]Наблюдение: [/b]
Две камеры h264 в одно и тоже время примерно через месяц перестали присылать статусы о сработках. Перезагрузка не помогает, но запуск
приложения CMS, просмотр параметров настроек и закрытие приложения.


1) Создать простое устройство "Датчик движения" или "Датчик открытия";
2) Внешний датчик движения добавляется в систему мажордомо через модуль XiaomiHome, проверяется факт сработки, т.е. данные во вкладке "данные" должны быть актуальны;
2) Привязывается метрика "motion" к ранее добавленному Простому устройству "Датчик движения"


в модуле Camshoter:
1) Добавляется камера (необходимо указать Имя устройства, путь к снапшотам устройств, ip адрес (нужен для определения доступности).
2) Добавленную камеру необходимо привязать к Простому устройству "Датчик движения" на вкладке "Настройки".
3) Посмотреть снапшоты можно на вкладке "Снапшоты". Для сохранения контента используется путь /var/www/cms/cached/nvr/camX


Более подробная информация ищется в сети на сайтах https://rtsp-stream.ru/ и https://www.ispyconnect.com/

[#begin DEVICE_LIST#] [#end DEVICE_LIST#]
Тип ПРоизводитель Модель rtsp1 rtsp2 snap1 snap2 mjpeg login pass ptz onvif onvifevents
[#TYPE#] [#VENDOR#] [#MODEL#] [#RTSP1#] [#RTSP2#] [#SNAP1#] [#SNAP2#] [#MJPEG#] [#DEFAULTLOGIN#] [#DEFAULTPASS#] [#PTZ#] [#ONVIF#] [#ONVIFEVENTS#] [#LINK#] [#COMMENT#]
[#inc rekv.html#]