Реализовано:
1) Привязка камеры к параметрам устройств (например свойство status объекта Motion);
2) При изменении привязанного свойства, сохраняется картинка камеры, которая указана в поле URL;
3) Доступен режим просмотра сохраненных фотографий и фильтрация по дате (вкладка Снапшоты);
4) Отправка полученных снапшотов в телеграм (временно реализована отправка всем подписантам) .
5) Сохранение последних снапшотов в одной папке с постоянным именем для добавления на сцену или другие модули:
код для вставки на сцену (данный вариант использования в отличии от thumb не загружает процессор при обновлении страницы)
Код: Выделить всё
<a href="/cms/cached/nvr/last/cam1.jpg" target="_blank"> <img src ="/cms/cached/nvr/last/cam1.jpg" width="250"> </a>
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/machin ... ng/vision/ получить токен с разрешениями (Объекты, Лица). Далее полученный токен необходимо сохранить на вкладке настройки. Информация о распознанных фотографиях хранится в таблице camshoter_recognize и выводится на экран при наведении курсора мыши на фотографию в режиме просмотра. Начальный аккаунт дает возможность производить 5000 запросов в месяц бесплатно. Функционал тестировался пока только под линукс.
Тарифы mail.ru
14) Добавлена эмуляция сработки привязанного датчика. Для тестирования функционала. Вызывается с основного окна модуля.
15) Для тех, у кого кодеки камеры отличаются от h264, возможно требуется перекодировка на ходу. Для этого предусмотрел в настройках камеры кастомный путь FFMEGCMD. Заполнять только если сохраняются пустые файлы. Пример заполнения:
Код: Выделить всё
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
для видео:
-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/
Наблюдение:
Две камеры h264 в одно и тоже время примерно через месяц перестали присылать статусы о сработках. Перезагрузка не помогает, но запуск
приложения CMS, просмотр параметров настроек и закрытие приложения.
Реакция по внешнему датчику движения, например из модуля MiHome:
1) Создать простое устройство "Датчик движения" или "Датчик открытия";
2) Внешний датчик движения добавляется в систему мажордомо через модуль XiaomiHome, проверяется факт сработки, т.е. данные во вкладке "данные" должны быть актуальны;
2) Привязывается метрика "motion" к ранее добавленному Простому устройству "Датчик движения"
Для всех вариантов
Далее в модуле Camshoter:
1) Добавляется камера (необходимо указать Имя устройства, путь к снапшотам устройств, ip адрес (нужен для определения доступности).
2) Добавленную камеру необходимо привязать к Простому устройству "Датчик движения" на вкладке "Настройки".
3) Посмотреть снапшоты можно на вкладке "Снапшоты". Для сохранения контента используется путь /var/www/cms/cached/nvr/camX
Поддержать проект можно через коннект https://connect.smartliving.ru/tasks/332.html