Frigate - Hilfe bei Konfiguration

Hallo Zusammen!
Ich habe Frigate als Add on von HA installiert. HA läuft auf einer virtuellen Machine in Proxmox. Leider gibt es jedoch laufend Fehler im Protokoll von Frigate und ich habe keine Ahnung, wo ich anfangen soll nach der Lösung zu suchen.

Dieser Stream lässt sich nicht öffnen: rtsp://127.0.0.1:8554/Garten_Kueche?video=copy&audio=opus

Gibt es Ideen, was ich tun kann?

Hier das Fehlerprotokoll:

info  | 2025-03-19 17:12:28 | frigate.app                 | Capture process started for Garten_Kueche: 482
info  | 2025-03-19 17:12:28 | frigate.app                 | Capture process started for Eingang_innen: 483
info  | 2025-03-19 17:12:28 | frigate.app                 | Capture process started for Tor_Einfahrt: 489
info  | 2025-03-19 17:12:29 | frigate.api.fastapi_app     | Starting FastAPI app
info  | 2025-03-19 17:12:29 | frigate.api.fastapi_app     | FastAPI started
error | 2025-03-19 17:12:48 | ffmpeg.Garten_Kueche.record | [in#0 @ 0x55c960141cc0] Error opening input: Invalid data found when processing input
error | 2025-03-19 17:12:48 | ffmpeg.Garten_Kueche.record | Error opening input file rtsp://127.0.0.1:8554/Garten_Kueche?video=copy&audio=opus.
error | 2025-03-19 17:12:48 | ffmpeg.Garten_Kueche.record | Error opening input files: Invalid data found when processing input
info  | 2025-03-19 17:12:48 | watchdog.Garten_Kueche      | Terminating the existing ffmpeg process...
info  | 2025-03-19 17:12:48 | watchdog.Garten_Kueche      | Waiting for ffmpeg to exit gracefully...

Bin für jede Hilfe dankbar!!!

Viele Grüße

Ja hier zumindest auch angeben um was für Kameras es überhaupt geht und wie deren Konfiguration für und unter Frigate dann aussieht. :wink: Ich nutze Frigate zwar nicht und daher kann ich dazu eh nichts sagen, aber ohne diese Infos wird Dir hier vermutlich wohl niemand etwas Konkretes sagen können.

VG Jim

Ja, guter Punkt, @Jim_OS !

Hier meine Frigate Konfiguration:

mqtt:
  enabled: true
  host: 192.168.0.110
  port: 1883
  user: un
  password: pw
  topic_prefix: frigate
  # Optional: client id (default: shown below)
  # WARNING: must be unique if you are running multiple instances
  client_id: frigate
  # Optional: interval in seconds for publishing stats (default: shown below)
  stats_interval: 30
# Optional: Detectors configuration. Defaults to a single CPU detector
#detectors:
  # Required: name of the detector
#  detector_name:
    # Required: type of the detector
    # Frigate provided types include 'cpu', 'edgetpu', and 'openvino' (default: shown below)
    # Additional detector types can also be plugged in.
    # Detectors may require additional configuration.
    # Refer to the Detectors configuration page for more information.
#    type: cpu

#Hardware Accerlaration noch icht klar. PRÜFEN
#LIBVA_DRIVER_NAME=radeonsi
#ffmpeg:
#  hwaccel_args: preset-vaapi

detectors:
  coral:
    type: edgetpu
    device: usb


birdseye:
  enabled: false
  restream: true
  mode: continuous

objects:
  track:
    - person
    - car
    - mouse
  filters:
    person:
      min_area: 5000
      max_area: 100000

detect:
  width: 640
  height: 480
  fps: 5

snapshots:
  enabled: true
  retain:
    default: 3

record:
  enabled: true
  retain:
    days: 1
    mode: motion
  alerts:
    pre_capture: 3
    retain:
      days: 3
      mode: motion
  detections:
    pre_capture: 3
    retain:
      days: 3
      mode: motion

go2rtc:
  streams:
    Eingang:
      - rtsp://un:pw@192.168.0.77:554/stream1
      - ffmpeg:Eingang#audio=opus
    Eingang_sub:
      - rtsp://un:pw@192.168.0.77:554/stream2
      - ffmpeg:Eingang_sub#audio=opus
    Garten_vorne:
      - rtsp://un:pw@192.168.0.74:554/stream1
      - ffmpeg:Garten_vorne#audio=opus
    Garten_vorne_sub:
      - rtsp://un:pw@192.168.0.74:554/stream2
      - ffmpeg:Garten_vorne_sub#audio=opus
    Garten_hinten:
      - rtsp://un:pw@192.168.0.155:554/stream1
      - ffmpeg:Garten_hinten#audio=opus
    Garten_hinten_sub:
      - rtsp://un:pw@192.168.0.155:554/stream2
      - ffmpeg:Garten_hinten_sub#audio=opus
    Garten_Kueche:
      - rtsp://un:pw@192.168.0.188:554/stream1
      - ffmpeg:Garten_Kueche#audio=opus
    Garten_Kueche_sub:
      - rtsp://un:pw@192.168.0.188:554/stream2
      - ffmpeg:Garten_Kueche_sub#audio=opus
    Eingang_innen:
      - rtsp://un:pw@192.168.0.96:554/stream1
      - ffmpeg:Eingang_innen#audio=opus
    Eingang_innen_sub:
      - rtsp://un:pw@192.168.0.96:554/stream2
      - ffmpeg:Eingang_innen_sub#audio=opus
    Tor_Einfahrt:
      - rtsp://un:pw@192.168.0.193:554/h264Preview_01_main
      - ffmpeg:Tor_Einfahrt#audio=opus
    Tor_Einfahrt_sub:
      - rtsp://un:pw@192.168.0.193:554/h264Preview_01_sub
      - ffmpeg:Tor_Einfahrt_sub#audio=opus

cameras:
  Eingang:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Eingang?video=copy&audio=opus
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Eingang_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
  Garten_vorne:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Garten_vorne?video=copy&audio=opus
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Garten_vorne_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
  Garten_hinten:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Garten_hinten?video=copy&audio=opus
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Garten_hinten_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
  Garten_Kueche:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Garten_Kueche?video=copy&audio=opus
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Garten_Kueche_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
  Eingang_innen:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Eingang_innen?video=copy&audio=opus
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Eingang_innen_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect
  Tor_Einfahrt:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/Tor_Einfahrt?video=copy&audio=opus
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Tor_Einfahrt_sub?video=copy
          input_args: preset-rtsp-restream
          roles:
            - detect

version: 0.15-1

camera_groups:
  Birdseye:
    order: 1
    icon: LuBird
    cameras: birdseye

Als Cameras kommen bei mit Tapo C320WS und eine Reling 510A zum Einsatz.

Hi!

Vielleicht übersehe ich hier etwas, was mit dem Kamera-Typ oder -Modell zu tun hat, aber warum ist da eine explizite “go2rtc”-Konfiguration drin? Ich habe in meiner Frigate-Installation Annke (aka Hikvision)-Kameras eingebunden, die auf Port 554 einen direkt für ‘ffmpeg’ verwendbaren Stream liefern…

Nach dem, was ich aus dem Protokoll-Ausschnitt herauslese, scheint ja ‘ffmpeg’ eher unglücklich mit dem zu sein, was hinten aus ‘go2rtc’ herausfällt. (“Invalid data found…”)

Nach der Spezifikation der Tapo C320WS - aus den URLs in der go2rtc-Konfiguration schließe ich, daß die “Tor_Einfahrt”-Kamera die Reolink ist? - unterstützt die ja nativ RTSP und ONVIF, sollte sich also nach meinem Verständnis ohne explizites “go2rtc”-Gehampel einbinden lassen…

Disclaimer: ich bin kein Frigate-Experte was die diversen Kamera-Hersteller und -Modelle angeht und wenn da oben Quark steht, bin ich immer daran interessiert, dazuzulernen :slight_smile:

Gruß,
Marc

Hi @vaxherd!
Vielen Dank für Deine Antwort!
Ich habe die Frigate Doku so verstanden, dass ich go2rtc brauche, um den Stream via Frigate verfügbar zu machen? D.h. im Abschnitt go2rtc werdende Streams “abgegriffen” und bekommen dann einen Namen. Unter Cameras wird dann über den Namen der Stream (restream?) mit der localhost Adresse erstellt? Das ist auch deshalb wichtig, da ich auf die Kameras u.u. mit mehr als zwei Streams zugreifen möchte (Wand-Dashboards) und die Kameras erlauben nur zwei Streams?
Viele Grüße

hallo,

also bei tapo kameras benutze ich einen anderen codec, probier mal:

> go2rtc:
  streams:
    Kamera-EG-Garten-Hinten:
      - rtsp://user:pass@192.168.99.XXX:554/stream1
      - ffmpeg:Kamera-EG-Garten-Hinten#audio=aac
    Kamera-EG-Garten-Hinten-Sub:
       - rtsp://user:pass@192.168.99.XXX:554/stream2
      - ffmpeg:Kamera-EG-Garten-Hinten-Sub#audio=aac

und einbinden:

cameras:
  Kamera-EG-Garten-Hinten:
    detect:
      enabled: true
      width: 1280
      height: 720
      fps: 5
    snapshots:
      enabled: true
    ffmpeg:
      output_args:
        record: preset-record-generic-audio-copy
      inputs:
        - path: rtsp://127.0.0.1:8554/Kamera-EG-Garten-Hinten-Sub
          input_args: preset-rtsp-restream
          roles:
            - detect
        - path: rtsp://127.0.0.1:8554/Kamera-EG-Garten-Hinten
          input_args: preset-rtsp-restream
          roles:
            - record

wenn das auch nicht geht checke mal deinen link der camera mit vlc…

für die tapo mit verstellung benutze ich

  Kamera-EG-Domkamera:
    detect:
      enabled: true
      width: 1280
      height: 720
      fps: 5
    snapshots:
      enabled: true
    ffmpeg:
      output_args:
        record: preset-record-generic-audio-copy
      inputs:
        - path: rtsp://127.0.0.1:8554/Kamera-EG-Domkamera-Sub
          input_args: preset-rtsp-restream
          roles:
            - detect
        - path: rtsp://127.0.0.1:8554/Kamera-EG-Domkamera
          input_args: preset-rtsp-restream
          roles:
            - record
    onvif:
      host: 192.168.99.XXX
      port: 2020
      user: user
      password: pass

hoffe ich konnte dir weiterhelfen…

1 „Gefällt mir“

Hallo HennD :slight_smile:

Nach meinem Verständnis ist die Nutzung von “go2rtc” dann sinnvoll, wenn Frigate aus welchen Gründen auch immer nicht mit dem klar kommt, was direkt aus der Kamera “herausfällt” oder Latenzen ggf. sonst zu hoch sind. Inwiefern ein Zwischenschritt in der Verabeitung Latenz-Zeit verbessert erschliesst sich mir von der Logik her nicht ganz, aber sei’s drum :grin:

Neben der Verwendung in Frigate exportiere ich die Kameras über mehrere HomeBridge-Instanzen noch an Apple HomeKit (da muß ich noch am re-coding schrauben weil ich die Kameras auf HEVC eingestellt habe) und habe parallel auch schon gelegentlich mal per VLC in die Streams hineingeschaut. Von einer Begrenzung der Client-Anzahl seitens der Kamera habe ich dabei noch nix festgestellt - aber das kann ja durchaus von “Hersteller” zu Hersteller variieren…

Bei mir schaut das in der frigate.yaml beispielhaft für eine Kamera so aus:

cameras:
  hauseingang:
    enabled: true
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        - path: rtsp://user:pass@hauseingang.fritz.box:554/live 
          roles:
            - record
          input_args: preset-rtsp-generic
        - path: 
            rtsp://user:pass@hauseingang.fritz.box:554/Streaming/channels/102
          roles:
            - detect
            - audio
          input_args: preset-rtsp-generic
      output_args:
        record: preset-record-generic-audio-copy

D.h. Frigate verarbeitet die Streams so, wie sie von der Kamera kommen, unter Zuhilfenahme von der im Addon vorhandenen ‘ffmpeg’-Version. Hier wird der etwas niedriger aufgelöste genutzt, um ihn zwecks Objekt-Erkennung über die TPU laufen zu lassen, während der hochauflösende dann im Ereignis-Fall aufgezeichnet wird.,

Wenn man neben dem Frigate Addon, das ja die eigentliche “Arbeit” erledigt - noch die Frigate-Integration verwendet, um z.B. mit der entsprechenden Dashboard-Komponente die Kamerabilder in selbst designten Dashboard(s) anzuzeigen, läuft im Homeassistant-Container dann ja nach meinen Beobachtungen ohnehin noch eine ‘go2rtc’-Instanz, die mit einer aus der Frigate-Konfiguration on-the-fly generieten ‘go2rtc.yaml’ gefüttert wird.

Es IMHO macht durchaus Sinn - wie von @Krabathor vorgeschlagen - mal mittels VLC direkt in den Stream hineinzuschauen, wie er von der Kamera geliefert wird. Wenn es da auch Problem gibt, würde ich die Fehler-Ursache in den Einstellungen der Kamera selbst vermuten. Andernfalls - wenn go2rtc ein Muss ist - scheint mir da der “Hase im Pfeffer” zu liegen.

Wie gesagt, ich habe das hier mit 3 Annke-Kameras seit einigen Wochen sehr geschmeidig ohne explizite ‘go2rtc’-Konfiguration laufen und habe bisher keine Einschränkungen festgestellt, die mich ernsthaft darüber nachdenken ließen, doch explizit ‘go2rtc’ im Addon einzusetzen…

Gruß,
Marc

1 „Gefällt mir“

Hallo @Krabathor und @vaxherd !

Vielen Dank für Eure ausführlichen Antworten!!!

Ich werde den go2rtc Teil jetzt mal auskommentieren und füge die Pfade zu den RTSP Streams direkt im “Cameras” Abschnitt ein. Mal sehen, was dann passiert. :grinning:

Dann habe ich noch zwei Fragen:

output_args:
        record: preset-record-generic-audio-copy

Das ist einfach dazu, den Audio Stream unverändert durchzureichen, richtig?

hwaccel_args: preset-vaapi

Dies hier ist ein Hardware Beschleunigung, oder? Ich habe eine Ryzen CPU mit integrierter Grafik. Da hakt es schon beim Durchreichen der iGPU an die VM. Danach kann ich das dann wohl auch irgendwie nutzen, um die Performance zu verbessern. Nächste Herausforderung :stuck_out_tongue_winking_eye:

Viele Grüße

Zu 1. Jo genau

Zu 2. du benutzt doch den coral Stick laut Config der wird benutzt für die Kameras.

Ich habe auch den usb Stick und acht Kameras meine CPU Last liegt bei ca. 30-40% und die gpu bei unter 1% da ja der coral Stick genutzt wird.

So ist zumindest mein Verständnis davon. Muss nicht richtig sein.

1 „Gefällt mir“

Zum “hwaccel_args”-Eintrag: nach meiner Lesart geht es an der Stelle um die Unterstützung seitens der GPU, was das rein “video-seitige” Verarbeiten der Frames in ‘ffmpeg’ angeht, d.h. ggf. transcoding und skalieren.

Erst dahinter kommt ja dann das verfüttern an die TPU zwecks Objekt.Erkennung.

Und nach allem was ich gelesen habe, würde ein Setup mit einer Ryzen CPU tatsächlich - zumindest bei aktuellen Stand von HAOS - ein Setup mit mehreren VMs auf Proxmox oder ein manuell gemanagetes Docker-Setup auf einer Linux-Distribution mit entsprechendem Ryzen-Support benötigen.

Da ich HA auf einem Lenovo M710q mit einer i5-7500 CPU betreibe, hat sich das Problem hier nicht gestellt - auch wenn ich das vielleicht irgendwann mal auf Proxmox umstelle :slight_smile:

Gruß,
Marc

Hi Zusammen!
Vielen Dank für den Input mit der Config-Datei! Ich habe jetzt go2rtc rausgenommen und die RTSP Streams direkt unter “Camera” eingetragen. Es funktioniert! Die Fehlermeldung ist weg.

@vaxherd, danke für den Input mit dem Ryzen. Ich habe für mein Homelab einen günstigen Mini-PC im Einsatz. Sicher nicht optimal, aber es reicht aus. Ich habe 3 LXC Container und 2 VM laufen. Bisher recht performant. Den iGPU durchzuschleifen ist aber offenbar eine Herausforderung.

Viele Grüße,
HennD

1 „Gefällt mir“