Was ist Frigate?

Frigate ist ein Open-Source NVR (Network Video Recorder), speziell optimiert für Objekterkennung und Machine Learning. Es läuft als Docker-Container und bietet Echtzeit-Bewegungserkennung mit sehr niedrigen False Positives durch KI-basierte Objekterkennung.

Installation

Docker (Standalone)

docker run -d \
  --name frigate \
  --privileged \
  --restart unless-stopped \
  -v /path/to/frigate/config:/config \
  -v /path/to/frigate/media:/media /media \
  -p 5000:5000 \
  -p 8554:8554 \
  -p 8555:8555/tcp \
  -p 8554:8554/tcp \
  ghcr.io/blakeblackshear/frigate:latest

Docker Compose (empfohlen)

version: '3.8'

services:
  frigate:
    container_name: frigate
    image: ghcr.io/blakeblackshear/frigate:latest
    restart: unless-stopped
    volumes:
      - ./config:/config
      - ./media:/media
    ports:
      - "5000:5000"
      - "8554:8554"
      - "8555:8555/tcp"
    environment:
      FRIGATE_RTSP_PASSWORD: "password"
      TZ: Europe/Berlin

Home Assistant Add-on

Frigate kann auch direkt als Add-on in Home Assistant installiert werden. Suche im HA Add-on Store nach "Frigate".

Konfiguration

Die Konfiguration erfolgt über die Datei config/config.yml. Hier ein vollständiges Beispiel:

mqtt:
  host: 192.168.1.100
  port: 1883
  client_id: frigate
  user: mqtt_user
  password: mqtt_password

cameras:
  kamera_name:
    ffmpeg:
      inputs:
        - path: rtsp://admin:password@192.168.1.50:554/cam/realmonitor?channel=1&subtype=0
          roles:
            - detect
            - record
        - path: rtsp://admin:password@192.168.1.50:554/cam/realmonitor?channel=1&subtype=1
          roles:
            - detect
    detect:
      width: 1280
      height: 720
      fps: 5
    record:
      enabled: true
      retain:
        days: 7
    snapshots:
      enabled: true
      retain:
        default: 7

detectors:
  cpu:
    type: cpu

objects:
  track:
    - person
    - car
    - dog
    - cat
  filters:
    person:
      min_area: 5000
      max_area: 100000
      min_score: 0.5
      threshold: 0.7
    car:
      min_area: 15000
      max_area: 200000
      min_score: 0.5
      threshold: 0.7

Wichtige Einstellungen

MQTT (Optional aber empfohlen)

Für die Integration mit Home Assistant oder andere Smart Home Systeme:

mqtt:
  host: 192.168.1.100
  port: 1883
  client_id: frigate
  topic_prefix: frigate
  user: dein_user
  password: dein_passwort

RTSP Port Freigabe

Standardmäßig nutzt Frigate Port 8554 für RTSP. Bei Docker muss dieser weitergeleitet werden:

ports:
  - "8554:8554"   # RTSP
  - "8555:8555/tcp"  # RTSP (TCP)
  - "5000:5000"   # Web UI

Aufnahme-Einstellungen

record:
  enabled: true
  retain:
    days: 7
    mode: motion  # motion / all / manual

detect:
  width: 1280
  height: 720
  fps: 5
  max_disappeared: 25

Kameras hinzufügen

In der config.yml unter cameras: eine neue Kamera definieren:

cameras:
  mein_camera_name:
    ffmpeg:
      inputs:
        - path: rtsp://admin:password@192.168.1.50:554/cam/realmonitor?channel=1&subtype=0
          roles:
            - detect
            - record
        - path: rtsp://admin:password@192.168.1.50:554/cam/realmonitor?channel=1&subtype=1
          roles:
            - detect

Die RTSP-URLs findest du in der RTSP Linklist.

TLS/SSL Einrichtung (Optional)

Für den Zugriff über HTTPS:

server:
  ssl_key_file: /config/ssl.key
  ssl_cert_file: /config/ssl.crt

Let's Encrypt Zertifikat erstellen:

docker run -v /path/to/config:/config \
  certbot/certbot certonly --webroot \
  -w /config/www \
  -d deine.domain.de \
  --email deine@email.de \
  --agree-tos --non-interactive

Nützliche Links