Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Frigate - meine ersten Schritte

Featured Replies

  • Community Expert

Ich spiele gerade mit Frigate, einer M.2 Coral TPU Karte und einer TP-Link Tapo Kamera herum und vielleicht können wir uns ja mal allgemein zu den Einstellungen von Frigate austauschen. Bestellt hatte ich übrigens auch eine Dual TPU Karte. Aber erst nach der Lieferung stelle ich fest, dass die PCIe X2 benötigt. Welcher Wifi Slot hat das bitte?! Und ich wüsste auch nicht, wie man die in bei flacher Einbauart kühl halten soll (hat bekanntlich keinen Kühlkörper).

 

Mein erster geplanter Einsatz ist jedenfalls ohne Home Assistant. Dh ich benötige einfach nur einen Rekorder von einer oder mehreren Kameras.

 

Ich habe dann erst mal die Tapo Cam mit der App eingerichtet, dh ich war gezwungen deren App zu installieren, einen Account zu registrieren und musste in der App dann auch erst mal RTSP erlauben (erweiterte Einstellungen > Kamerakonto). Der nächste Schritt war ein kurzer Test mit VLC, ob der Livestream der Kamera funktioniert.

 

Danach habe ich versucht Frigate zum Laufen zu bringen. Das war eine Geburt. Ohne Google und die Doku lesen keine Chance. 

 

 Da der Frigate Container nicht gerade nutzerfreundlich ist, musste ich erst mal von Hand die config.yml über die Kommandozeile erstellen:

touch /mnt/user/appdata/frigate/config.yml

 

Und da das Unraid Dynamix File Manager Plugin - was hoffentlich jeder installiert hat - immer noch nicht automatisch Textdateien erkennt 😑, muss man leider auch noch die Dateiendungen "yml" und "yaml" auf dem USB-Stick in /boot/config/editor.cfg ergänzen:

image.png.8eb828a5944e3261ab903c43947b5245.png

 

Erst jetzt kann man über Unraid selbst die config.yml bearbeiten. Im ersten Schritt hatte ich dazu nur das eingetragen, damit ich Frigate starten kann:

mqtt:
  enabled: False

cameras:
  garden-cam:
    ffmpeg:
      inputs:
        - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.178.59/stream1
          roles:
            - detect
    detect:
      enabled: False

 

Dann hieß es die Container-Einstellungen anpassen. Da ich die Coral TPU als M.2 in einem Intel Rechner mit iGPU verbaut habe, brauchte ich nur /dev/apex0 und /dev/dri/renderD128 als Devices durchschleifen und außerdem habe ich noch die Variable "FRIGATE_RTSP_USER" ergänzt:

 

image.thumb.png.99efe39b98eb17fe841951f452db90b9.png


Die hat den Charme, dass man bei der config.yml keine realen Zugangsdaten hinterlegen muss, sondern ausschließlich die Variable. Wobei das natürlich nur funktioniert, wenn alle Kameras den selben RTSP User und Passwort verwenden.

 

Jedenfalls habe ich Frigate gestartet und nach Studieren einiger Doku-Seiten, habe ich dann innerhalb der Frigate WebUI die config.yml wie folgt angepasst:

 

---
# Frigate Configuration file
# Defaults: https://docs.frigate.video/configuration/#full-configuration-reference

# MQTT needed for Smart Home Applications 
mqtt:
  enabled: False

# Overview of all cameras https://frigate.video/images/birdseye-2-optimized.jpg
birdseye:
  enabled: False

# Hardware acceleration of object detection
detectors:
  coral:
    type: edgetpu
    device: pci

# Hardware acceleration of video conversion
ffmpeg:
  # global hwaccel args
  hwaccel_args: preset-vaapi

# Snapshots of events
snapshots:
  # Enable writing jpg snapshot to /media/frigate/clips
  enabled: True
  # print a timestamp on the snapshots
  timestamp: True

# List of objects to capture https://docs.frigate.video/configuration/objects/
objects:
  track:
    - person
    - bird
    - cat
    - dog
    - bicycle
    - motorcycle
    - car
    - umbrella
    - eye glasses
    - backpack
    - handbag

# List of cameras
cameras:
  garden-cam:
    # Codec information of VLC (https://www.tp-link.com/de/support/faq/2680/):
    # Codec: H264
    # Resolution: 1920x1080
    # FPS: 14.285714
    # Audio: PCM ALAW Mono 8000 Hz 16-Bit
    ffmpeg:
      inputs:
        - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.178.59/stream1
          roles:
            - detect
            - record
    detect:
      enabled: True
      width: 1920
      height: 1080
      # Object detection uses 5 fps by default: https://docs.frigate.video/configuration/#full-configuration-reference

# Record settings https://docs.frigate.video/configuration/record
record:
  enabled: True
  retain:
    # record everything
    mode: all
    # and store it for 14 days
    days: 14

 

Ich muss sagen, dass Frigate echt gar nicht so ist, wie ich mir das vorgestellt habe. Also die WebUI ist anwenderfreundlich, aber auch einfach viel zu leer:

  1. Warum wird so viel Kram über die config.yml abgebildet. zB welche Objekte ich tracken will. Das könnte man viel bequemer als in die WebUI als Einstellungen übernehmen.
  2. Aber auch, dass man selbst angeben muss, welche Hardware man verbaut hat. Ich mein hey, such dir doch einfach selbst, ob es /dev/apex0 usw gibt und pass dich selbst an. Macht doch Plex usw auch so
  3. Oder warum kann ich nicht sehen welcher Codec/Medieninfo ein Stream hat. Es gibt zwar eine "Debug"- Ansicht, aber die gibt genau gar keine Info über den Stream aus?!
  4. Auch wieder fehlende Einstellungen in der WebUI und nur über die config.yml nach Studieren der Doku: Aufbewahrungszeit der Aufnahmen
  5. Kein Login... wie zum Teufel kann eine sicherheitsrelevante Applikation wie eine Videoüberwachung, über keinen Login verfügen?! Vom Prinzip sollte man Frigate daher ausschließlich in einem Custom Netzwerk hinter einem Nginx betreiben und darüber Basic Auth erzwingen. Wobei das eigentlich total dämlich ist, weil Frigate selbst bereits Nginx verwendet.
  6. Warum gibt es keinen Netzwerk-Scan nach Kameras, wo dann Standard-Configs je nach Kamera-Hersteller automatisch in der config.yml hinterlegt werden?
  7. Keine Benachrichtigungsfunktionen: Was passiert, wenn die Kamera ausfällt, geklaut wird oder was auch immer. Alles nur über Home Assistant umsetzbar. Ich weiß Frigate ist primär als Home Assistant Integration geschrieben, aber ich will halt kein Smart Home und das erhöht unnötig die Komplexität. Kann ja nicht so schwer sein eine popelige E-Mail zu versenden... 😒

    Mein erstes Fazit: Schickes Ding für Nerds, aber Frigate scheint mir nicht wirklich für die Masse geeignet zu sein.

    Dann wo ich aktuell nicht weiterkomme:
     
  8. Warum zeigt der unter System > GPUS den Fehlertext "intel-vaapi - There was an error getting usage stats. This does not mean hardware acceleration is not working. Either your GPU does not support this or Frigate does not have proper access to get statistics. This is expected for the Home Assistant addon." an. Wie kann ein Fehler "expected", also ein erwarteter Zustand sein. Was sind denn die Voraussetzungen, dass Frigate hier was anzeigt?!
  9. Haben die Toggle Icons überhaupt irgendeine Funktion?! Wenn man draufklickt wird kein Request abgesetzt, dh die Grafik "toggled" gar nichts, sondern zeigt einfach nur den Status an oder wie?!
    image.png.e019c458a6b38c2f103579d3df1d54c0.png
  10. Ist das richtig, dass die Recordings von 23:XX im Unterordner "22" landen (ich dachte erst an UTC, aber wir haben ja aktuell Winterzeit, also UTC+2)?!
    image.thumb.png.f24481a31359d0376dda326b83ae22f2.png
  11. Was sollen mir die "Stream Bandwidth" unterhalb von Store sagen:
    image.png.54ce47938583eb6aeb55d23bf82fcb1e.png
    Also was wird da zu "0%" benutzt?!
  12. Warum steht bei System > Cameras > Detect eine FPS von 1.6, obwohl laut Standard-Konfiguration von Frigate 5 FPS verwendet werden sollten?!
    image.png.169536e45a002655a1957e8325153350.png

 

 

 

Ich freue mich auf einen regen Austausch. 😁

 

 

 

Hi @mgutt,

 

ich habe Frigate seit ca 2 Jahren im Einsatz und der Anfang war wirklich nicht Leicht (zu dieser Zeit habe ich auch frisch mit Server und Unraid angefangen)

 

zu 1. und 4.: Ja ist gewöhnungsbedürftig, wobei ich dazu sagen muss, dass das am Anfang noch Umständlicher war, weil man die config,yaml nur im externen Editor bearbeiten konnte und jetzt dieses onboard möglich ist.

 

zu 7. Hier verfolgt Blake so einen "ähnlich" Ansatz wie Unraid. Das nötigste ist mit drinnen und der Rest kann über MQTT und Homeassistant aufgebohrt werden. Ich für mein Teil habe es über MQTT mit IoBroker gekoppelt.

 

zu 8. Hier wird die Auslastung der iGPU angezeigt:

2024-01-08.png.833f823f8018fbbbfe4f04a88a1d6fa0.png

 

zu 9. Ja die haben eine Funktion wenn du MQTT nutzt😉 Damit kann du dann den State überwachen als auch Steuern.

1116047081_2024-01-08(1).thumb.png.7578f760a4ad5715061f680e83abf6d2.png

 

 

zu 11. Das zeigt dir an wieviel Speicherplatz die jeweilige Kamera pro stunde Aufnahme benötigt.

1232099640_2024-01-08(2).png.c8c2a749420c5bb782cd84022fc9668a.png

 

zu 12. Das wird deine Tatsächliche FPS der Kamera sein. Die Einstellung wählt man so, dass der Mainstream für die Aufnahmen und der Substream für die Detektierung zuständig ist. Der Substream hat bei den meisten Kameras eine weniger hohe Auflösung und weniger FPS. Dieser wird auch Standartmäßig für die Verbindung extern mit einer App vom Hersteller (z.b. Reolink) verwendet. (Schnellerer Aufbau bzw. Anzeige des Streams)

 

Edit:

 

Habe auch ein Google Coral TPU aber als USB variante im Einsatz.

 

Worauf planst du deine Aufnahmen zu speichern? Ich wollte mir dafür schon vor längerer Zeit extra ne WD Purple zulegen, aber muss gestehen dass die Aufnahmen immer noch auf die NVME landen. Vielleicht ändere ich den Speicherpfad auch einfach nur auf die MX500 und belasse es dann so. 🤷‍♂️ Bisher gab es damit keine Probleme.

 

 

Edited by SidM

  • 3 months later...
Ich hab Frigate im Einsatz als Container auf Unraid, aber eigentlich verwertet in Home Assistant (als VM auf Unraid).
Nun habe ich aber zufälligerweise etwas festgestellt - Frigate scheint sich alle "freien" Grafikkarten zu schnappen, was zur folge hatte, dass die VMs die nicht automatisch gestartet wurden aber eine dedizierte GPU zugewiesen hatten, den Dienst quttierten da Frigate ihnen die GPU weggeschnappt hat.
Ich habe bei den Einstellungen des Frigate Dockers eigentlich nur 1 GPU zugewiesen, tortzdem nimmt er bis zu 3 GPUs in anspruch.
7 hours ago, Zeze21 said:

Frigate scheint sich alle "freien" Grafikkarten zu schnappen, was zur folge hatte, dass die VMs die nicht automatisch gestartet wurden aber eine dedizierte GPU zugewiesen hatten, den Dienst quttierten da Frigate ihnen die GPU weggeschnappt hat.
Ich habe bei den Einstellungen des Frigate Dockers eigentlich nur 1 GPU zugewiesen, tortzdem nimmt er bis zu 3 GPUs in anspruch.

wieviel Grafikkarten hast du denn verbaut ?

 

dazu am Besten mal ne diagnostics hier posten

  • 2 months later...

@mgutt erstmal vielen Dank für deine Ausführliche Einführung. Es hat mir schon viel geholfen die Ansätze von Frigate zu verstehen. Ich selber bin auch noch damit am  experimentieren. 

Vielleicht hat hier jamand von euch ja noch eine Idee, ich versuche CodePorjekt AI mit ein zu binden. Hintergrund ist  Autokennzeichen Erkennung und auch Personen Erkennung. Sprich ich kann Bilder hinterlegen von Personen, die dann erkannt werden. Ist Praktisch für Automatisierung.  Hat das jemand schon hinbekommen ? Ich bekomme immer eine Fehler Meldung wenn den Codeprojekt als detectors eintrage. 

 

VG
Marhal

  • 1 month later...

Ich würde auch gern Frigate nutzen, die erste Frage die ich mir nun stelle - Frigate als Docker auf Unraid oder in HomeAssistant pro/contra?

 

Derzeit habe ich nur die Onboard Intel HD GPU ....habe aber noch irgendwo eine Geforce 970 oder 1050....was macht langfrtistig mehr Sinn auch

im Hinblick auf die evtl. Nutzung der Grafikkarte unter Unraid? Oder doch die Coral als USB?

Werte Community, ich versuche gerade auch Frigate auf Unraid zu implementieren um es dann von dort aus mit HomeAssistant nutzen zu können. Wenn ich das recht gelesen habe, ist das wohl die performantere Lösung im vergleich zu der installation von Frigate direkt unter HomeAssistant. Eure Erfahrung diesbezüglich kenne ich leider nicht.

 

Ich habe also Frigate von den CA installiert und in der Erweiterten Ansicht der WebUI erstmal im Bridge Modus eine IP aus meinem Netzwerk eingetragen, den Media pathe auf /mnt/user/frigate geändert und bei Coral TPU Mapping: /dev/bus/usb/001/005 eingetragen - da in den Systemgeräten unter USB Geräten bei Bus 001 Device 005 Google Inc. angeziegt wird und das wird wohl der Coral USB Stick sein, hoffe ich. Derzeit habe ich leider noch keine GTX1050, daher habe ich erstmal die Standart Einträge gelassen für den ersten Test.

 

Nachdem Frigate installiert ist, habe ich dann die config.yaml unter appdata/frigate editiert....danke für den Hinweis von @mgutt das man die Endungen in der editor.cfg hinzufügen muss, damit man die in Unraid selbst auch editieren kann. Ich habe anhand der Frigate config.yaml die Vorgaben mit meinen Informationen gefüllt.

 

Ich habe auch hier die Konfiguration von mgutt übernommen und den Coral eingetragen, ebenso den MQTT Host und natürlich einen rtsp Pfad einer Kamera von mir zum testen.

 

Die IP die ich während der installation (s.o) eingetragen habe, war unnötig bzw. unter der Adresse ist die WebUI nicht erreichbar. Ein Blick unter Docker - Port Zuordnung zeigt mir dort zwei Einträge 172.17.0.12:5000/TCP -> 192.168.178.1:5000 und 172.17.0.12:8554/TCP -> 192.168.178.1:8554 (Kurze Frage am Rande - warum und woher bezieht mien Unraid die 172.17.0.xx?)  Unter 192.168.178.1:5000 habe ich Zugriff auf die WebUI von frigate und bekomme sogar ein Bild - das ging einfacher als gedacht.

 

Ich habe HomeAssistant als Supervised (VM) installiert und über die HACS die Frigate Integration installiert....leider kann ich via 192.168.178.1:5000 keine Verbindung zu Frigate aufbauen....hat jeman zufällig eine Idee dazu?

7 hours ago, Curiosity said:

Kurze Frage am Rande - warum und woher bezieht mien Unraid die 172.17.0.xx?

das sind die IP's der Dockers innerhalb der bridge

 

7 hours ago, Curiosity said:

hat jeman zufällig eine Idee dazu?

host access in den Docker Einstellungen aktiviert ?

Hallo @alturismo nein host access bzw. Host-Zugang zu benutzerdefinierten Netzwerken habe ich deaktiviert.

 

War da nicht was in irgendeinen Tutorial im Bezug auf MACVLAN das man das deaktivieren sollte....irgendwas habe ich diesbezüglich in Erinnerung im Bezug auf der verbindung zwischen VM und Docker Anwendungen? Puh mein alter Kopf weiß nicht wo das stand

1 hour ago, Curiosity said:

nein host access bzw. Host-Zugang zu benutzerdefinierten Netzwerken habe ich deaktiviert.

dann kennst du jetzt eine Lösung

 

1 hour ago, Curiosity said:

War da nicht was in irgendeinen Tutorial im Bezug auf MACVLAN das man das deaktivieren sollte....irgendwas habe ich diesbezüglich in Erinnerung im Bezug auf der verbindung zwischen VM und Docker Anwendungen? Puh mein alter Kopf weiß nicht wo das stand

da ich weder weiß was du wo gelesen hast ... ich jedoch weiß dich sicherlich bereits mal auf die unraid docs hingewiesen zu haben ...

 

unter dem Anleitungs Part ist ein Link zu der documentation, ebenso aus dem Unraid webui unten rechts ...

Hat jemand es geschafft eine PTZ Kamera in Frigate bzw. die config.yaml zu integrieren?

 

Gemäß Anleitung müßte ich in die config wohl diese Zeilen einfügen. Besagte Kamera habe ich bereits via RTSP eingefügt und das funktioniert

 

cameras:
  back:
    ffmpeg: ...
    onvif:
      host: 10.0.10.10
      port: 8000
      user: admin
      password: password

Wobei Host wohl die IP Adresse der Kamera sein sollte. Wenn ich in Frigate dann aber auf speichern klicke, bekomme ich eine Fehlermeldung

 

Config Error:

Traceback (most recent call last):
  File "/opt/frigate/frigate/api/app.py", line 245, in config_save
    FrigateConfig.parse_raw(new_config)
  File "/opt/frigate/frigate/config.py", line 1665, in parse_raw
    return cls.model_validate(config)
  File "/usr/local/lib/python3.9/dist-packages/pydantic/main.py", line 551, in model_validate
    return cls.__pydantic_validator__.validate_python(
  File "/opt/frigate/frigate/config.py", line 1048, in __init__
    if len(config["ffmpeg"]["inputs"]) == 1:
TypeError: string indices must be integers

 

In der Frigate Dokumentation habe ich einen LINK gefunden, mit dem man prüfen kann ob die PTZ Kamera onvif unterstützt. Meine Dahua DH-SD1A404XB-GNR tut dies.

 

Ich verstehe halt nicht was mir der Fehler sagen will

 

 

 

3 hours ago, alturismo said:

dann kennst du jetzt eine Lösung

 

Danke an @alturismo ich habe dank deines Anstoss jetzt Frigate auch in HomeAssistant / hoffe die andere Docker laufen auch noch Fehlerfrei nach der Umstellung

Gibt es eine Möglichkeit den Coral USB einem Bus/Port fest zuzuordnen? Obwohl ich den USB port nicht gewechselt habe, ändert Unraid dem Pfad selbstständig wenn ich Unraid neustarte... Das bedeutet natürlich das die Unraid Konfiguration fehlerhaft ist und Frigate nach einem Neustart von Unraid nicht startet.

34 minutes ago, Curiosity said:

Gibt es eine Möglichkeit den Coral USB einem Bus/Port fest zuzuordnen?

ja ... by-id anstelle tty.... 

 

Suche oben rechts ... ;)

 

Beispiel

image.png.8131eedbd95390774f7abb71bd474968.png

On 9/12/2024 at 6:35 PM, alturismo said:

Suche oben rechts ... ;)

Habe in besagter Suche macl eingegeben "USB einem Bus/Port fest zuzuordnen" aber das Ergebnis führte mich nicht weiter bzw hier her.

 

Gehe ich recht in der Annahme das ich dies in den Einstellungen von frigate eintragen muß - macht ja Sinn. Nur wie wird es korrekt eingetragen?

Hatte das eben mal anhand deiner Zeile versucht, das ist Fehlgeschlagen und danach hatte ich kein Frigate mehr und mußte es neu installieren 🫣

 

So steht es derzeit bei mir:

--device='/dev/bus/usb/002/002'

 

Das ist das was mir unter Systemgeräten angezeigt wird.

ID 18d1:9302 Google Inc.

 

Das hatte ich ausprobiert:

/dev/bus/by-id/usb-Google_Inc._18d1-9302

 

Wie gesagt hat nicht funktioniert

50 minutes ago, Curiosity said:

So steht es derzeit bei mir:

 

was gibt denn (wenn man mal das gezeigte Beispiel nimmt) folgendes aus

 

ls -la /dev/serial/by-id/

 

4 hours ago, alturismo said:
ls -la /dev/serial/by-id/

Wo muß ich denn das eingeben um eine Ergebnis angezeigt zu bekommen, mit dem du was anfangen kannst?

 

Ich musste gerade nochmal meine NVIDIA "hinzufügen" dadurch das ich versucht hatte den Coral per ID in den Einstellungen hinzuzufügen, hatte sich ja wie gesagt mein ganzes Frigate "gelöscht" und ich mußte es über die CA Neuinstallieren, dabei hatte ich vergessen den Eintrag in den Extra Parametern einzufügen um die GTX ich zu aktivieren.

 

 

Unbenannt.jpg.46674de9569d05c320af92177eff5c10.jpg

1 hour ago, Curiosity said:

Wo muß ich denn das eingeben um eine Ergebnis angezeigt zu bekommen, mit dem du was anfangen kannst?

 

im Unraid Terminal

 

1 hour ago, Curiosity said:

hatte sich ja wie gesagt mein ganzes Frigate "gelöscht" und ich mußte es über die CA Neuinstallieren,

Nein, wenn so ein Fehler passiert ... Docker Tab, unten, add container ... da ist dein template, korrigieren, starten, fertig.

 

es ist nur ein "orphan image" weil es so nicht starten kann ;) 

22 hours ago, alturismo said:

im Unraid Terminal

Wenn ich das im Terminal eingebe erhalte ich diese Fehlermeldung

 

Unbenannt.jpg.ff7f32dd2879e3c38bf847eef0d08902.jpg

 

12 hours ago, Curiosity said:

Wenn ich das im Terminal eingebe erhalte ich diese Fehlermeldung

 

ok, dann wird serial wohl nicht unterstützt bei dem Gerät

 

@SimonF may a hint for non serial devices getting a fixed path as they like to change on reboot ?

 

in this case a coral USB device

 

or may your USB Manager is already capable therefore ? docker usage (not VM) ;)

 

@Curiosity hier mal ein link wo andere auch das Thema hatten, kein serial device unter USB, vielleicht ... 

 

 

2 hours ago, alturismo said:

may a hint for non serial devices getting a fixed path as they like to change on reboot ?

 

in this case a coral USB device

 

or may your USB Manager is already capable therefore ? docker usage (not VM) ;)

There is no support for docker currently as not sure there is hooks for start etc that would allow changes to config.

 

For my frigate with Coral USB i have the following mapping so I dont have this issue. But does mean has access to all usbs.

image.png

On 1/8/2024 at 12:34 AM, mgutt said:

Ich habe dann erst mal die Tapo Cam mit der App eingerichtet, dh ich war gezwungen deren App zu installieren, einen Account zu registrieren und musste in der App dann auch erst mal RTSP erlauben (erweiterte Einstellungen > Kamerakonto).

Hier empfiehlt sich eher die "TP-Link Vigi" Serie. Konto ist nur notwendig wenn man Push-Benachrichtigungen möchte.

In den meisten Punkten hast du recht, es ist extrem schade das Frigate nur eine nette "spielerei" ist als ein vernünftiges Tool.
Abgesehen von der mühsamen txt Config hat mich der fehlende Login auch gekillt.

Aber auch muss ich sagen, wie lange wird man noch solche Tools brauchen? Die Vigi Serie hat sehr viele KI Tools direkt on-board von
Personenerkennung, Fahrzeugerkennung, Manipulation, Geräte offline, "Rumlungern", Linien überschreitung, Objekte hinterlegen oder entfernen, Szenen wechsel, Bereiche betreten oder verlassen
und das ganze lässt sich mit Vigi VMS und AI auch noch erweitern.

Viele Hersteller gehen jetzt in die richtung mehr und mehr direkt zu integrieren. Den weg finde ich auch gut intelligente Kameras zu erzeugen, auch wenn das viele "Selfhosted" User nicht gerne sehen.
Firgate hat dem ganzen vor vielen Jahren einen Push gegeben aber scheint seit dem mit seinem Interface nur noch stehen zu bleiben.

  • 2 months later...

Hallo zusammen, ich bekomme meine config in Frigate nicht so richtig hin. CPU only läuft es halbwegs aber meine Versuche die iGPU meines 8700k zu nutzen, schlagen fehl. 

Aktuell sieht der Teil so aus: 
 

detectors:

  ov:

    type: openvino

    device: GPU

    model:

      width: 300

      height: 300

      input_tensor: nhwc

      input_pixel_format: bgr

      path: /openvino-model/ssdlite_mobilenet_v2.xml

      labelmap_path: /openvino-model/coco_91cl_bkgr.txt

und ich muss den Container als privileged laufen lassen damit es halbwegs klappt aber es bleibt bei bootloops. 

Das ist die Einstellung des Containers in Unraid
image.thumb.png.6e2443983244158eef637856bcc598ce.png

 

 

Das sind die Logs aus dem Container
 

s6-rc: info: service frigate successfully stopped
s6-rc: info: service go2rtc: stopping
s6-rc: info: service frigate-log: stopping
2024-11-25 23:24:34.305446380  exit with signal: terminated
s6-rc: info: service frigate-log successfully stopped
2024-11-25 23:24:34.309720978  [INFO] The go2rtc service exited with code 0 (by signal 0)
s6-rc: info: service go2rtc successfully stopped
s6-rc: info: service go2rtc-log: stopping
s6-rc: info: service go2rtc-log successfully stopped
s6-rc: info: service log-prepare: stopping
s6-rc: info: service s6rc-fdholder: stopping
s6-rc: info: service log-prepare successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service s6rc-fdholder successfully stopped
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-fdholder: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service s6rc-fdholder successfully started
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service log-prepare: starting
s6-rc: info: service log-prepare successfully started
s6-rc: info: service nginx-log: starting
s6-rc: info: service go2rtc-log: starting
s6-rc: info: service frigate-log: starting
s6-rc: info: service certsync-log: starting
s6-rc: info: service nginx-log successfully started
s6-rc: info: service go2rtc-log successfully started
s6-rc: info: service go2rtc: starting
s6-rc: info: service frigate-log successfully started
s6-rc: info: service certsync-log successfully started
s6-rc: info: service go2rtc successfully started
s6-rc: info: service go2rtc-healthcheck: starting
s6-rc: info: service frigate: starting
s6-rc: info: service go2rtc-healthcheck successfully started
s6-rc: info: service frigate successfully started
s6-rc: info: service nginx: starting
2024-11-25 23:24:39.126690700  [INFO] Preparing Frigate...
2024-11-25 23:24:39.129579040  [INFO] Starting NGINX...
2024-11-25 23:24:39.131886334  [INFO] Preparing new go2rtc config...
2024-11-25 23:24:39.140059968  [INFO] Starting Frigate...
2024-11-25 23:24:39.532672522  [INFO] Starting go2rtc...
2024-11-25 23:24:39.691777952  23:24:39.691 INF go2rtc platform=linux/amd64 revision=b2399f3 version=1.9.2
2024-11-25 23:24:39.691793132  23:24:39.691 INF config path=/dev/shm/go2rtc.yaml
2024-11-25 23:24:39.692108200  23:24:39.692 INF [api] listen addr=:1984
2024-11-25 23:24:39.692120565  23:24:39.692 INF [rtsp] listen addr=:8554
2024-11-25 23:24:39.692251849  23:24:39.692 INF [webrtc] listen addr=:8555/tcp
s6-rc: info: service nginx successfully started
s6-rc: info: service certsync: starting
s6-rc: info: service certsync successfully started
s6-rc: info: service legacy-services: starting
2024-11-25 23:24:40.230967515  [INFO] Starting certsync...
s6-rc: info: service legacy-services successfully started
2024-11-25 23:24:40.319475058  127.0.0.1 - - [25/Nov/2024:23:24:40 +0100] "" 400 0 "-" "-" "-"
2024-11-25 23:24:40.727431299  [2024-11-25 23:24:40] frigate.app                    INFO    : Starting Frigate (0.14.1-f4f3cfa)
2024-11-25 23:24:40.727534916  [2024-11-25 23:24:40] frigate.util.config            INFO    : Checking if frigate config needs migration...
2024-11-25 23:24:40.780077980  [2024-11-25 23:24:40] frigate.util.config            INFO    : frigate config does not need migration...
2024-11-25 23:24:40.823011393  [2024-11-25 23:24:40] frigate.config                 WARNING : Customizing more than a detector model path is unsupported.
2024-11-25 23:24:40.839077812  [2024-11-25 23:24:40] peewee_migrate.logs            INFO    : Starting migrations
2024-11-25 23:24:40.840242339  [2024-11-25 23:24:40] peewee_migrate.logs            INFO    : There is nothing to migrate
2024-11-25 23:24:40.848307043  [2024-11-25 23:24:40] frigate.app                    INFO    : Recording process started: 366
2024-11-25 23:24:40.856392446  [2024-11-25 23:24:40] frigate.app                    INFO    : Recording process started: 375
2024-11-25 23:24:40.860268279  [2024-11-25 23:24:40] frigate.app                    INFO    : go2rtc process pid: 98
2024-11-25 23:24:40.892404161  [2024-11-25 23:24:40] detector.ov                    INFO    : Starting detection process: 395
2024-11-25 23:24:40.898683429  [2024-11-25 23:24:40] frigate.app                    INFO    : Output process started: 397
2024-11-25 23:24:40.947516275  [2024-11-25 23:24:40] frigate.app                    INFO    : Camera processor started for reolink_doorbell: 418
2024-11-25 23:24:40.955412917  [2024-11-25 23:24:40] frigate.app                    INFO    : Camera processor started for reolink_duo2: 426
2024-11-25 23:24:40.963357272  [2024-11-25 23:24:40] frigate.app                    INFO    : Camera processor started for reolink_rlc810wa: 431
2024-11-25 23:24:40.981350571  [2024-11-25 23:24:40] frigate.app                    INFO    : Capture process started for reolink_doorbell: 442
2024-11-25 23:24:40.982518119  [2024-11-25 23:24:40] frigate.app                    INFO    : Capture process started for reolink_duo2: 450
2024-11-25 23:24:40.996574501  [2024-11-25 23:24:40] frigate.app                    INFO    : Capture process started for reolink_rlc810wa: 458
2024-11-25 23:24:44.801389831  [2024-11-25 23:24:44] frigate.detectors.plugins.openvino ERROR   : SSD model input doesn't match. Found [1,300,300,3].
2024-11-25 23:24:44.805121368  Process detector:ov:
2024-11-25 23:24:44.806124795  Traceback (most recent call last):
2024-11-25 23:24:44.806177212    File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
2024-11-25 23:24:44.806179010      self.run()
2024-11-25 23:24:44.806180778    File "/usr/lib/python3.9/multiprocessing/process.py", line 108, in run
2024-11-25 23:24:44.806184486      self._target(*self._args, **self._kwargs)
2024-11-25 23:24:44.806186837    File "/opt/frigate/frigate/object_detection.py", line 125, in run_detector
2024-11-25 23:24:44.806203216      detections = object_detector.detect_raw(input_frame)
2024-11-25 23:24:44.806205148    File "/opt/frigate/frigate/object_detection.py", line 75, in detect_raw
2024-11-25 23:24:44.806207002      return self.detect_api.detect_raw(tensor_input=tensor_input)
2024-11-25 23:24:44.806208483    File "/opt/frigate/frigate/detectors/plugins/openvino.py", line 160, in detect_raw
2024-11-25 23:24:44.806209774      infer_request.infer(input_tensor)
2024-11-25 23:24:44.806211359    File "/usr/local/lib/python3.9/dist-packages/openvino/runtime/ie_api.py", line 132, in infer
2024-11-25 23:24:44.806235817      return OVDict(super().infer(_data_dispatch(
2024-11-25 23:24:44.806321982  RuntimeError: Exception from src/inference/src/cpp/infer_request.cpp:116:
2024-11-25 23:24:44.806324246  Exception from src/inference/src/cpp/infer_request.cpp:66:
2024-11-25 23:24:44.806327240  Check 'shape.compatible(ov::PartialShape(tensor->get_shape())) || tensor->get_shape() == ov::Shape {0} || port.get_partial_shape().is_dynamic()' failed at src/plugins/intel_gpu/src/plugin/sync_infer_request.cpp:146:
2024-11-25 23:24:44.806329238  [GPU] The tensor size is not equal to model, can't set input tensor with index: 0, because model input (shape=[1,300,300,3]) and tensor (shape=[1,320,320,3]) are incompatible
2024-11-25 23:24:44.806330509  
2024-11-25 23:24:44.806331577  
2024-11-25 23:24:44.806332660  
2024-11-25 23:24:49.127332569  [INFO] Starting go2rtc healthcheck service...
2024-11-25 23:25:01.144467465  [2024-11-25 23:25:01] frigate.watchdog               INFO    : Detection appears to be stuck. Restarting detection process...
2024-11-25 23:25:01.160208184  [2024-11-25 23:25:01] detector.ov                    INFO    : Starting detection process: 623
2024-11-25 23:25:04.776387195  [2024-11-25 23:25:04] frigate.detectors.plugins.openvino ERROR   : SSD model input doesn't match. Found [1,300,300,3].
2024-11-25 23:25:04.779642037  Process detector:ov:
2024-11-25 23:25:04.780367234  Traceback (most recent call last):
2024-11-25 23:25:04.780423825    File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
2024-11-25 23:25:04.780426394      self.run()
2024-11-25 23:25:04.780428314    File "/usr/lib/python3.9/multiprocessing/process.py", line 108, in run
2024-11-25 23:25:04.780429975      self._target(*self._args, **self._kwargs)
2024-11-25 23:25:04.780442088    File "/opt/frigate/frigate/object_detection.py", line 125, in run_detector
2024-11-25 23:25:04.780443347      detections = object_detector.detect_raw(input_frame)
2024-11-25 23:25:04.780444662    File "/opt/frigate/frigate/object_detection.py", line 75, in detect_raw
2024-11-25 23:25:04.780445825      return self.detect_api.detect_raw(tensor_input=tensor_input)
2024-11-25 23:25:04.780447112    File "/opt/frigate/frigate/detectors/plugins/openvino.py", line 160, in detect_raw
2024-11-25 23:25:04.780448478      infer_request.infer(input_tensor)
2024-11-25 23:25:04.780450257    File "/usr/local/lib/python3.9/dist-packages/openvino/runtime/ie_api.py", line 132, in infer
2024-11-25 23:25:04.780451776      return OVDict(super().infer(_data_dispatch(
2024-11-25 23:25:04.780453507  RuntimeError: Exception from src/inference/src/cpp/infer_request.cpp:116:
2024-11-25 23:25:04.780455189  Exception from src/inference/src/cpp/infer_request.cpp:66:
2024-11-25 23:25:04.780457798  Check 'shape.compatible(ov::PartialShape(tensor->get_shape())) || tensor->get_shape() == ov::Shape {0} || port.get_partial_shape().is_dynamic()' failed at src/plugins/intel_gpu/src/plugin/sync_infer_request.cpp:146:
2024-11-25 23:25:04.780485953  [GPU] The tensor size is not equal to model, can't set input tensor with index: 0, because model input (shape=[1,300,300,3]) and tensor (shape=[1,320,320,3]) are incompatible
2024-11-25 23:25:04.780487528  
2024-11-25 23:25:04.780488745  
2024-11-25 23:25:04.780489867  

EDIT: 
wenn ich privileged raus mache und nur 

 

detectors:

  cpu:

    type: cpu

 

verwende kann ich es nutzen, aber halt ohne GPU detection: 

 

2024-11-25 23:33:54.508053437  [INFO] Preparing Frigate...
2024-11-25 23:33:54.509879221  [INFO] Starting NGINX...
2024-11-25 23:33:54.520006106  [INFO] No TLS certificate found. Generating a self signed certificate...
2024-11-25 23:33:54.539814312  [INFO] Preparing new go2rtc config...
2024-11-25 23:33:54.540410363  [INFO] Starting Frigate...
2024-11-25 23:33:55.061570171  [INFO] Starting go2rtc...
2024-11-25 23:33:55.190393224  23:33:55.190 INF go2rtc platform=linux/amd64 revision=b2399f3 version=1.9.2
2024-11-25 23:33:55.190408015  23:33:55.190 INF config path=/dev/shm/go2rtc.yaml
2024-11-25 23:33:55.190767760  23:33:55.190 INF [api] listen addr=:1984
2024-11-25 23:33:55.190899142  23:33:55.190 INF [rtsp] listen addr=:8554
2024-11-25 23:33:55.191056420  23:33:55.191 INF [webrtc] listen addr=:8555/tcp
2024-11-25 23:33:55.206567547  2024/11/25 23:33:55 [error] 172#172: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 10.10.42.11, server: , request: "GET /api/stats HTTP/1.1", subrequest: "/auth", upstream: "http://127.0.0.1:5001/auth", host: "10.10.42.10:5000"
2024-11-25 23:33:55.206585459  2024/11/25 23:33:55 [error] 172#172: *1 auth request unexpected status: 502 while sending to client, client: 10.10.42.11, server: , request: "GET /api/stats HTTP/1.1", host: "10.10.42.10:5000"
2024-11-25 23:33:55.940376654  [INFO] Starting certsync...
2024-11-25 23:33:56.024282361  127.0.0.1 - - [25/Nov/2024:23:33:56 +0100] "" 400 0 "-" "-" "-"
2024-11-25 23:33:56.507257636  [2024-11-25 23:33:56] frigate.app                    INFO    : Starting Frigate (0.14.1-f4f3cfa)
2024-11-25 23:33:56.507346819  [2024-11-25 23:33:56] frigate.util.config            INFO    : Checking if frigate config needs migration...
2024-11-25 23:33:56.552454220  [2024-11-25 23:33:56] frigate.util.config            INFO    : frigate config does not need migration...
2024-11-25 23:33:56.623689978  [2024-11-25 23:33:56] peewee_migrate.logs            INFO    : Starting migrations
2024-11-25 23:33:56.624808328  [2024-11-25 23:33:56] peewee_migrate.logs            INFO    : There is nothing to migrate
2024-11-25 23:33:56.633937877  [2024-11-25 23:33:56] frigate.app                    INFO    : Recording process started: 366
2024-11-25 23:33:56.641859970  [2024-11-25 23:33:56] frigate.app                    INFO    : Recording process started: 375
2024-11-25 23:33:56.645915853  [2024-11-25 23:33:56] frigate.app                    INFO    : go2rtc process pid: 98
2024-11-25 23:33:56.680356803  [2024-11-25 23:33:56] detector.cpu                   INFO    : Starting detection process: 395
2024-11-25 23:33:56.687002033  [2024-11-25 23:33:56] frigate.detectors              WARNING : CPU detectors are not recommended and should only be used for testing or for trial purposes.
2024-11-25 23:33:56.687963567  [2024-11-25 23:33:56] frigate.app                    INFO    : Output process started: 397
2024-11-25 23:33:56.737870658  [2024-11-25 23:33:56] frigate.app                    INFO    : Camera processor started for reolink_doorbell: 411
2024-11-25 23:33:56.745308808  [2024-11-25 23:33:56] frigate.app                    INFO    : Camera processor started for reolink_duo2: 412
2024-11-25 23:33:56.757165161  [2024-11-25 23:33:56] frigate.app                    INFO    : Camera processor started for reolink_rlc810wa: 420
2024-11-25 23:33:56.768564631  [2024-11-25 23:33:56] frigate.app                    INFO    : Capture process started for reolink_doorbell: 426
2024-11-25 23:33:56.777232186  [2024-11-25 23:33:56] frigate.app                    INFO    : Capture process started for reolink_duo2: 429
2024-11-25 23:33:56.785745107  [2024-11-25 23:33:56] frigate.app                    INFO    : Capture process started for reolink_rlc810wa: 433
2024-11-25 23:34:00.241728665  [2024-11-25 23:34:00] frigate.util.services          ERROR   : Unable to poll intel GPU stats: Failed to initialize PMU! (Operation not permitted)

 

 

Edited by zw3ist3in
added second state

16 hours ago, alturismo said:

naja, warum füllst du das nicht aus ?

Danke für den Input, ja es war zwischenzeitlich mal ausgefüllt, dann dachte ich wohl zwischenzeitlich es könnte der Grund für den Fehler sein. 

Ich habe iHD nun wieder hinzugefügt und privileged entfernt. 

Ich teste und schaue ob zumindest das privileged Thema gelöst ist. 

Ob iGPU damit funktioniert weiß ich damit noch nicht. 

 

Ich habe gerade scheinbar ein ganz anderes Problem erst zu lösen, die stabilen Kamerafeeds spucken einen Tag später lauter Fehler wie diese:

2024-11-26 23:12:23.816397736  [2024-11-26 23:12:23] frigate.video                  ERROR   : reolink_duo2: Unable to read frames from ffmpeg process.
2024-11-26 23:12:23.816835382  [2024-11-26 23:12:23] frigate.video                  ERROR   : reolink_duo2: Unable to read frames from ffmpeg process.
2024-11-26 23:12:23.817275865  [2024-11-26 23:12:23] frigate.video                  ERROR   : reolink_duo2: Unable to read frames from ffmpeg process.
2024-11-26 23:12:23.817691237  [2024-11-26 23:12:23] frigate.video                  ERROR   : reolink_duo2: Unable to read frames from ffmpeg process.

Das muss ich erst mal erklären können. Es ist nichts anders als gestern was Einstellungen betrifft. 

  • 1 month later...
On 1/8/2024 at 12:34 AM, mgutt said:

Da der Frigate Container nicht gerade nutzerfreundlich ist, musste ich erst mal von Hand die config.yml über die Kommandozeile erstellen:

Guten Morgen mqutt...ich beschäftige mich erneut mit Frigate und greife da nur zu gern auf deine Erfahrungen zurück. So viel Content gibt es hier ja im Deutschen teil nicht zum Thema Frigate. Nun hab ich das oben gerade gelesen und frage mich wie das gemeint ist. Also ich habe unter /mnt/user/appdata/frigate/ keine config.yml anlegen müssen und bin direkt auf die Frigate WebUI Port 5000 gegangen um dort die Configuration zu bearbeiten.

 

Ich habe, wie früher schon mal erwähnt, dass Problem, das mein Coral USB Stick gern mal den USB Port wechselt und ich immer erst Prüfen muß auf welchem Port der gerade liegt bevor ich Frigate starte. Der USB Stick wird auch nicht sofort richtig vom System erkannt (hat oftmals eine andere Bezeichnung). Ich habe noch keine Lösung gefunden wie ich den Port fest zuteilen kann.

 

Entweder/oder

Bus 002 Device 002 Port 2-6 ID 18d1:9302 Google Inc.

Bus 002 Device 003 Port 2-6 ID 18d1:9302 Google Inc.

 

Ich verwende in meinem Unraid System die besagte Coral als USB und eine NVIDIA GTX 1050TI

 

Mein Einstellungen in Unraid sehen so aus - ob das Richtig ist, vermag ich nicht zu sagen.

Screenshot2025-01-03at12-00-57Tower_UpdateContainer.thumb.png.34a57f598ae4caa4f86857729a5438b0.png

 

Nun gibt es ja für die Configuration mehrere Anleitungen und von frigate auch Examples....eine Kamera einpflegen ist jetzt auch nicht mein Problem.

Ich schaffe es aber nicht die Kamera via PTZ anzusteuern. Ich möchte gern frigate in HomeAssistant nutzen und auch dort die PTZ Steuerung implementieren.

Die Frage ist nun, muß ich die PTZ ansteuerung in Frigate selbst oder im HomeAssistant Frigate einrichten?

 

Laut Frigate Dokumentation muß die Kamera ONVIF können - um das zu prüfen kann man auf der ONVIF Seite Marke und Modell eingeben und bekommt dann eine

Auskunft ob das mit der verwendeten Kamera funktioniert. Meine DAHUA Kamera wird dort bestätigt. Da zwischen der vorhandenen Firmware und der Firmware die bei ONVIF aufgeführt ist ein unterschied bestand, habe ich meine Kamera geupdatet.

 

In der Dokumentation von frigate steht für PTZ folgende Zeilen

 

cameras:
  back:
    ffmpeg: ...
    onvif:
      host: 10.0.10.10
      port: 8000
      user: admin
      password: password

 

Passe ich die IP, user und Passwort an meine Kamera an

mqtt:
  enabled: false

detectors: # <---- add detectors
  coral:
    type: edgetpu
    device: usb

cameras:
  back:
    ffmpeg: ...
    onvif:
      host: 192.168.212.105
      port: 8000
      user: admin
      password: passwort  

 

erhalte ich leider nur eine Fehlermeldung, die ich nicht deuten kann.

Config Error:

Traceback (most recent call last):
  File &#34;/opt/frigate/frigate/api/app.py&#34;, line 245, in config_save
    FrigateConfig.parse_raw(new_config)
  File &#34;/opt/frigate/frigate/config.py&#34;, line 1665, in parse_raw
    return cls.model_validate(config)
  File &#34;/usr/local/lib/python3.9/dist-packages/pydantic/main.py&#34;, line 551, in model_validate
    return cls.__pydantic_validator__.validate_python(
  File &#34;/opt/frigate/frigate/config.py&#34;, line 1048, in __init__
    if len(config[&#34;ffmpeg&#34;][&#34;inputs&#34;]) == 1:
TypeError: string indices must be integers

 

Muß ich ONVIF evtl. auch auf einem System laufen lassen? Eigentlich ist das ja nur ein Protokoll auf das frigate in der Kamera zugreift oder?

Muss MQTT konfiguriert sein? Wenn ich nur den Videostream von der Kamera haben möchte und meine Konfiguration wie folgt eingebe, bedarf es auch kein MQTT damit ich ein Bild erhalte.

 

mqtt:
  enabled: false

detectors: # <---- add detectors
  coral:
    type: edgetpu
    device: usb
    
cameras:
  Vorne: # <------ Name the camera
    enabled: true
    ffmpeg:
      inputs:
        - path: rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=1 # <----- The stream you want to use for detection
          roles:
            - detect
    detect:
      enabled: false # <---- disable detection until you have a working camera feed
      width: 1280
      height: 720
version: 0.14

 

Vielleicht hat jemand ja Ideen zu meinen Problemen und kann mir paar gute Impulse geben.

 

Danke dafür im vorraus!!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.