L'enfer Frigate

@Vincha Ok c’était plus hardware. Je comprends mieux. Ravis que ça ai pu t’aider.

@MaC_ToC Alors plutôt la qualité de la vidéo de nuit qui pose problème ? Perso je n’ai pas rencontré de fausse détection jusqu’à maintenant hors celles que citées plus haut. Ton flux pour la détection est en combien ? J’ai souvenir que beaucoup de tuto disent de la limiter, perso j’ai tout en laissé en 1280720 ou 1280960, comme ça encaisse, pas de raison de baisser.

@Babidi oui ce qui ne marche pas c’est la nuit je ne sais pas pourquoi.
J’ai une cam 4k mais c’est vrais que je met la detection sur le flux en 640x360 comme indiqué dans la doc.
Je viens de changé pour voir mais je l’avais déjà fait.

Pour info mon fongig.yml :

mqtt:
  enabled: true
  host: 192.168.x.xxx
  port: xxxx
  topic_prefix: cameras
  client_id: frigate
  user: xxxx
  password: xxxx

detectors:
  coral:
    type: edgetpu
    device: pci

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

snapshots:
  enabled: true
  clean_copy: True
  timestamp: false
  bounding_box: True
  crop: False
  retain:
    default: 30
    objects:
      person: 30

record:
  enabled: true
  expire_interval: 60
  retain:
    days: 1
  events:
    pre_capture: 5
    post_capture: 5
    objects:
    - person
    retain:
      default: 3
      mode: active_objects
      objects:
        person: 3

cameras:
  Rue:
    ffmpeg:
      inputs:
      - path: rtsp://127.0.0.1:8554/Rue
        input_args: preset-rtsp-restream  
        roles:
        - detect
        - record

    motion:
      improve_contrast: false
      threshold: 5 
      contour_area: 10 
      mask:
      - 0,0,2302,0,2290,96,1816,351,1864,453,1516,738,1684,993,1456,1353,1309,1410,1108,1663,1264,1764,1045,2160,0,2139
    detect:
      enabled: true 
      fps: 24      
    objects:
      track:
      - person
#      - dog
      filters:
        person:
#          min_area: 5000
#          max_area: 100000
          min_score: 0.5
          threshold: 0.7 

  Salon:
    ffmpeg:
      inputs:
      - path: rtsp://127.0.0.1:8554/Salon
        input_args: preset-rtsp-restream   
        - record
      - path: rtsp://127.0.0.1:8554/Salon_low
        input_args: preset-rtsp-restream   
        roles:
        - detect

  Entree:
    ffmpeg:
      inputs:
      - path: rtsp://127.0.0.1:8554/Entree
        input_args: preset-rtsp-restream
        roles:
        - record
      - path: rtsp://127.0.0.1:8554/Entree_low
        input_args: preset-rtsp-restream
        roles:
        - detect
    detect:
      enabled: true
      fps: 5

    objects:
      track:
      - person
      filters:
        person:
          min_score: 0.5
          threshold: 0.6

#  Garage:
#    ffmpeg:
#      inputs:
#      - path: rtsp://127.0.0.1:8554/Garage
#        input_args: preset-rtsp-restream   # <--- the name here must match the name of the camera in restream
#        roles:
#        - record
#      - path: rtsp://127.0.0.1:8554/Garage_low
#        input_args: preset-rtsp-restream   # <--- the name here must match the name of the camera in restream
#        roles:
#        - detect
#    detect:
#     enabled: true
#      fps: 5 #Recommended value of 5. Ideally, try and reduce your FPS on the camera.

#    objects:
#        track:
#      - person
#        - dog
#        - cat
#        - bird
#        - mouse
#      filters:
#        person:
#          # Optional: minimum score for the object to initiate tracking (default: shown below)
#          min_score: 0.5
#          # Optional: minimum decimal percentage for tracked object's computed score to be considered a true positive (default: shown below)
#          threshold: 0.6

go2rtc:
  streams:
    Rue:
    - rtsp://xxxx:xxxx@192.168.0.103:554/h264Preview_01_main
    Rue_low:
    - rtsp://xxxx:xxxx@192.168.0.103:554/h264Preview_01_sub
    Salon:
    - rtsp://xxxx:xxxx@192.168.0.105:554/h264Preview_01_main
    Salon_low:
    - rtsp://xxxx:xxxx@192.168.0.105:554/h264Preview_01_sub
    Entree:
    - rtsp://xxxx:xxxxx@192.168.0.102:554/h264Preview_01_main
    Garage:
    - rtsp://xxxx:xxxxx@192.168.0.104:554/live/ch0
    Garage_low:
    - rtsp://xxxx:xxxx@192.168.0.104:554/live/ch1
    Entree_low:
    - rtsp://xxxx:xxxx@192.168.0.102:554/h264Preview_01_sub

  webrtc:
    candidates:
    - 192.168.0.241:8555

D’ailleur à ce propos je lit que Frigate prend le onvif mais j’aipas réussi à l’utiliser…

Affaire à suivre :slight_smile:

Sinon, question un peu naive. Quel intéret de go2rtc et webrtc ?

go2rtc est utile lorsque ta caméra n’accepte qu’une connexion à la fois, go2rtc va jouer le role de proxy; il se connecte au flux cam et redistribue le flux à autant de clients que tu souhaites. En tous cas c’est comme cela que je l’ai compris

Ok, bon bah c’est mis en place. je préfère qu’il n’y ai qu’une connexion à la cam.

Pour info,
je suis passé par les même montagnes russes.
Au final je trouve que c’est un super programme, qui gagnerait à être mieux documenté.
Dans l’attente de ce moment (qui ne viendra peut-être jamais), je viens de même en ligne un essai de tuto pas à pas…
installation-frigate-en-docker-sur-un-container-lxc-proxmox

4 « J'aime »

@Vincha et @Babidi

Je ne crois pas que Go2rtc soit fait totalement pour ca. Je crois qu’il est utilisé surtout pour réduire la latence entre la cam et frigate de manière à avoir une image presque en direct. Sans le decalage de 2 3 sec.

En tout cas c’est ce qui est mis en avant sur le github.

- zero-dependency and zero-config small app for all OS (Windows, macOS, Linux, ARM)
- zero-delay for many supported protocols (lowest possible streaming latency)
- streaming from RTSP, RTMP, DVRIP, HTTP (FLV/MJPEG/JPEG/TS), USB Cameras and other sources
- streaming from any sources, supported by FFmpeg
- streaming to RTSP, WebRTC, MSE/MP4, HomeKit HLS or MJPEG
- publish any source to popular streaming services (YouTube, Telegram, etc.)
- first project in the World with support streaming from HomeKit Cameras
- support H265 for WebRTC in browser (Safari only, read more)
- on the fly transcoding for unsupported codecs via FFmpeg
- play audio files and live streams on some cameras with speaker
- multi-source 2-way codecs negotiation
- mixing tracks from different sources to single stream
- auto match client supported codecs
- 2-way audio for some cameras
- streaming from private networks via ngrok
- can be integrated to any smart home platform or be used as standalone app
3 « J'aime »

@vdelab super ton tuto et trés complet.
Mais ( il y en a tjrs un ), ce n’est pas contre toi, ce ne sont que des tuto pour coral usb et pas pci. ca ca manque

1 « J'aime »

@vdelab je rejoins @MaC_ToC :+1:

super tuto, je n’avais pas osé m’engager sur ce chemin car Frigate est tellement complexe a configurer en fonction des marques et types de caméras que je me suis dit documenter ça, c’est le taf de toute une vie.

Hello !
Merci à vous et je dirais en substance que les tutos sur la mise en œuvre d’OpenVino manquent pas mal aussi…Je n’ai pas encore osé franchir le pas alors qu’il parait que c’est « comme » avoir un Coral… et trop facile à installer…mais comment le faire bien si on a Proxmox8 sur un I5-9500T et qu’on est pas trop à l’aise avec Linux?
Mais bon, à ne pas prendre comme un coup de gueule mais comme une grosse attente de ma part et je pense ne pas être le seul…bon We à toutes & tous!

@Vincha Pour info, 2 plantage depuis que j’ai mis Go2rtc. Proc 100 %, après avec Proxmox ça limite à 50% et je peux reboot la lxc.
Je retourne en arrière et n’utilise plus le module. Il doit il y avoir un problème pour l’instant et pas le temps de chercher.

on va devoir regarder ça de plus près car j’utilise go2rtc depuis le début ( presque 3 ans ) avec 4 CAM dont une qui n’est aps toujours online et aucun probleme. j’ai donné 4 CPU et 3GB de ram au container et il se porte tres bien. pour rappel j’ai le meme HW que toi un R7 5700U. Depuis que j’ai spotté la difference de DIMMS et que j’ai remplacé, plus aucun problèmes

Pas trop le temps de m’en occuper. Au moins je test si ça vient pas du module. ça a tourné 2 semaine sans problème et la 2 plantage coup sur coup après config Go2rtc.

1 « J'aime »

Depuis que je suis passé sur une VM je ne captequasiment plus rien…

J’ai 3 façons de détecter :
Frigate
Par la cam qui enegistre en ftp
Par Surveillance station de synology

Et bien le meilleur c’est …

Aucun … (petite avance pour surveillance station). J’ai plus de faux positif mais plein de ratés.
Heureusement que Sureillance station enregistre en permanance…

La cam en ftp et frigate la nuit rien à faire pas de détection de mouvement …

Fanchement je ne sais plus quoi penser…

Et avant ça fonctionnait bien et cela sans rien changer à ta config ? c’est étrange ça. je ne vois pas pourquoi ce serait moins efficace dans une VM. j’avoue qu’habitant dans un quartier composé principalement de culs-de-sacs le passage est principalement lié aux gens du quartier, je n’ai pratiquement aucunes détections la nuit. je vais activer la détection de chats pour voir car ça ici, on en a une tripotée :smiley:

Vraiment bizarre. Aucun soucis de détection la nuit … personne ou chat…
image

Tu as des filtres sur tes caméras ? genre anti-flicker ?

Salut,
c’est vrai que comme c’est pas ma conf, je n’ai rien mis là dessus. Par contre, pendant mes recherches j’étais tombé sur pas mal de trucs aussi sur le TPU en PCI. Si tu veux, je peux essayer de les re-collecter et les synthétiser.
L’essentiel est surtout au niveau de la conf du LXC et du docker, car ensuite Frigate ne fera que détecter le lien vers le TPU, s’il existe.
Mais comme je n’aurai rien pour tester, pas sûr que j’aboutisse à une suite d’instructions qui marche.

De ton coté, est ce que tu es parvenu à le faire marcher finalement?
Au démarrage de frigate, tu vois bien un message du genre « TPU detected » ?

Si tu es à l’aise avec l’anglais, il y a pas mal de chose sur les install PCI dans :
Discussion Frigate on LXC

Merci pour ta réponse,
J’ai deja bien oeuvré au niveau LXC je réussis à monter mon coral pci dessu mais frigate ne le reconnait pas.

C’est gentil de m’aider.

Pour le moment mon frigate n’est pas fonctionnel je ne comprend pas pourquoi. Je lis et relis la doc et je suis tombé la dessus :

En lisant je trouve ca interessant mais je ne suis pas arrivé à totalement le mettre ne place. J’ai une error que je ne comprend pas.

Frigate c’est un LXC où tourne Docker c’est bien ça ? Tu peux nous indiquer ce que tu passes comme paramètre concernant le device ? J’ai aussi un Coral en PCI-E, j’ai réussi à le configurer sur deux environnement différents, donc c’est fonctionnel sur un LXC (Alpine) où Docker tourne.

Je partage mon docker compose pour mon Frigate:

version: "3.9"
services:
  frigate:
    container_name: frigate
    privileged: true # this may not be necessary for all setups
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:stable
    shm_size: "64mb" # update for your cameras based on calculation above
    devices:
      - /dev/apex_0:/dev/apex_0 # passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
    volumes:
      - ./:/config/
      - nfs-frigate:/media/frigate
      - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "5000:5000"
      - "8554:8554" # RTSP feeds
      - "8555:8555/tcp" # WebRTC over tcp
      - "8555:8555/udp" # WebRTC over udp
    environment:
      - TZ=Europe/Paris
      - FRIGATE_RTSP_PASSWORD="xxxxxxxxxxxxxxxxxxxxxx"
volumes:  ## Définition des volumes déclarés ci-dessus
  nfs-frigate: ## Le nom de mon volume en montage NFS
    driver: local
    driver_opts: ## Définition des options du montage
      type: nfs ## Choix du type de montage
      o: addr=xxx.xxx.xxx.xxx,nolock,soft,rw ## Indication de l'adresse IP du stockage et des options d'accès
      device: :/volume1/homeassistant/frigate  ## Indication du chemin du montage sur le stockage
1 « J'aime »

J’ai la même config sous docker et malgré tout frigate ne trouve pas le coral alors que sous debian ( dans le lxc) il apparait bien.