Tuto : Intégrer Frigate, et faire de la reconnaissance video d'objet par IA en local dans son Jeedom

Bonjour à tous
j’essay d’adapter le code pour les notifications pour me faire envoyer le clip aprés le snapshot.
j’ai du mal a savoir quoi modifier.

dans la doc Frigate j’ai trouvé ca

GET /api/events/<id>/clip.mp4
Returns the clip for the event id. Works after the event has ended.

merci pour votre aide

Il faut modifier le $sourceUrl qui récupère un Snapshot par le lien que tu donnes

Ça ne suffira par contre pas. Je transforme le Snapshot en image PNG. Ça n’est plus à faire.
Il faut par contre à mon avis transformer le MP4 pour le réduire. Je ne sais pas comment les notifications vont se comporter avec l’envoi d’une vidéo de plusieurs méga… Il faut donc je pense la réduire

Norbert

a oui c’est compliqué.

je viens d’activer les mask dans ma config mais j’ai toujours l’analyse qui se fait dans la zone MASK

cameras:
  OUEST:
    ffmpeg:
      inputs : 
      - path: rtsp://192.168.1.20:8554/rtsp_OUEST
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect
    motion:
      mask:
        - 0,41,1280,37,1280,237,983,157,0,401
    zones:
      Entrée:
        coordinates: 0,720,1280,720,1280,538,1280,264,940,158,718,260,394,357,0,378
        objects:
          - person

il faut mettre des objets aussi ?
Person
vehicule
animal
???

Mon serveur Frigate à encore planté, a peine 15 jours d’uptime cette fois.
Rien de bien flagrant côté monitoring. charge CPU pas exceptionnel : un pic à 0.95 dans les 3 heures précédent le plantage avec une moyenne au environ de 0.6 (c’est un CPU 6 cores donc charge minime)
température CPU à 30°, mémoire libre à 76% et sawp libre à 99% depuis le matin (avant 100%)
Je comprend pas trop ce qu’il se passe.

que donne dmesg ? tu n’as pas un pb disque ou un pb d’alimentation ?

je me permet de vous reposer la question.
Comment gerer vous les zones a ne pas analyser.
j’ai beau creer un mask, je recois toujours des alertes dans cette zones.
Voici ma confg de ma cam avec le mask

cameras:
  OUEST:
    ffmpeg:
      inputs : 
      - path: rtsp://192.168.1.20:8554/rtsp_OUEST
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect
    motion:
      mask:
        - 0,0,1280,0,1280,265,1088,187,958,169,873,185,725,220,694,341,392,464,390,395,0,512
    zones:
      Entrée:
        coordinates: 0,720,1280,720,1280,538,1280,286,918,169,761,304,391,465,0,495,0,506,0,590
        objects:
          - person

j’ai pourtant bien ma zone en noir

quand ca fait un event, ca ne met pas de zone car hors champs « Entrée »

Attention, meprise …
mask → utilisé pour la détection de mouvement (ce pixel a évolué entre 2 images)
zone → utilisé pour détecter des objets
MAIS
si un mouvement est détecté dans l’image (en dehors du mask, qui lui, est exclu de la détection de mouvement)
Alors, Frigate va ensuite chercher un objet dans toute l’image (ou toute la zone), peu importe ou le mouvement a été détecté et indépendamment du mask

Donc si c’est mal paramétré (et en exagérant le trait), si tu as une feuille qui bouge prêt de ta poubelle → detection d’un mouvement
il va te remonter le voisin assit sur la table au fond → détection d’un objet person

j’ai donc supprimerl e mask et j’ai trouvé ca sur la doc frigate

Restricting zones to specific objects

Sometimes you want to limit a zone to specific object types to have more granular control of when events/snapshots are saved. The following example will limit one zone to person objects and the other to cars.

camera:
  record:
    events:
      required_zones:
        - entire_yard
        - front_yard_street
  snapshots:
    required_zones:
      - entire_yard
      - front_yard_street
  zones:
    entire_yard:
      coordinates: ... (everywhere you want a person)
      objects:
        - person
    front_yard_street:
      coordinates: ... (just the street)
      objects:
        - car

donc j’ai modifié ma conf en disant uniquement sur entrée la detection de personne.

cameras:
  OUEST:
    ffmpeg:
      inputs : 
      - path: rtsp://192.168.1.20:8554/rtsp_OUEST
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect
    record:
     events:
      required_zones:
        - entree
    snapshots:
     required_zones:
      - entree
    zones:
     entree:
      coordinates: 0,720,1280,720,1280,538,1280,286,918,169,761,304,391,465,0,495,0,506,0,590
      objects:
        - person

edit : ca ne fonctionne pas. j’ai toujours des detections dans la zone que je ne veux pas

Qu’as tu dans objets >> tracks que ce soit en paramètre général ou sur ta caméra ?
Est ce que l’objet de détection est person ?

je n’ai pas objet >> tracks.
Voici ma config :

mqtt:
  enabled: true
  user: admin
  password: anthony
  host: 192.168.1.59
  port: 1883


logger:
  default: info
  logs:
    frigate.mqtt: info

birdseye:
  enabled: true
  mode: continuous
  width: 720
  height: 360
  quality: 4

record:
  enabled: true
  retain:
    days: 15
    mode: all
  events:
    pre_capture: 5
    post_capture: 5
    retain:
      default: 30
      mode: active_objects
#      mode : motion

snapshots:
  enabled: true
  clean_copy: true
  timestamp: true
  bounding_box: true
  crop: false
  retain:
    default: 15

detect:
  fps: 30
  width: 1280
  height: 720

go2rtc:
  streams:
    rtsp_OUEST:
    - rtsp://admin:ABCDE12345@192.168.1.65/Streaming/Channels/101
    - ffmpeg:rtsp_OUEST#audio=opus

    rtsp_INTERPHONE:
    - rtsp://admin:ABCDE12345@192.168.1.231/Streaming/Channels/101
    - ffmpeg:rtsp_INTERPHONE#audio=opus
    
    rtsp_EST:
    - rtsp://admin:ABCDE12345@192.168.1.94/Streaming/Channels/101
    - ffmpeg:rtsp_EST#audio=opus

    rtsp_SALON:
    - rtsp://admin:NIHVTP@192.168.1.80/Streaming/Channels/101
    - ffmpeg:rtsp_SALON#audio=opus

cameras:
  OUEST:
    ffmpeg:
      inputs : 
      - path: rtsp://192.168.1.20:8554/rtsp_OUEST
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect
    record:
     events:
      required_zones:
        - entree
    snapshots:
     required_zones:
      - entree
    zones:
     entree:
      coordinates: 0,720,1280,720,1280,538,1280,286,918,169,761,304,391,465,0,495,0,506,0,590
      objects:
        - person
    
    #zones:
     # Entrée:
      #  coordinates: 0,720,1280,720,1280,538,1280,286,918,169,761,304,391,465,0,495,0,506,0,590
       # objects:
        #  - person

  INTERPHONE:
    ffmpeg:
      inputs : 
      - path: rtsp://192.168.1.20:8554/rtsp_INTERPHONE
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect

  EST:
    ffmpeg:
      inputs :
      - path: rtsp://192.168.1.20:8554/rtsp_EST
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect

  SALON:
     ffmpeg:
      inputs : 
      - path: rtsp://192.168.1.20:8554/rtsp_SALON
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect   


Ce qui est bizare c’est que dans la zone de non detection ca detecte que des personnes

Je viens tout juste de découvrir Frigate, qui semble sans limite d’utilisation, et amené à bien évolué :smiling_face_with_three_hearts: je sais que j’ai des tonnes de ressources a retrouvé dans ce fil (qui m’a déjà bien servi pour la mise en place et la remontée Jeedom)

Reste a éplucher la tonne de paramètres disponible pour la config, mais je vais garder ce fil pas loin :slight_smile:

2 « J'aime »

est-ce que tu peux essayer de rajouter ce paramétrage dans ta config camera ?

    detect:
      events:
        required_zones:
          - entree

Norbert

Bonjour à tous

Enorme mise à jour 1.4 Beta1 de frigate ce jour …

Attention, bien lire la doc, cette MAJ n’est pas retro compatible … une fois basculé, vous ne pourrez plus revenir en arrière ET C’EST EN BETA pour l’instant

En cours de test chez moi

Je note :

  • refonte totale de l’UI (PC et smartphone)
  • ajout de la possibilité de mettre un user/pwd à la connexion
  • Paramétrage des zones/mask beaucoup plus performante
  • Possibilité de gérer des events de detection et/ou d’alerte
  • Refonte complete des statisiques system

Norbert

2 « J'aime »

non la config ne marche pas.

Bon, je ne sais pas trop alors !

Alors, ma question va sembler bêtes, mais maintenant que mes caméra sont bien configuré sur Frigate de mon coté, forcément je regarde pour les remonter en MQTT sur Jeedom
je souhaiterais donc intégré le magnifique template comme expliqué dans la doc, mais … comment faire ?

j’ai bien le bouton template (MQTT MAnager), je me clique dessus, mais j’ai un choix limité
j’en déduis que je dois déposé le .json quelque part, mais ou ? j’ai chercher, mais pas trouvé de post sur le sujet …

Les templates sont sur Jmqtt.

ha mince, y’a plus qu’a refaire xD ça me fera la main ^^

2 « J'aime »

Bonjour et merci pour ce tuto.

J’ai un mini PC Nuc8 i5 et j’utilise Portainer/Docker dabs une VM sur Promox.
J’ai monté un Container Frigate dans Portainer et cela fonctionne très bien.
Par contre je n’arrive pas à activer l’accélération matériel ffmpeg :

  • ffmpeg: hwaccel_args: preset-vaapi

J’ai une erreur car la sous couche je suppose n’as pas d’accès au GPU pleinement je suppose.
Apparemment il faudrait partager dans Proxmox « /dev/dri/renderd128 »
J’ai tenté de trouver des tutos sur le net mais il explique la manipulation uniquement pour des container LXC directement dans Proxmox et non pour des VM.
Si quelq’un aurais une solution à me proposer, je suis preneur :wink:

Bonjour à tous,

Je viens la en tant que newbie :slight_smile:

J’ai finalement réussi à faire fonctionner Frigate, difficilement mais c’est bon, je joue un peu avec les paramètres pour y arriver, mais avec toutes les infos sur google je m’en débrouille.
J’ai voulu lier ça en mqtt avec Jeedom, c’est chose faite (je n’utilisais pas mqtt avant aujourd’hui).
L’équipement Serveur et Event est OK, mais impossible de trouver ma caméra, je pense qu’il y a un soucis sur le topic, si quelqu’un peut m’expliquer :wink:

Merci à tous et bonne soirée