[Модуль] Camshoter (camshoter)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

[Модуль] Camshoter (camshoter)

Сообщение directman66 » Пн дек 03, 2018 4:27 pm

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

Реализовано:
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>
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/machin ... ng/vision/ получить токен с разрешениями (Объекты, Лица). Далее полученный токен необходимо сохранить на вкладке настройки. Информация о распознанных фотографиях хранится в таблице camshoter_recognize и выводится на экран при наведении курсора мыши на фотографию в режиме просмотра. Начальный аккаунт дает возможность производить 5000 запросов в месяц бесплатно. Функционал тестировался пока только под линукс.

Тарифы mail.ru
СпойлерПоказать
44f302ca-292a-485e-9496-dcd44e687d49.jpg
44f302ca-292a-485e-9496-dcd44e687d49.jpg (55.18 КБ) 8791 просмотр

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 
Далее в процессе выполнения #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/

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


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

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


Поддержать проект можно через коннект https://connect.smartliving.ru/tasks/332.html
Последний раз редактировалось directman66 Вт янв 29, 2019 1:07 pm, всего редактировалось 19 раз.
За это сообщение автора directman66 поблагодарили (всего 8):
VooDooN (Пн дек 03, 2018 4:33 pm) • K070HY (Вт дек 04, 2018 3:00 pm) • alex.frost (Вт дек 04, 2018 5:35 pm) • Igor.P (Вт дек 04, 2018 9:14 pm) • skysilver (Ср дек 05, 2018 12:42 am) • ypiter2006 (Пт дек 07, 2018 6:57 pm) • kostya4000 (Ср янв 09, 2019 10:45 am) • ropi_k (Вт июл 23, 2019 9:41 pm)
Рейтинг: 9.3%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] Camshoter (camshoter)

Сообщение directman66 » Пн дек 03, 2018 9:55 pm

В этом сообщении собираем список камер и пути к snapshot и rtsp потокам.

1) H264 HI3516C + 1/2. 8 ''Sony imx222 https://ru.aliexpress.com/item/Ultral-L ... 33edjWeK16

Onvif polling работает
snapshot: http://ip/webcapture.jpg?command=snap&channel=0
rtsp: rtsp://192.168.1.32:554/user=admin_password=tlJwpbo6_channel=1_stream=1.sdp?real_stream
инструкция по увеличению разрешения статической фотографии https://connect.smartliving.ru/profile/1502/blog60.html


2) XM 1080 P PTZ https://ru.aliexpress.com/item/XM-1080P ... 33eduHW275

Onvif отсутствует
snapshot: http://ip/webcapture.jpg?command=snap&channel=0
rtsp: rtsp://192.168.1.32:554/user=admin_password=tlJwpbo6_channel=1_stream=1.sdp?real_stream

3) reolink RLC-420
snapshot: http://192.168.1.13/cgi-bin/api.cgi?cmd ... rd=XXXXXXX

4) herospeed 3516d imx123
snapshot: http://user:password@IP_адрес:80/snap.jpg

5) Вызывная панель Hikvision DS-KB8112-IM
onvif есть
По идее должна отдавать уведомления об открытой двери и принимать команду на открытие.
RTSP HQ: rtsp://IPADDRESS:554/h264/ch01/main/av_stream
rtsp://user:password@IPADDRESS:554/ISAPI/Streaming/Channels/101
RTSP HQ: rtsp://IPADDRESS:554/h264/ch01/main/av_stream
rtsp://user:password@IPADDRESS:554/ISAPI/Streaming/Channels/102
snapshot: http://IPADDRESS/Streaming/channels/1/preview

6) Камера DS-2CD2032-I
onvif есть
RTSP HQ: rtsp://IPADDRESS:554/mpeg4/sub/main/av_stream
RTSP LQ: rtsp://IPADDRESS:554/mpeg4/ch01/sub/av_stream
snapshot: http://IPADDRESS/Streaming/channels/1/picture
Последний раз редактировалось directman66 Сб авг 17, 2019 8:02 am, всего редактировалось 4 раза.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
K070HY
Сообщения: 27
Зарегистрирован: Ср янв 10, 2018 3:24 pm
Благодарил (а): 15 раз
Поблагодарили: 2 раза

Re: [Модуль] Camshoter (camshoter)

Сообщение K070HY » Вт дек 04, 2018 3:00 pm

directman66 писал(а):
Пн дек 03, 2018 9:55 pm
Место для рекламы )

зыж: допилили модуль onvif, теперь датчик движения срабатывает только когда действительно от камеры пришел alarm.

Есть постоянная ссылка на последнее фото, поэтому ее всегда можно добавить на сцену.
<a href="/cms/cached/nvr/last/cam1.jpg" target="_blank"> <img src ="/cms/cached/nvr/last/cam1.jpg" width="250"> </a>
Модуль гуд! Спасибо!
Придирку можно? Опечатка в "SLACK".
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: [Модуль] Camshoter (camshoter)

Сообщение VooDooN » Вт дек 04, 2018 3:32 pm

Модуль еще не ставил (жду камеру), пока смотрю по скринам. Хотелось бы еще:
1) как-то указывать модулю, нужно ли ему сейчас делать снэпшоты или нет. Допустим, в свойстве камеры где-то ставить 1 или 0. Когда все дома, снэпшоты не нужны, а в режиме Охраны нужны. Или в других специфических случаях.
2) было бы полезным указывать место хранения снэпшотов. Чтобы не грузить карту памяти, я бы указывал сетевой диск, например.
Спасибо за модуль!
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] Camshoter (camshoter)

Сообщение directman66 » Ср дек 05, 2018 6:26 am

Добавлена возможность сохранения rtsp потока и отправки видео в формате mp4.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] Camshoter (camshoter)

Сообщение directman66 » Ср дек 05, 2018 9:04 am

VooDooN писал(а):
Вт дек 04, 2018 3:32 pm

2) было бы полезным указывать место хранения снэпшотов. Чтобы не грузить карту памяти, я бы указывал сетевой диск, например.
Спасибо за модуль!
Если вынести сохраняемую папку за пределы домашнего каталога проекта, не будет доступа на просмотр контента. Для использования сетевых дисков, внешних носителей, предлагаю смонтировать их внутри домашнего каталога majordomo.

вручную:

Код: Выделить всё

mount -t cifs -o user=User //192.168.1.104/nvr  /var/www/cms/nvr 
или в автозагрузку (добавить строку в /etc/fstab):

Код: Выделить всё

//192.168.1.104/nvr cifs user=User,pass=Password 0 0
За это сообщение автора directman66 поблагодарили (всего 2):
VooDooN (Ср дек 05, 2018 11:46 am) • olegvolk75 (Ср дек 05, 2018 4:30 pm)
Рейтинг: 2.33%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
K070HY
Сообщения: 27
Зарегистрирован: Ср янв 10, 2018 3:24 pm
Благодарил (а): 15 раз
Поблагодарили: 2 раза

Re: [Модуль] Camshoter (camshoter)

Сообщение K070HY » Чт дек 06, 2018 5:16 pm

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


Кстати, связался с руководителем продуктов технологии компьютерного зрения Vision мэйлру. Интересовался распознаванием голоса, фэйса и номера автомобиля. Ответили, что если количество запросов небольшое, то можно все сделать на их API, тем более, что есть бесплатный тариф. Так что возможно и бесплатно.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] Camshoter (camshoter)

Сообщение directman66 » Чт дек 06, 2018 5:34 pm

5000 запросов в месяц бесплатно, это всего 166 запросов в день. Думаю выбрать этот показатель легко и за четверть месяца.

Работаю в этом направлении.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
ILGAS
Сообщения: 366
Зарегистрирован: Пт июл 26, 2013 4:11 pm
Благодарил (а): 71 раз
Поблагодарили: 18 раз

Re: [Модуль] Camshoter (camshoter)

Сообщение ILGAS » Пт дек 07, 2018 12:07 am

Похоже у меня какие то глюки с модулем onvif, показывает что ломаный скриншот.
этот модуль тоже не показывает. ((((

PS еще программа ONVIF Device Manager версия 0.9.4 тоже картинку не показывала, а версия 2.2.25 работает, можно скачать https://sourceforge.net/projects/onvifd ... -v2.2.250/
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: [Модуль] Camshoter (camshoter)

Сообщение directman66 » Пт дек 07, 2018 5:27 am

Пробуйте получить картинку через vlc. Как появится, можно будет настраивать. Onvif нужен только для эмуляции датчика движения. Его с легкостью можно заменить любым другим датчиком движения.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Ответить