4093

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

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

Здарова народ. Решил немного поделиться мыслями про видеонаблюдение. Не являюсь профи и вообще специалистом. Просто 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 сохраняем отдельным суммарным видео за сутки.

Пример:

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

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

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

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

Получилось не совсем то что я хотел. Мой 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 месяца сидел в бане в пикабу, да и лето кончается, шашлык сам себя не выпьет :)

UPD:

Последние файлики поставить 03 и накатить сверху 04

https://eruditoffline.ru/nvrminitelebot_03.zip

https://eruditoffline.ru/nvrm_04.zip

Вы смотрите срез комментариев. Показать все
1
DELETED
Автор поста оценил этот комментарий

Home assistant + motionyeye

Shinobi

Zoneminder

раскрыть ветку (12)
0
Автор поста оценил этот комментарий

Zoneminder жрёт как не в себя даже с одной камеры.

Shinobi теперь платный.

motionyeye - что то там с разрабом случилось...

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Шиноби вроде есть и платный и бесплатный

Мотион я из home assistant ставил, возможно форк оригинала

0
Автор поста оценил этот комментарий

Всё пробовал. Всё фигня,  попробуйте настроить 8 4К камер где каждая будет определять объекты в сцене. 

Frigate более менее приближен к тому что хотелось, но тоже возникали проблемы. Потому и взялся за шашки :)

раскрыть ветку (9)
1
DELETED
Автор поста оценил этот комментарий

Есть 5 камер по 3-5мп. Пока полёт отличный.

Объекты сами определять задачи нету, основная - срабатывать на движение и этот кусок класть в облако + уведомление в ТГ

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

У меня не срослось... очень много ресурсов жрало.  Опять же гибкости маловато.  Мне например удобно следить за системой через телегу.. Всё через того же бота

Или скачать видео последнего события.

Я не против готовы систем из коробки, просто ничего не подошло :(

Иллюстрация к комментарию
раскрыть ветку (2)
0
DELETED
Автор поста оценил этот комментарий

Самое главное это желание делать, придумывать, а на чём это уже в последнюю очередь.

Посмотрю Вашу реализацию, интересно было повозиться с распознаванием образов

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Желание что-то делать во мне разбудили давно :)

Примерно в это время :)

Иллюстрация к комментарию
0
Автор поста оценил этот комментарий

Ну, с пачки камер писать не приходилось, но Шиноби вполне тянул две FullHD камеры на OrangePi Zero. Причем по процу при этом загрузка никакая, упиралось в  512 Мб памяти.

Входящий поток в ffmpeg, благо он умеет в аппаратные декодеры, снижаем fps до 5 и на детектор движения, и если он срабатывает, сохраняем кусок оригинального входного потока. Опять же, детектить можно на одном потоке, а сохранять другой.


Комплектный детектор рабочий, но тупенький, да. Но подозреваю, с небольшим кодингом можно ту же нейросетку прикрутить.

0
Автор поста оценил этот комментарий
Frigate NVR + HA. AI распознавание, уведомления в телегу и прочие радости. Работает отлично.
раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Ставил, неплохо. но жрет всё таки много на 8 камер. Если кажду слать на распознование объектов.

Вообще наверное единственная система, которую можно ставить и пытаться под себя затюнить.  Остальные совсем с большими косяками

раскрыть ветку (2)
0
Автор поста оценил этот комментарий
Жрет любое решение:) На распознавание обычно отдаётся дополнительный поток с меньшим качеством и к/с. Плюс куча готовых сетей, можно подобрать что попроще, но с меньшей точностью. Распознавать можно например с использованием openvino на проце Intel.
раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Ясен пень что жрет всё.  Я и взял Codeproject ai опенсорсная комьюнити приблуда. Я даже не погружался в дебри распознавания, просто заюзал их внешний апи. Они GPU поддерживает и TPU .


А что касается именно фригата - то помимо аи он ещё и своё что-то гоняет.  А поскольку он написан на попсовом питоне то и жрет как не в себя.   А я просто разделил функционал - обычный тупой NVR используется на C++  а для Ai фич свой код, и ничего лишнего. Решение довольно узкое  но для моих нужд процентов на 99% то что надо.   Пост запилил, может кому тоже надо немного и быстро :)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества