Видеонаблюдение, наблюдения

Видеонаблюдение, наблюдения.

Здарова народ. Решил немного поделиться мыслями про видеонаблюдение. Не являюсь профи и вообще специалистом. Просто 7 лет живу в частном доме

и ради интереса балуюсь установкой камер наблюдения на участке. Не то чтобы они нужны, но очень интересно :)

Перепробовал огромное количество NVR систем, разные камеры, от дешевых до дорогих, в итоге пришел к тому что оставил камеры только одного бренда.

В моем случае это Hikvision. Удобно когда все настройки устроены по одной схеме.

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

Или это снег, или это тень от деревьев или пауки плетут паутину под теплыми лучами IR подсветки. Всего этого хотелось избежать. Вариант один - детекция объектов на основе нейронок.

В очередной приступ перфекционизма, когда увидел что за сутки записано несколько лишних гигабайт - лезу в интернет в поисках решения проблем.

Оказывается уже давно существует классный проект Codeproject AI, то что доктор прописал. Поиск на изображении объектов/номеров авто/даже face detection присутствует.

Дело за малым, прикрутить это всё к своим камерам. Первый, и самый логичный способ - это найти уже готовую систему работающую с этим API. И такие находятся

1)Agent DVR, бывший iSpy написанный на .NET одна из самых мощных и бесплатных систем видеонаблюдения, с одним маленьким но сука жирным минусом. Она жрет столько ресурсов, сколько ещё не придумали. Проц (6900hx)

полностью забит под 100% и с трудом справляется даже с 3-4 камерами, а у меня их 8.. Нафиг, выкидывам

2) Blue Stack, очень популярная на западе система , стоит не дорого. Готов был купить, но нам чуркам не продают. Поэтому были посланы. Хотя потестировал крякнутую. 8 Камер с детекцией тоже не вытягивают.

Были ещё варианты разной степени готовности и сырости, например Fregate , но хотелось чего то лёгкого воздушного особенного (как в анекдоте про водку.)

Ну что же, вызов брошен, решил сделать что-то своеё. Расчехлил вижуал студио. Забрёл на github в поисках отдельных компонент того что мне нужно.

Первое - это считать RTSP потоки с камер.

Находим замечательную либу https://github.com/BogdanovKirill/RtspClientSharp

От, возможно нашего соотечественника Богданова Кирилла, если ты тут - респект и уважуха :)

Эта библиотека позволяет вытащить потоки и получить отдельные кадры из видео.

Дальше мы эти кадры засылаем на ранее упомянутый Codeproject AI.

https://www.codeproject.com/Articles/5322557/CodeProject-AI-...

Он нам присылает данные о том что на изображении имеется. Люди, котики, лисы, авто итд.

Получаем данные и решаем что писать в файл что нет. Если на кадрах интересующие нас объекты - мы сохраняем картинки , которые потом, в конце дня с помощью ещё одной замечательной либы ffmpeg сохраняем отдельным суммарным видео за сутки.

Пример:

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

Видеонаблюдение, наблюдения Видеонаблюдение, Программирование, Искусственный интеллект, Видео, YouTube, Длиннопост

Не то чтобы котик, больше Лиса, но тоже сойдет :)

Цепляем ещё одну замечательную либу с телеграм ботом и получаем сразу оповещения в телефоне.

Видеонаблюдение, наблюдения Видеонаблюдение, Программирование, Искусственный интеллект, Видео, YouTube, Длиннопост

Получилось не совсем то что я хотел. Мой NVR продолжает писать видео по любому чиху параллельно. Но в основном всё что мне интересно я получаю в телегу. Где могу и видео последнее посмотреть и быстро получить изображение с камеры. Система у меня крутится на винде, на небольшом миниPC minisforum 6900hx, общая наргузка на систему (NVR плюс моя утилита) не первышает 20% Если кому интересен такой вариант - готов поделиться.

Далее, тем кто дочитал конкретика:

Софтина:

https://eruditoffline.ru/nvrminitelebot.zip

Писана для себя, поэтому с вероятностью 50% заработает у вас, но готов допилить дострогать.

Что нужно установить дополнительно:

Codeproject AI:

https://www.codeproject.com/Articles/5322557/CodeProject-AI-...

Download windows installer.

Можете ставитьна любую машиниу, хоть на винду хоть на линукс,докер итд.. Главное чтобы был включен Object Detection (YOLOv5 .NET)

Далее качаете FFMPEG

https://ffmpeg.org/download.html

должна стоять на той же машине. В конфиге надо прописать путь к bin папке

Затем телега..

Идете в телегу к @botfather регестрируете своего бота, получаете ключ и вписываете его в конфиг

Затем гуглите как узнать свой ID в телеге , и вписываете его тоже в конфиг приложения. В конфиге есть два списка

- один это кому присылать постоянно уведомления, второй это кто просто может запрашивать видео и изображения с камер.

Далее заполняете конфиг, вбиваете данные RTSP каналов (вбивайте каналы в высоком качестве, прога сама жмет при запросе к AI)

Всё должно заработать, ну с вероятностью 50% :)

ЗЫ: За стиль изложения прошу простить, пишу в пьяном угаре, 2 месяца сидел в бане в пикабу, да и лето кончается, шашлык сам себя не выпьет :)