Frigate or not Frigate ? That's the question!

Bonjour,

Etat actuel :

J’ai plusieurs caméra actuellement de déployé chez moi.
Actuellement, une grosse majorité des cameras arrivent sur mon Synology (via Surveillance Station) pour ensuite redistribué les flux en RSTP vers Home Assistant.

Home Assistant me permet ensuite d’avoir accès aux cameras via :
- L’interface web de Home Assistant (depuis chez moi ou l’extérieur)
- Home Assistant Companion (depuis chez moi ou l’extérieur)
- Apple Maison (depuis chez moi ou l’extérieur)
- Homekit AppleTV (avec le système de doorbell couplé à la detection de mouvement)

Problème(s) :

Le flux video est parfois très lent à charger et même instable. Via l’AppleTV ca marche vraiment très mal par exemple.
J’aimerais donc améliorer cela sachant que ce n’est pas mon Home Assistant qui sature, la CPU ne dépasse jamais 30%.

Idée(s) :

Je me dis que c’est le bon moment de regarder du coté de Frigate et Go2RTC (surtout depuis que Go2RTC est intégré à Frigate).
De tout ce que j’ai pu lire/voir/etc… Go2RTC permettrait de vraiment améliorer le temps de réponse de la video.
Et puis dans la continuité pourquoi ne pas traiter de la reconnaissance faciale avec Double-Take et CompreFace ou DeepStack (si vous avez des recommandations d’ailleurs).
Tout ceci étant gourmand, lui adjoindre un Coral pour plus de fluidité.
Et tout stocker en NFS sur le Synology.

Questions :

Malgré mes lectures, il reste quelques interrogations pour lesquels je n’ai pas trouvé de réponse.

  • Est-ce que Apple Maison (sur iPhone et AppleTV) pourra interroger Go2RTC et donc améliorer les temps de réponses de la video ?
  • Est-ce que Frigate est vraiment bien pour le recording ? Est-ce que je peux record 24/24 (si j’ai l’espace disque bien sur) ?
  • Est-ce que la video avec Frigate est fluide ? J’ai vu à plusieurs endroits qu’ils parlaient de 5fps ce qui me semble très bas pour du recording.
  • Des retours d’experience sur la reconnaissance faciale avec Frigate ?
  • Des retours d’experience entre Frigate et Netatmo Presence & Welcome ?

Merci d’avance

1 « J'aime »

Hello

Un début de réponse :wink:

Le 5fps est conseillé pour la partie detection ( avec résolution basse aussi) , pas pour la partie recording.

J’ai testé du doubletake + CodeprojectAI ou Deepstack… pas très convainquant mais je ne l’ai pas beaucoup entrainé et je n’ai pas de Coral.

Je pige pas trop ta question, tu n’interroge pas go2rtc, tu fais une carte type frigate dans ton dashboard avec Go2RTC en Live view provider

Oui, mais quel interet ? il n’est pas mieux de n’enregistrer que lors d’une detection par exemple ?

Hello @Krull56,

Merci pour tes réponses

J’intègre les camera dans Apple Maison directement en partageant les entités camera avec homekit dans HA.
Par conséquent, comme ca passe pas par l’interface HA, je ne sais pas si HA partage à Homekit un flux qui passe par Go2RTC ou bien si je garderais les même latences qu’actuellement.

J’ai eu plusieurs fois des problèmes de détection qui n’ont pas record et depuis je suis passé à un recording 24/24

Bonjour,

J’ai demarré des tests.
Pour les cameras en rtsp pas trop de souci pour récupérer le flux avec go2rtc mais avec la Netatmo j’ai pas mal galéré avant d’avoir la video et l’audio.

Ca marche avec cette configuration :

go2rtc:
  ffmpeg:
    in_preset-http-mjpeg-generic: "-avoid_negative_ts make_zero -fflags nobuffer -flags low_delay -strict experimental -fflags +genpts+discardcorrupt -use_wallclock_as_timestamps 1 -i {input}"
    raw_preset-http-mjpeg-generic: "-rtpflags latm"
  streams:
    outdoor_portail:
      - ffmpeg:http://monip/montoken/live/files/high/index.m3u8#input=in_preset-http-mjpeg-generic#video=copy#audio=opus#raw=raw_preset-http-mjpeg-generic
  log:
    exec: trace # Debug for FFMPEG

Par contre, j’ai beaucoup d’erreur de ce type :

2024-06-13 19:42:50.539755750  frame=  943 fps= 19 q=-1.0 size=N/A time=00:00:50.75 bitrate=N/A speed=1.02x    
frame=  950 fps= 19 q=-1.0 size=N/A time=00:00:51.64 bitrate=N/A speed=1.02x    
frame=  967 fps= 19 q=-1.0 size=N/A time=00:00:52.19 bitrate=N/A speed=1.02x    
frame=  988 fps= 19 q=-1.0 size=N/A time=00:00:52.79 bitrate=N/A speed=1.02x    
[http @ 0x5588efe33100] Opening 'http://monip/montoken/live/files/high/index.m3u8' for reading
2024-06-13 19:42:50.633305632  [hls @ 0x5588efd790c0] Skip ('#EXT-X-VERSION:7')
2024-06-13 19:42:50.633719515  [http @ 0x5588efd88dc0] Opening 'http://monip/montoken/live/files/high/live0000045904.ts' for reading
2024-06-13 19:42:50.735405907  [mpegts @ 0x5588efd7fa00] Packet corrupt (stream = 0, dts = 8262536250), dropping it.

Quelqu’un à mis en place les Netatmo Presence avec go2rtc ? Je trouve rien nul part sur ce problème.

Merci d’avance

Salut,

j’ai installé Frigate et Double Take il y a quelques semaines maintenant, j’ai fait un petit tuto :

Pour moi Frigate, une fois bien paramétré, permet de vraiment d’avoir très peu de fausse détection, couplé à Double Take ça me permet d’avoir une notification que si il ne connait pas la personne.
Après ce n’est pas parfait, pour qu’une reconnaissance soit positive il faut que la taille de détection soit assez grande.
Enfin bref, je trouve que ça fonctionne bien dans l’ensemble mais c’est perfectible.
Chez moi, pas de ralentissement, je n’ai que 3 cameras avec un CORAL.
J’utilisais aussi mon Syno mais du coup ça consommé beaucoup de stockage car au moindre mouvement il enregistre.

1 « J'aime »

Hello @nZAngel,

Je vais regarder cela merci.

Bonjour,
Je tente de connecter ma camera welcome à Frigate.
Tu as réussi à la faire fonctionner correctement ?
J’ai bien l’URL qui fonctionne sur VLC par ex.
J’ai bien tout mis dans la partie go2rtc mais je ne vois pas ce que je dois mettre dans la partie caméra. J’imagine un appel à cette partie go2rtc appelée outdoor_portail dans ton exemple.

Dans la partie camera, faut faire appel au flux go2rtc. Un truc comme ca :

cameras:
  outdoor_portail:
    enabled: true
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/outdoor_portail
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect
            - audio
    detect:
      enabled: true
      # Optional: width/height of the frame for the input with the detect role
      width: 1280
      height: 720
      fps: 5

Dans la ligne path, ce qui est à la fin (outdoor_portail) correspond au nom de ton stream dans go2rtc

1 « J'aime »

Super, ça fonctionne merci !

1 « J'aime »