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

et j’avais la deuxieme question car je n’arrive pas à avoir l’image sur jeedom

C’est ca le restream?
live:
stream_name: rtsp_salon

Mon code pour le moment

mqtt:
  enabled: true
  user: admin
  password: anthony
  host: 192.168.1.77
  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_EST:
    - rtsp://admin:ABCDE12345@192.168.1.64/Streaming/Channels/101
    - ffmpeg:rtsp_EST#audio=opus
    
    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_GARAGE:
    - rtsp://admin:ABCDE12345@192.168.1.39/Streaming/channels/101
    - ffmpeg:rstp_GARAGE#audio=opus



cameras:
  OUEST:
    ffmpeg:
      inputs : 
      - path: rtsp://127.0.0.1:8554/rtsp_OUEST
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect
    motion:
      mask: "1280,720,1280,277,1056,169,0,385,0,720"
    objects:
      track:
      - person
  GARAGE:
    ffmpeg:
      inputs : 
      - path: rtsp://127.0.0.1:8554/rtsp_GARAGE
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect
  INTERPHONE:
    ffmpeg:
      inputs : 
      - path: rtsp://127.0.0.1:8554/rtsp_INTERPHONE
        input_args: preset-rtsp-restream
        roles:
        - record
        - detect
  EST:
      ffmpeg:
        inputs :
        - path : rtsp://127.0.0.1:8554/rtsp_EST
          input_args: preset-rtsp-restream
          roles:
          - record
          - detect
    


      ```

Non, le restream, c’ets tout ce que tu as sous go2rtc
Concretement, tu paramètres toutes tes caméras et tous les flux de tes caméras (principal et sub) et ensuite, tu n’as plus à toucher ceci; TOUS LES FLUX SONT ACCESSIBLE VIA LE LIEN

rstp://<@IP frigate>:8554/<nom du stream>

l’IP Frigate sera 127.0.0.1 dans ton fichier de conf frigate ou l’adresse IP local ou externe de ton serveur si tu souhaites y acceder de ton reseau ou de l’exterieur (moyennant du NAT sur ta box)
Frigate se comporte donc comme un routeur de flux video.
Tu changes ta camera pour un autre modele, tu as juste à modifier dans la section go2rtc

le snapshot (lien API) necessite l’ouverture d’un port sur le docker (d’ailleurs, c’ets par defaut le port 5000 et pas 55000 (c’est ca chez moi mais je fais en plus du tunnel VPN pour acceder à mon flux sur un autre reseau) !!!
du coup :
1 - il faut que dans ton docker compose, tu aies à minima ces 2 lignes :

    ports:
      - "5000:5000" # API access
      - "8554:8554" # RTSP feeds

2 - que dans ton equipement camera sur jeedom, tu mettes le port 5000 et pas 55000

Avant d’aller sur Jeedom, essaye déjà avec l’(adresse si dessous dans ton navigateur

http://<@IP frigate>:5000/api/OUEST/latest.jpg

Norbert

1 « J'aime »

si je fais ca j’ai bien l’imahe dans mon navigateur.

j’ai rajouter dans mon docker compose les ports.

mon docker compose

arch: amd64
cores: 4
hostname: Frigate
memory: 8000
net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=02:63:1B:31:72:A3,ip=dhcp,ip6=auto,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-300-disk-0,size=550G
swap: 1024
lxc.cgroup.devices.allow: c 226:0 rwm
lxc.cgroup.devices.allow: c 226:128 rwm
lxc.cgroup.devices.allow: c 29:0 rwm
lxc.cgroup.devices.allow: c 189:* rwm
lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file 0, 0
lxc.mount.entry: /dev/bus/usb/002/ dev/bus/usb/002/ none bind,optional,create=dir 0, 0
lxc.cap.drop:
ports:
- "5000:5000" # API access
- "8554:8554" # RTSP feeds

les log du plugin camera

0637|[2024-01-08 22:11:57]DEBUG : nohup /var/www/html/plugins/camera/core/ajax/../../3rdparty/rtsp-to-hls.sh rtsp://127.0.0.1:8554/rtsp_OUEST "RK1wp7DabyRT7uyuqFbPxstOZVPEB5I5J2jVQl98WyTmrHHTY1HgwFFWXvEVScMt" > /dev/null 2>&1 &
0638|[2024-01-08 22:13:00]DEBUG : nohup /var/www/html/plugins/camera/core/ajax/../../3rdparty/rtsp-to-hls.sh rtsp://127.0.0.1:8554/rtsp_OUEST "RK1wp7DabyRT7uyuqFbPxstOZVPEB5I5J2jVQl98WyTmrHHTY1HgwFFWXvEVScMt" > /dev/null 2>&1 &
0639|[2024-01-08 22:13:06]DEBUG : Erreur sur [test 3][Test cam OUEST] : Failed to connect to 127.0.0.1 port 5000: Connection refused
0640|[2024-01-08 22:15:19]DEBUG : Erreur sur [test 3][Test cam OUEST] : Could not resolve host: 127..0.0.1
0641|[2024-01-08 22:15:38]DEBUG : Erreur sur [test 3][Test cam OUEST] : Failed to connect to 127.0.0.1 port 5000: Connection refused
0642|[2024-01-08 22:15:50]DEBUG : Erreur sur [test 3][Test cam OUEST] : Failed to connect to 127.0.0.1 port 5000: Connection refused
0643|[2024-01-08 22:16:01]DEBUG : Erreur sur [test 3][Test cam OUEST] : Failed to connect to 127.0.0.1 port 5000: Connection refused
0644|[2024-01-08 22:18:00]DEBUG : Erreur sur [test 3][Test cam OUEST] : Failed to connect to 127.0.0.1 port 5000: Connection refused

j’ai trouver
de mon coté il faut que je remplace 127.0.0.1 par l’ip de frigate.

Je met la copie d’écran au casou si quelqu’un a le meme probleme que moi

J’ai été utilisateur de ZoneMinder pendant environ 8 ans, j’étais très satisfait, robuste, fiable, et avec zmNinja c’était parfait. Mais, pour l’utilisation que j’ai (6 caméras, utilisation perso), Frigate est tellement plus cool à utiliser. Interface web épurée, et le concept de routage des flux vidéo, avec reconnaissance par IA (j’ai acheté un Google Coral USB d’ailleurs pour aider, pas obligatoire), et agit comme client des caméras et comme serveur RTSP par exemple. Bref, c’est hyper bien codé, et encore plus robuste et fiable que ZoneMinder. En grso, j’ai fait l’investissement en temps pour tout migrer mais je ne regrette absolument pas, c’est un superbe outil. Je recommande.

3 « J'aime »

Bonjour,
Merci pour ce partage.

Est-ce quelqu’un pourrait partager son scenario de notification ? j’ai un peu de mal a faire le tri entre les vraies notifs de détection et sur la méthode de récupération du snapshot…

D’avance, merci

Tu as le bloc code dans le premier post tout à la fin
declencheur, la commande events de l’equipement event :

Norbert

Merci, j’avais lu en diagonale visiblement, et j’avais essayé de récupérer l’image par l’api au lieu de prendre celle du message mqtt. Mais ta méthode est plus efficace et ça m’a permis de faire mon premier scénario en bloc code ! J’en ai profité pour passer de la dernière version stable à la version 0.13.0 rc1. Ça bouffe plus de CPU, mais elle fonctionne mieux je trouve.
Sino, est-ce que ça vaut le coup d’investir dans un Google Coral ? La détection est-elle meilleure ou c’est juste pour un gain de de cpu ?
Merci pour vous retours !

Bonjour,

je suie en cours de finalisation de mon installation (j’étais sous ZM avant).
Merci, ca a l’air très puissant et bien plus fiable que la detection de ZM.

Je galère un peu avec la création des équipements sous jmqtt. Serait-il possible, SVP, d’avoir quelques copies d’écran des pages de configuration des équipements (en particulier, on met quoi comme topic ?)

Merci
Nou

As-tu réussi à importer les templates ?

Oui, sans aucun doute … de mon coté, depuis que j’ai un coral, j’analyse 5 frames /s (mon paramétrage) sur 4 caméras, la ou j’étais péniblement à 1 frame/s sans. Du coup, la gestion des mvts ou des objets stationnaires est bien plus précise.

Norbert

POur les cameras, le format est

frigate/<camera>/#

pour les events et le serveur

frigate/#

Plus d’infos là : MQTT | Frigate

Norbert

2 « J'aime »

Super merci

(Concernant les templates, oui ils ont été importés)

Salut à tous,

J’essaie d’installer figate sur docker. Bon je me mélange les pinceaux.
J’ai un nuc qui me sert pas à grand chose , et je me suis dit pourquoi pas essaye Docker et Frigate.
Avez vous un bon tuto pour faire cela ? Vous avez installe Ubuntu ou autre pour y arriver ?
Merci

Du coup, quel est le PB? Frigate ou docker
Pour ma part, ne connaissant pas docker, j’install portainer et je gère les docker via l’interface web
Tu crées une stack et tu impotes le docker compose de frigate (avec les bons paramètres) et c’est tout

Norbert

Bonjour,

Comme Jeedom est sur Debian, je suis parti sur une base Debian aussi pour le serveur Docker.

Voici ce que j’ai fait, tu prends ce que tu veux dedans :slight_smile:
Cela dépendra de ton niveau, de ton envie d’apprendre, de ton temps…

Docker n’est pas évident au début mais devient très puissant à la fin.

J’ai reçut mon EdgeTPU format M.2 A+E (commandé chez Mouser : 26.37€ + TVA + 20€ fdp)
Installation des drivers finalement pas trop compliquée en suivant les instructions du site.
Du coup j’ai migré définitivement ma vidéosurveillance sous Frigate.
La config demande à être optimisée mais ça tourne (inférence à 7.6ms alors que je fais la détection sur une caméra 4k et sur une HD)
J’en ai aussi profité pour mettre le docker sur le port 80 comme ça c’est accessible directement avec l’adresse IP du serveur (plus besoin d’ajouter le port ou /zm à la fin, c’est peut être un détail mais rien que pour ça je suis content d’avoir migré)

2 « J'aime »

Tu as aussi fait une integration Jeedom ?

Non et je ne sais pas si je le ferrais.
Je ne suis pas trop (pas du tout en fait…) MQTT, je fais une allergie à ce protocole. Et j’ai pas encore regardé côté API s’il y a quelque chose en http.

Après quelques jours à jouer avec les zones et les masques, je commence à avoir quelque chose d’assez fonctionnel (J’utilise la RC1). Mais j’observe un phénomène assez bizarre et je me demande si vous rencontrez la même chose: J’ai des notifs envoyées en MQTT vers jeedom pour des événements qui sont pour moi des faux positifs car ils ne sont pas dans la zone scrutée. Or, ces événements n’apparaissent pas dans la section « event » de l’interface de frigate.

Ça vous fait pareil ?