Pull to refresh

Comments 27

С нетерпением жду продолжения, т.к. есть желание сделать такое на даче.

Рассматривались ли всякие сторонние облачные решения типа ivideon, ipeye и прочих похожих?

Честно говоря нет, не рассматривал. Причин несколько: 1. Жаба. Большинство сервисов с возможностью хранения архивов платные, и пусть оно стоит смешных денег, но тем не менее. 2. Как я уже писал в статье, мне очень сильно не хотелось открывать порты для доступа к камере, а сервис с поддержкой агента для запуска внутри локальной сети появился позже (к сожалению забыл его название) 3. Мне очень сильно не хотелось отдавать персональные видео на сторону, поскольку я не мог предсказать кто именно может получить к ним доступ, тем более что идея была ставить камеру внутри квартиры.

Кстати, если хочется "здесь и сейчас", особых проблем нет. Все ПО опубликовано в Snapcraft Store и при наличии базовых навыков работы с линуксовой консолью может быть настроено самостоятельно. Следующие части я в любом случае напишу, но они будут больше ориентированы на техническую составляющую проекта. Прикладную часть я планирую описать в последней(предварительно третьей) части.

Лично у меня для таких целей отлично работает связка Frigate и TPU-модуль Google Coral для ускорения распознавания (если точнее, то G650-04527-01).

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

Оба регистратора стоят у меня дома, а камеры в разных местах и связано всё через VPN. Благо внутри РФ wireguard работает без проблем.

Если сравнивать, то Frigate гораздо гибче и в нём лучше работает распознавание, но и Dahua неплох если нужно чтобы оно просто работало. Хотя в Dahua с настройками тоже придётся поразбираться - логика настроек там весьма извращённая

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

Что-то как-то все замутно у вас получается... Не, ну может я что-то не понимаю, но все же мне кажется есть более простые решения и ничего патчить не нужно)) Короче, решение такое: ставите какой-нибудь сервер видеонаблюдения, у меня, вот например, сейчас стоит Shinobi, а вообще я пробовал разные сервера, MotionEye, ZoneMinder и еще какие-то уже не помню, но не суть... Поставили сервер видеонаблюдения и поставили сервер WireGuard - — протокол виртуальной частной сети ... например, настраиваете сервер на 10.0.0.1, а клиентов на 10.0.0.2,3,4... и так далее. Никаких портов не надо пробрасывать, все работает внутри этой сети и все шифруется от посторонних глаз)) Все легко и просто)) У меня даже есть две камеры на моей усадьбе, которая находится в глуши непросветной, там глушь, лес, болота и речка с медведями, а на дереве скрытая антенна, которая ловит мобильную сеть, а в контейнере Репка Пи стоит, и все работает как часы. Ничего патчить не надо)) Не ну может у вас какая-то цель своя или путь самурая, я может не уловил из статьи, но я уловил, что вы там порты боитесь пробрасывать, так вот там не надо.. ВайрГард ставите на какой-нибудь ВПС дешевый за 75 рублей в месяц и в ус не дуете))) как я)))

+1. Загоняем все камеры в один VLAN, даём доступ к этому VLAN только серверу видеонаблюдения, ну а как уже внешний доступ к этому серверу открыть - ну так же, как и к остальной домашней сети. У меня только через VPN, но можно и обратный прокси в DMZ поставить.

В копилку вариантов софта добавлю ещё Frigate. У меня долгое время стоял ZoneMinder, но потом на Frigate перешёл, там всё гораздо современнее выглядит и очевиднее настраивается.

Проблема в том что настройка WireGuard (или подобных) предполагает чуть более высокую квалификацию чем настройка агента работающего в локальной сети.
Опять же, в финальном варианте ничего патчить уже не нужно - есть готовый набор приложений для которых нужно только настроить конфиги. История про патчинг - всего лишь ретроспектива решений которые были рассмотрены исторически.

настройка WireGuard (или подобных) предполагает чуть более высокую квалификацию

нет. можно использовать https://github.com/wg-easy/wg-easy/pkgs/container/wg-easy

А не смотрели MediaMTX? Судя по описанию, он умеет примерно всё упомянутое

Возможно я ошибаюсь, но я не вижу у MediaMTX возможности работы в режиме агента. Т.е. когда нечто работает за NAT и подключается к серверу в облаке (VPS). В противном случае проблема с необходимостью открытия портов на роутере никуда не девается.

Кажется, в роли такого агента может быть банальный ffmpeg (да и gstreamer наверно тоже)

Да, может. Но как быть с расходом трафика когда нет ни одного активного клиента?

А, я не обратил внимания, что для вашего юзкейса это проблема

Лично я наоборот делаю круглосуточную запись, чтобы по записям можно было потом какие-нибудь инциденты разбирать

А вы пробовали просматривать записи за несколько дней с целью поиска некоторого кратковременного события? - очень неблагодарное занятие. В связи с чем запись по движению считаю более предпочтительным подходом...

Пробовал, мне норм, но видимо у меня юзкейс всё-таки другой, я от записи по движению наоборот специально отказался

Вполне допускаю разные требования в разных случаях. Если вам так удобней или предпочтительней по некоторой причине - почему бы и нет?

Это во Frigate очень удобно реализовано, кстати. Сбоку временная шкала в виде осцилограммы, обозначающей интенсивность движения в каждый момент времени. Т.е. сразу видно, когда что-то происходило и куда нужно прокрутить.

От распознавания движения отказался - в тупом режиме даёт кучу ложных срабатываний (привет снегу, каплям дождя, мошкам/паукам), а AI (у того же Frigate основная фишка) железо пока не тянет, надо или перенести видеонаблюдение с древнего сервера на менее древний, или Coral TPU купить.

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

Я думаю технически это возможно отправлять на сервер запись с включенным некоторым количеством времени до события движения.

Я игрался с вот этим, и оно даже заработало. А уж как прокинуть что-то защищенное из нужной локации до малинки - миллион и один вариант.
https://habr.com/ru/articles/208058/
Хватило меня на год, после чего решил, что я устал и пусть из моего видеонаблюдения сделают ботнет, или кому-то позарез понадобится видео бродячих котов у меня на даче зимой (кстати, один раз звонила соседка по даче, не видал ли я ейного кошака, и была очень обрадована, узнав, что вчера его видеокамера отдетектила, живой, значит - а то пропал неделю назад).
Купил IMOU 2 c двумя камерами, одна поворотная, и доволен как слон.
А летом я наблюдение отключаю, конечно, ибо действительно не фиг. Ну как отключаю... блокирую этот порт на роутере

С IMOU не решена проблема БЕСПЛАТНОЙ удаленной записи. Запись возможна только на карту внутри камеры. Но с точки зрения надёжности/временных затрат готовые облачные решения от Хиквизион/Дахуа и ещё парочки некоторых (которые взламываются на раз-два) все остальное реально изобретение велосипеда.

С IMOU не решена проблема БЕСПЛАТНОЙ удаленной записи. Запись возможна только на карту внутри камеры.

Не спорю, не решена. На IMOU 2 камеры, вторая управляется по горизонтали и вертикали, т.е. обзор перекрывается легко при желании. Есть детектирование движения, и вот этот период пишется на сервер, 30 сек вроде. Больше ничего и не надо, по моим потребностям. Тем более, в случае проблем запись на своей аппаратуре и запись у крупного провайдера по их железу и API будут иметь разный доказательный вес.
Можно еще тариф с AI распознаванием включить, но меня порхающие синички возле камеры не так часто беспокоят. Хотя бывает.
А просматривать, как там елочки качаются - предпочитаю в реальном времени. У меня даже флешки в камере нет - зачем?

Как вариант SDK Hikvision есть в свободном доступе, можно и самому написать для себя сервер для записи с камер, и не только по RTSP. Если так чешутся руки, то лучше работать с тем что будет работать гарантированно.

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

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

Sign up to leave a comment.

Articles