Frigate NVR: как настроить локальное видеонаблюдение и распознавание объектов

Frigate NVR · IP-камеры · Home Assistant · локальная аналитика

Frigate NVR: настройка локального видеонаблюдения с распознаванием объектов

Frigate превращает обычные RTSP/IP-камеры в локальную систему видеонаблюдения с детекцией людей, автомобилей и других объектов, событиями, зонами, архивом и интеграцией с Home Assistant. Ниже не просто пример конфигурации, а логика построения системы: какие потоки камеры использовать, зачем нужен go2rtc, где выполнять детекцию и как не перегрузить сервер.

ЛокальноRTSP / ONVIFObject DetectionHome Assistantgo2rtc

Что такое Frigate и чем он отличается от обычного NVR

Frigate — программный сетевой видеорегистратор с локальной обработкой видео. Его ключевое отличие от простого NVR заключается в том, что события можно строить не только по изменению пикселей в кадре, но и по обнаруженным объектам.

Обычная детекция движения«В кадре что-то изменилось»

Тени, снег, дождь, насекомые и ветки способны создавать множество событий.

Object detection«В зоне появился человек»

Система отслеживает объект и позволяет строить события вокруг действительно полезных классов.

Это не означает, что motion detection становится ненужной. Во Frigate движение используется как часть конвейера, помогающая определить, какие области кадра требуют дальнейшей обработки.

Как выглядит правильная архитектура

IP-камераRTSP / ONVIF
FrigateFFmpeg + detection
Архив и событиялокальное хранение
Home Assistantавтоматизации

Камеры желательно подключать по Ethernet и PoE. Сервер Frigate, камеры и сетевое оборудование должны находиться в стабильной локальной сети. Для критичной системы полезно резервировать питание сервера, PoE-коммутатора и маршрутизатора через ИБП.

Какое железо нужно для Frigate

Нагрузка состоит из нескольких разных задач: декодирование видеопотоков, детекция объектов, запись, live-view и дополнительные функции вроде распознавания лиц или семантического поиска. Поэтому вопрос «сколько камер потянет процессор» без параметров потоков и модели детекции не имеет точного ответа.

CPU

Подходит для базовых задач, но выполнять всё распознавание только процессором обычно менее эффективно.

Intel GPU / NPU

OpenVINO позволяет использовать поддерживаемые Intel GPU и NPU для детекции. Современные Core Ultra позволяют распределить object detection и дополнительные модели между NPU и GPU.

NVIDIA

Подходит для аппаратного декодирования и ускоренных моделей при соответствующей конфигурации.

Google Coral

Остаётся поддерживаемым специализированным ускорителем для совместимых TensorFlow Lite моделей.

Не покупайте ускоритель до выбора архитектуры. Сначала определите количество камер, разрешение detect-потоков, необходимые классы объектов и дополнительные функции.

Главный поток и detect-поток: зачем два потока

Одна из самых полезных оптимизаций — не выполнять детекцию на максимальном 4K-потоке без необходимости. Большинство IP-камер способны отдавать несколько потоков одновременно.

Высокое качествоНапример, 4K

Запись архива и просмотр деталей.

Detect streamНиже разрешение/FPS

Детекция объектов с меньшей вычислительной нагрузкой.

При этом detect-поток не должен быть слишком маленьким. Если лицо или человек занимает в нём лишь несколько пикселей, алгоритму просто неоткуда получить детали.

Зачем Frigate нужен go2rtc

Встроенный go2rtc не обязателен для самой записи, но нужен для ряда удобных возможностей live-view. Официальная документация Frigate указывает его использование для WebRTC/MSE с аудио и более качественным live-view, просмотра камер через интеграцию Home Assistant и RTSP relay.

WebRTC / MSEБолее удобное живое видео
RTSP relayМеньше прямых подключений к камере
Home AssistantLive stream через интеграцию

Хорошая практика — дать потоку go2rtc то же имя, что и камере Frigate. Тогда система может автоматически сопоставить их для улучшенных режимов live-view.

Детекция объектов: что действительно стоит отслеживать

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

Калиткаperson
Парковкаcar / person
Дворperson / dog
Подъездperson

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

Зоны и маски: основа полезных уведомлений

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

Весь кадр: обнаруживать объекты для трекинга.
Зона «калитка»: создавать важное событие, когда человек действительно вошёл в нужную область.
Motion mask: исключить области с постоянным несущественным движением, если это действительно требуется.

Зону и motion mask нельзя считать одним и тем же. Зоны описывают смысловую область события, а маски движения влияют на обработку движения. Чрезмерное маскирование способно ухудшить детекцию.

Распознавание лиц во Frigate

Frigate поддерживает локальное распознавание известных лиц. Сначала система должна обнаружить объект person, после чего может искать и распознавать лицо. Результат добавляется к объекту как дополнительная метка и может использоваться в интерфейсе, фильтрах и уведомлениях.

small

FaceNet, рассчитан на экономичную работу CPU.

large

ArcFace, ориентирован на более высокую точность и рекомендуется при наличии подходящего GPU/NPU.

Для распознавания лиц Frigate требует CPU с AVX и AVX2. Качество сильно зависит от размера лица в detect-потоке, угла, освещения и качества исходного кадра.

Распознавание лица не исправляет плохую камеру. Если лицо пересвечено ИК-подсветкой, смазано движением или занимает слишком мало пикселей, увеличение мощности сервера не вернёт отсутствующие детали.

RTSP и ONVIF выполняют разные задачи

RTSP обычно используется для получения видеопотока. ONVIF во Frigate может использоваться для функций управления совместимой камерой, включая PTZ и autotracking в поддерживаемых сценариях.

Не следует считать наличие логотипа ONVIF гарантией работы каждой функции между любыми двумя устройствами. Реальная совместимость зависит от профилей и реализации конкретной камеры.

Где хранить архив

Объём архива зависит прежде всего от битрейта, количества камер, продолжительности хранения и режима записи. Разрешение само по себе не определяет размер архива.

Объём ≈ суммарный битрейт × время записиСчитать нужно реальные потоки камер, а не только «4 Мп» или «8 Мп».

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

Frigate и Home Assistant

Связка особенно полезна не ради ещё одного окна просмотра камер, а ради автоматизаций. Событие Frigate можно объединить с состоянием дома.

01

В зоне калитки обнаружен человек.

02

Дом находится в режиме «никого нет».

03

Home Assistant отправляет уведомление со снимком/событием.

Такой подход лучше простого уведомления «движение обнаружено», потому что учитывает тип объекта, место и состояние автоматизации дома.

Безопасность Frigate и камер

Не публикуйте RTSP, ONVIF, go2rtc и административные интерфейсы камер напрямую в интернет без необходимости. Для удалённого доступа безопаснее использовать VPN или тщательно настроенный защищённый reverse proxy с аутентификацией.

Пароли RTSP/ONVIF не стоит без необходимости хранить открытым текстом в переносимой конфигурации. Frigate поддерживает подстановку ряда секретов через переменные окружения с префиксом FRIGATE_ в предусмотренных местах конфигурации.

Уникальные пароли
Отдельный VLAN камер
Закрытые внешние порты
Регулярные обновления
VPN для доступа
Резервная копия конфигурации

Типичные ошибки при настройке

Детекция на 4K без причины

Сервер тратит ресурсы на пиксели, которые не улучшают результат.

Слишком маленький detect stream

Нужный объект становится недостаточно детализированным.

Один поток для всех потребителей

Камера получает слишком много одновременных RTSP-соединений. Restream может решить проблему.

Уведомления по всему кадру

Система быстро превращается в генератор ненужных тревог.

CPU делает всё

Видео декодируется и модели работают программно, хотя доступно аппаратное ускорение.

Frigate открыт в интернет

Удобство удалённого просмотра не должно создавать ненужную поверхность атаки.

С чего начинать настройку: практический порядок

  1. Добейтесь стабильного RTSP. Сначала камера должна надёжно отдавать поток.
  2. Настройте одну камеру. Не добавляйте сразу десять.
  3. Разделите record и detect. Подберите разумное разрешение детекции.
  4. Настройте аппаратное декодирование. Проверьте нагрузку CPU.
  5. Подключите подходящий detector. Оцените inference speed.
  6. Добавьте только нужные объекты.
  7. Нарисуйте зоны. Привяжите события к реальной задаче.
  8. Настройте запись и retention.
  9. Подключите Home Assistant.
  10. Только затем масштабируйте на остальные камеры.

Частые вопросы

Нужен ли Frigate отдельный видеорегистратор?

Нет. Frigate сам является программным NVR. Но в некоторых системах его используют параллельно с аппаратным NVR, например для независимого архива или аналитики.

Работает ли Frigate без интернета?

Основные функции локального видеонаблюдения и локальной детекции могут работать без облачного интернета при правильно построенной локальной сети и локальных моделях.

Можно ли подключить Hikvision, HiWatch или Dahua?

Если камера предоставляет совместимый RTSP-поток, её обычно можно использовать как источник видео. Дополнительные ONVIF-возможности зависят от реализации конкретной модели.

Нужен ли Google Coral?

Нет. Frigate поддерживает несколько типов детекторов. Выбор зависит от имеющегося CPU, GPU/NPU, платформы и используемой модели.

Можно ли установить Frigate на NAS?

Можно на подходящих платформах с контейнерами, но нужно оценить архитектуру CPU, доступ к аппаратному ускорению, диски и производительность. NAS не автоматически является оптимальным сервером для компьютерного зрения.

Нужен ли go2rtc?

Для самой базовой записи он не обязателен, но нужен для ряда улучшенных live-view сценариев, Home Assistant live stream и RTSP restream.

Итог

Хорошо настроенный Frigate начинается не с нейросети, а со стабильных камер, правильных потоков, сети и аппаратного декодирования. После этого добавляются detector, нужные классы объектов, зоны, архив и автоматизации Home Assistant.

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