Расширение frigate

Разное

Расширение frigate

Frigate отлично справляется с анализом видео в реальном времени, но его можно настроить ещё лучше. Например, добавление GPU-ускорения ускоряет обработку кадров в 3-5 раз. Для NVIDIA используйте Docker-образ с поддержкой CUDA, а для Intel – OpenVINO. Это снижает задержки и разгружает процессор.

Интеграция с Home Assistant открывает новые сценарии автоматизации. При обнаружении движения Frigate может включать свет, отправлять уведомления или запускать запись на другие камеры. Настройте зоны детекции и маскировку ложных срабатываний – это сократит количество ненужных оповещений на 40-60%.

Для хранения архива подойдёт связка с MinIO или S3-совместимым хранилищем. Укажите в конфигурации retain_days: 30, чтобы автоматически удалять старые записи и экономить место. Если нужен долгий срок хранения, добавьте правило в snapshots для сохранения только ключевых событий.

Камеры с поддержкой RTSP и субстримами работают стабильнее. Убедитесь, что основной поток в 4K передаётся с низким FPS (5-10 кадров), а субстрим – в 720p (15-20 кадров). Так Frigate будет быстрее обрабатывать объекты без перегрузки сети.

Расширение Frigate: возможности и применение

Используйте Frigate с модулем TensorRT для ускорения обработки видео на NVIDIA GPU. Это снижает задержки на 30–50% и позволяет анализировать больше камер в реальном времени. Установите драйверы CUDA 12.x и добавьте в конфиг detectors: tensorrt.

Гибкость интеграции

Frigate работает с Home Assistant через MQTT, отправляя события и скриншоты. Для автоматизации включите snapshots: retain: 10 – это сохранит последние 10 снимков при срабатывании детектора. Подключите Telegram-бота через Node-RED для мгновенных уведомлений.

Читайте также:  Как подобрать разработчика мобильного приложения

Оптимизация ресурсов

Настройте маски зон (zones) и фильтры ложных срабатываний. Например, исключите движение веток деревьев, указав threshold: 0.8 для модели YOLOv8. Для Raspberry Pi 4 выберите разрешение 720p и частоту 5 FPS – это снизит нагрузку на CPU до 40%.

Добавьте камеры с ONVIF-поддержкой напрямую в config.yml. Укажите rtsp_transport: tcp для стабильного соединения. Если видео тормозит, включите аппаратное декодирование через ffmpeg: hwaccel_args: vaapi.

Интеграция Frigate с Home Assistant для автоматизации умного дома

Настройте интеграцию Frigate с Home Assistant через HACS или вручную, добавив репозиторий frigate-hass-integration. После установки укажите в конфигурации Home Assistant IP-адрес сервера Frigate и порт (по умолчанию 5000).

Примеры автоматизаций

Используйте триггеры Frigate в Home Assistant для запуска сценариев. Например, при обнаружении человека у входной двери можно включить свет в прихожей и отправить уведомление:

automation:
- alias: "Уведомление о посетителе"
trigger:
platform: mqtt
topic: "frigate/events"
payload: '"person"'
action:
- service: light.turn_on
target:
entity_id: light.entrance
- service: notify.mobile_app_phone
data:
message: "У двери кто-то есть!"

Оптимизация работы

Для снижения нагрузки на процессор настройте зоны детекции в Frigate и фильтруйте ложные срабатывания через параметры min_score и threshold. Для камер с высоким разрешением используйте аппаратное ускорение декодирования через ffmpeg.

Настройка детекции объектов через YOLO и TensorFlow в Frigate

Для подключения YOLO или TensorFlow к Frigate укажите путь к модели в конфигурационном файле config.yml. Например, для YOLOv5 добавьте:

model:
path: /path/to/yolov5s.tflite
width: 320
height: 320
input_tensor: "normalized_input_image_tensor"
output_tensors: "TFLite_Detection_PostProcess"

Используйте модели в формате .tflite или .pb, оптимизированные для TensorFlow Lite. Разрешение 320×320 подходит для большинства сценариев, но для точного распознавания мелких объектов увеличьте его до 640×640.

Оптимизация параметров детекции

Оптимизация параметров детекции

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

detect:
enabled: true
max_disappeared: 25
threshold: 0.7

Параметр threshold влияет на точность: снижение до 0.5 увеличит количество обнаружений, но добавит шум. Для TensorFlow проверьте метки классов в модели – Frigate поддерживает только совместимые форматы.

Интеграция пользовательских моделей

Если ваша модель обучена на специфичных объектах (например, животных или транспорт), укажите их в objects.track:

objects:
track:
- cat
- dog
- car

Для кастомизации используйте инструменты TensorFlow Model Garden или Ultralytics YOLO. После конвертации модели в .tflite протестируйте её на тестовых видеозаписях через Frigate debug-режим.

Читайте также:  Как отключить флеш плеер в яндекс браузере

Оптимизация производительности Frigate на слабом оборудовании

Настройка детектора

Замените detect: resolution: 1280x720 на detect: resolution: 640x360. Это ускорит обработку кадров без сильной потери точности. Для слабых устройств лучше использовать детектор cpu вместо edgetpu или tensorrt – он требует меньше ресурсов.

Установите fps: 5 в секции detect. Это сократит количество анализируемых кадров в секунду, но сохранит базовую функциональность.

Оптимизация записи и трансляции

Отключите ненужные модули в конфиге. Например, если не используете запись 24/7, удалите секцию record или установите enabled: false. Для трансляции задайте rtmp: false, если не требуется поток в реальном времени.

Используйте аппаратное ускорение декодирования. Для процессоров Intel добавьте hwaccel_args: preset-intel-qsv-h264, для Raspberry Pi – hwaccel_args: preset-raspberry-pi.

Проверьте нагрузку командой top после каждой настройки. Оптимальные значения – до 70% загрузки CPU. Если система перегружена, уменьшите количество камер или fps.

Использование камер RTSP и ONVIF в Frigate без лишних затрат

Подключайте камеры с поддержкой RTSP или ONVIF напрямую к Frigate, чтобы избежать покупки дополнительного ПО. Большинство современных IP-камер работают с этими протоколами.

  • Проверьте документацию камеры – ищите разделы RTSP или ONVIF.
  • Используйте стандартные URL для RTSP-потока: rtsp://username:password@ip_address:port/path.
  • Для ONVIF включите обнаружение в конфиге Frigate – камера появится автоматически.

Если камера не подключается:

  1. Обновите прошивку – производители часто добавляют поддержку.
  2. Попробуйте альтернативные пути RTSP – иногда путь отличается (/live, /stream1).
  3. Проверьте настройки камеры – откройте доступ к потоку без шифрования.

Для старых камер используйте ffmpeg с параметрами:

input_args: -avoid_negative_ts make_zero -fflags nobuffer -flags low_delay -strict experimental

Снижайте нагрузку на процессор:

  • Подключайте субпоток для детекции (например, /stream2 с разрешением 640×480).
  • Отключайте аудио в настройках Frigate: audio: false.

Создание пользовательских зон детекции и фильтрация ложных срабатываний

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

Настройка зон в конфиге

Определите зоны в config.yml координатами вершин многоугольника:

zones:
yard:
coordinates: 100,200,300,200,300,400,100,400

Координаты работают относительно верхнего левого угла кадра. Для точности откройте интерфейс Frigate и включите режим отладки.

Читайте также:  Как заблокировать сайт на компьютере

Снижение ложных срабатываний

Ложные детекции часто возникают из-за теней, бликов или движения деревьев. Настройте параметры объекта:

  • threshold – порог уверенности детектора (оптимально 0.7–0.8);
  • mask – бинарная маска для исключения областей (например, кустов);
  • min_area – минимальный размер объекта в пикселях.

Пример маски для игнорирования веток:

mask: 0,0,1000,0,1000,200,600,200,600,400,0,400

Тестируйте настройки с разными условиями освещения и меняйте параметры постепенно.

Фильтрация по времени и месту

Для сложных сценариев:

  • Используйте required_zones, чтобы объект попадал в несколько зон прежде чем вызвать событие;
  • Примените timeout, чтобы избежать частых оповещений;
  • Настройте filters для конкретных объектов (например, игнорировать птиц).

Пример фильтра для людей:

filters:
person:
min_score: 0.5
threshold: 0.85

Развертывание Frigate в Docker и настройка резервного копирования

Для запуска Frigate в Docker используйте готовый образ из Docker Hub. Убедитесь, что у вас установлены Docker и Docker Compose, затем создайте файл docker-compose.yml с такой конфигурацией:

version: '3.8'
services:
frigate:
container_name: frigate
image: blakeblackshear/frigate:stable
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- ./config:/config
- ./media:/media/frigate
environment:
- FRIGATE_RTSP_PASSWORD=your_password
ports:
- "5000:5000"
- "1935:1935"

Замените your_password на надежный пароль для RTSP-потоков. Папки config и media должны быть созданы заранее – в них хранятся настройки и записи.

Для запуска выполните команду:

docker-compose up -d

После запуска Frigate будет доступен через веб-интерфейс по адресу http://ваш_сервер:5000.

Настройка резервного копирования

Резервное копирование конфигурации и записей можно организовать через скрипт и планировщик задач. Создайте файл backup_frigate.sh:

#!/bin/bash
BACKUP_DIR="/путь/к/бэкапам"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
# Архивируем папки config и media
tar -czf "$BACKUP_DIR/frigate_backup_$TIMESTAMP.tar.gz" /путь/к/config /путь/к/media
# Удаляем старые бэкапы (старше 7 дней)
find "$BACKUP_DIR" -name "frigate_backup_*.tar.gz" -type f -mtime +7 -delete

Сделайте скрипт исполняемым:

chmod +x backup_frigate.sh

Добавьте задание в cron для ежедневного выполнения:

0 2 * * * /путь/к/backup_frigate.sh

Для восстановления данных распакуйте архив в нужные папки и перезапустите контейнер:

docker-compose restart frigate

Дополнительные рекомендации

  • Используйте мониторинг дискового пространства – записи камер могут занимать много места.
  • Проверяйте логи Frigate для выявления ошибок: docker logs frigate.
  • Для облачного бэкапа рассмотрите интеграцию с rclone или S3-совместимым хранилищем.

Оцените статью
Обслуживание компьютера
Добавить комментарий