Будни вайбкодера

Умные камеры

Камеры на даче с нейросетью: выкинули облако, пуши с фото и видео прилетают в Telegram

Приложение китайских камер в очередной раз умерло, и я сказал Клоду «разберись». Теперь камеры смотрит маленький домашний сервер, нейросеть отличает людей от кошек и веток, а в Telegram прилетает фото, ролик и подпись, кто пришёл. Что купить и как настроить так же.

Восемь камер на даче, регистратор и облачное приложение XMEye, потом iCSee. Приложение то не грузилось, то показывало «нет сигнала» на половине камер. Уведомления «обнаружено движение» прилетали на каждую ветку, тень и комара, поэтому их выключили. В итоге камеры смотрели, когда что-то уже случилось.

Очередной вечер, очередное «нет сигнала». Я сказал Клоду: «Разберись». Вот что получилось.

Ролик про это сделала Клава — нейросеть, которая ведёт наш инстаграм

Что умеет теперь

  • Без облака. Камеры пишут на маленький компьютер дома, видео никуда не уходит.
  • Отличает людей от всего остального. Человек, машина, собака — событие. Ветки, тени, кот на заборе — нет.
  • Пуш в Telegram. На каждое событие приходит фото человека крупно, ролик, ускоренный в три раза, и подпись от нейросети: «Курьер оставил коробку у двери». Кнопкой можно попросить полный ролик со звуком.
  • Режим «я дома». Если телефон кого-то из семьи в домашнем Wi-Fi, днём уведомлений нет. Ночью охрана работает всегда.
  • Утренняя сводка. Сколько было событий, что важно, сколько потратили на нейросеть.
Мини-сервер на полке: с ним работают все камеры
Мини-сервер на полке: с ним работают все камеры
Нейросеть обводит человека и не трогает кошку и ветки
Нейросеть обводит человека и не трогает кошку и ветки
Пуш в Telegram: фото, ролик и подпись
Пуш в Telegram: фото, ролик и подпись

Что купить

ЧтоЗачемЦена
IP-камеры с RTSPПочти все китайские камеры и регистраторы (Xiongmai, Hikvision, Dahua) это умеют. Если камеры уже стоят, скорее всего, подойдутуже есть
Мини-ПК на Intel N100 или N150, 16 ГБ памяти, 512 ГБ дискСмотрит все камеры и распознаёт людей11–16 тыс. ₽
Кабель от мини-ПК до роутераПо Wi-Fi работать будет, но плохо, об этом ниже300 ₽
Источник бесперебойного питания, ~850 ВАЧтобы камеры, роутер и сервер не гасли при скачках6–9 тыс. ₽, по желанию
Telegram-ботСюда приходят уведомлениябесплатно
Нейросеть для подписейПишет, что происходит, и отсеивает неважное~0,5 цента за событие, можно без неё

Как настроить

  1. Найти камеры. Их адреса видно в роутере, в списке подключённых устройств. Дальше нужна RTSP-ссылка на видео. У китайских камер Xiongmai она обычно такая: rtsp://АДРЕС:554/user=admin&password=ПАРОЛЬ&channel=1&stream=0.sdp, а с stream=1 — лёгкий поток. Проверьте ссылку в VLC: если видео идёт, всё в порядке.
  2. Подготовить мини-ПК. Ставим Ubuntu Server 24.04 и Docker. В настройках BIOS включаем запуск после пропадания питания, чтобы после отключения света всё поднялось само.
  3. Поставить Frigate. Это бесплатная программа для камер с распознаванием объектов. Ставится одним файлом docker compose. На N100 распознавание идёт через встроенную графику (OpenVINO), примерно 10 мс на кадр. Распознавать лучше по лёгкому потоку, записывать — по основному.
  4. Закрасить ложные места. Если в одном и том же месте ночью мерещится «человек», например фонарь светит на камни, это место закрашивается маской в настройках камеры.
  5. Завести Telegram-бота. В @BotFather создаём бота и получаем токен. Связать Frigate с Telegram можно готовой программой frigate-notify, а можно своим сервисом. Мы сделали свой: он берёт событие, вырезает фото человека, делает короткий ролик и отправляет всё одним сообщением. Клод написал его за вечер.
  6. Подключить нейросеть. Три кадра события уходят в нейросеть с вопросом: что происходит и важно ли это. Своя машина у ворот или кот — не присылаем. Курьер, гость, незнакомец — присылаем с подписью. Frigate умеет описывать события и сам, через Gemini, OpenAI или модель на своём компьютере. Мы взяли Claude.
  7. Режим «я дома». Раз в минуту сервер проверяет, видны ли в Wi-Fi телефоны семьи. На айфоне в настройках Wi-Fi для домашней сети нужно включить фиксированный частный адрес, иначе телефон каждый раз представляется по-новому.

Грабли, на которые мы наступили

  • Wi-Fi. Половина камер у нас подключена через ретрансляторы, и их видео шло по воздуху. Когда к этому добавился сервер по Wi-Fi, интернет на даче стал работать плохо, а в записи появились дыры. Сервер — только кабелем.
  • Время. Камеры берут время с регистратора, а у него часы спешили на час с лишним. Чинить нужно в регистраторе, на камерах время сбрасывается обратно через пару минут.
  • Опорный кадр. Китайские камеры по умолчанию шлют полный кадр раз в 10 секунд, и ролик события режется неточно. Ставим раз в 1–2 секунды и выключаем «умный кодек».
  • Призраки. Ночью фонарь на габионе и детский трактор у машины превращались в «людей». Лечится маской.
  • Деньги на нейросеть. Пока на даче семья, бывает по 35 событий в день на камеру. Больше всего экономит режим «я дома»: днём, когда все дома, нейросеть не вызывается.

Сколько это стоит

РазовоВ месяц
Без нейросети15–25 тыс. ₽ за мини-ПК и бесперебойник0 ₽
С подписями от нейросетито жеот нуля до пары тысяч рублей, зависит от числа камер и событий

Вопросы

Нужен ли интернет?

Только для уведомлений в Telegram и подписей от нейросети. Запись и распознавание работают внутри дома и без интернета.

Подойдут мои камеры?

Если камера или регистратор отдают видео по RTSP — да. Это умеет большинство китайских IP-камер.

Можно без мини-ПК, на старом компьютере?

Можно, у нас неделю всё работало на старом iMac. Главное, чтобы компьютер был включён круглые сутки и стоял на кабеле, а не на Wi-Fi.

Куда уходит видео?

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

Поможете настроить так же?

Напишите через форму «Написать нам» внизу страницы: расскажу, что купить под ваши камеры, и помогу с настройкой.