Aide à la configuration de Frigate et de la carte `Frigate Lovelace Card` pour une caméra Reolink RLC-510A avec Home Assistant

Bonjour,

J’édite mon sujet ci-présent, car la situation à évoluée.
J’ai réussi à avoir un flux stable de ma caméra Reolink RLC-510A.

J’ai masqué l’ancien message, que je vais mettre dans le message suivant.


Donc, j’ai enfin un flux constant, et qui semble stable.

Voilà mon fichier de configuration :

mqtt:
  enabled: false

# Optional: Authentication configuration
auth:
  # Optional: Enable authentication
  enabled: true
  # Optional: Reset the admin user password on startup (default: shown below)
  # New password is printed in the logs
  reset_admin_password: false
  # Optional: Cookie to store the JWT token for native auth (default: shown below)
  #cookie_name: "frigate_token"
  # Optional: Set secure flag on cookie. (default: False)
  # NOTE: This should be set to True if you are using TLS
  cookie_secure: true
  # Optional: Session length in seconds (default: shown below)
  session_length: 86400 # 24 hours
  # Optional: Refresh time in seconds (default: shown below)
  # When the session is going to expire in less time than this setting,
  # it will be refreshed back to the session_length.
  refresh_time: 43200 # 12 hours
  # Optional: Rate limiting for login failures to help prevent brute force
  # login attacks (default: None)
  # See the docs for more information on valid values
  failed_login_rate_limit: 1/second;5/minute;20/hour
  # Optional: Trusted proxies for determining IP address to rate limit
  # NOTE: This is only used for rate limiting login attempts and does not bypass
  # authentication. See the authentication docs for more details.
  trusted_proxies:
    - 172.18.0.0/16 # <---- this is the subnet for the internal docker compose network
    - 192.168.2.141/32   # <---- SWAG Reverse Proxy
  # Optional: Number of hashing iterations for user passwords
  # As of Feb 2023, OWASP recommends 600000 iterations for PBKDF2-SHA256
  # NOTE: changing this value will not automatically update password hashes, you
  #       will need to change each user password for it to apply
  hash_iterations: 600000


ffmpeg:
  global_args: -hide_banner -loglevel warning
  hwaccel_args: preset-vaapi
  output_args:
    record: preset-record-generic-audio-copy

detectors:
  coral:
    type: edgetpu
    device: usb

review:
  alerts:
    labels:
      - car
      - cat
      - dog
      - person
      - speech
  detections:
    labels:
      - car
      - person
      - cat

motion:
  # Optional: The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion. (default: shown below)
  # Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive.
  # The value should be between 1 and 255.
  threshold: 30

  # Optional: Minimum size in pixels in the resized motion image that counts as motion (default: shown below)
  # Increasing this value will prevent smaller areas of motion from being detected. Decreasing will
  # make motion detection more sensitive to smaller moving objects.
  # As a rule of thumb:
  #  - 10 - high sensitivity
  #  - 30 - medium sensitivity
  #  - 50 - low sensitivity
  contour_area: 10

  # Optional: The percentage of the image used to detect lightning or other substantial changes where motion detection
  #           needs to recalibrate. (default: shown below)
  # Increasing this value will make motion detection more likely to consider lightning or ir mode changes as valid motion.
  # Decreasing this value will make motion detection more likely to ignore large amounts of motion such as a person approaching
  # a doorbell camera.
  lightning_threshold: 0.8

# Optional: Detect configuration
# NOTE: Can be overridden at the camera level
detect:
  # Optional: width of the frame for the input with the detect role (default: use native stream resolution)
  # width: 1280
  # Optional: height of the frame for the input with the detect role (default: use native stream resolution)
  # height: 720
  # Optional: desired fps for your camera for the input with the detect role (default: shown below)
  # NOTE: Recommended value of 5. Ideally, try and reduce your FPS on the camera.
  fps: 15
  # Optional: enables detection for the camera (default: True)
  enabled: true

# Optional: Object configuration
# NOTE: Can be overridden at the camera level
objects:
  # Optional: list of objects to track from labelmap.txt (default: shown below)
  track:
    - person
    - cat
  # Optional: filters to reduce false positives for specific object types
  filters:
    person:
      # Optional: minimum width*height of the bounding box for the detected object (default: 0)
      min_area: 5000
      # Optional: maximum width*height of the bounding box for the detected object (default: 24000000)
      max_area: 100000
      # Optional: minimum width/height of the bounding box for the detected object (default: 0)
      min_ratio: 0.5
      # Optional: maximum width/height of the bounding box for the detected object (default: 24000000)
      max_ratio: 2.0
      # 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.7

go2rtc:
  streams:
    Camera_Salon_RLC-510A:
      # - "ffmpeg:http://192.168.2.163/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus"
      # Autre méthode :
      - rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/Preview_01_main
      - ffmpeg:Camera_Salon_RLC-510A#audio=opus       # <- copy of the stream which transcodes audio to the missing codec (usually will be opus)
      # - rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}
    Camera_Salon_RLC-510A_sub:
      # - "ffmpeg:http://192.168.2.163/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus"
      # Autre méthode :
      - rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/Preview_01_sub
      - ffmpeg:Camera_Salon_RLC-510A#audio=opus       # <- copy of the stream which transcodes audio to the missing codec (usually will be opus)
      # - rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}

cameras:
  Camera_Salon_RLC-510A:
    enabled: true
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        # - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/
        - path: rtsp://127.0.0.1:8554/Camera_Salon_RLC-510A           # <--- the name here must match the name of the camera in restream
        # - path: "rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}  input_args: preset-rtsp-restream"
          input_args: preset-rtsp-restream
          roles:
            - record
            - audio    # <- only necessary if audio detection is enabled
            - detect
        # - path: rtsp://127.0.0.1:8554/Camera_Salon_RLC-510A_sub           # <--- the name here must match the name of the camera in restream
        # # - path: "rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}  input_args: preset-rtsp-restream"
        #   input_args: preset-rtsp-restream
        #   roles:
        #     - detect
    detect:
      enabled: true        # <---- disable detection until you have a working camera feed
      width: 2560           # 640 <---- update for your camera's resolution
      height: 1920          # 480 <---- update for your camera's resolution

    record:                 # <----- Enable recording
      enabled: true
    snapshots:
      enabled: true


    motion:
      mask:
        - 0.154,0.451,0.147,0.587,0.305,0.59,0.312,0.461
        - 0.044,0.221,0,0,1,0,1,0.289,0.949,0.288,0.983,0.333,0.981,0.398,0.931,0.393,0.879,0.367,0.773,0.359,0.763,0.373,0.678,0.369,0.641,0.34
      threshold: 30
      contour_area: 10
      improve_contrast: 'true'
    zones:
      Salon_Cuisine:
        coordinates: 
          0,0.012,0,0.619,0,1,1,1,0.998,0.297,0.951,0.291,0.985,0.33,0.984,0.403,0.931,0.397,0.877,0.37,0.775,0.363,0.762,0.374,0.679,0.371,0.642,0.344,0.043,0.226
        inertia: 3
        loitering_time: 0
record:
  enabled: true
  retain:
    days: 4   # <- number of days to keep continuous recordings -- mettre 0 pour purger
    mode: all
  events:
    retain:
      default: 15   # <- number of days to keep event recordings -- mettre 0 pour purger
      mode: motion
    pre_capture: 2
    post_capture: 5

snapshots:
  # Optional: Enable writing jpg snapshot to /media/frigate/clips (default: shown below)
  enabled: True
  # Optional: save a clean PNG copy of the snapshot image (default: shown below)
  clean_copy: True
  # Optional: print a timestamp on the snapshots (default: shown below)
  timestamp: False
  # Optional: draw bounding box on the snapshots (default: shown below)
  bounding_box: True
  # Optional: crop the snapshot (default: shown below)
  crop: False
  # Optional: height to resize the snapshot to (default: original size)
  height: 175
  # Optional: Restrict snapshots to objects that entered any of the listed zones (default: no required zones)
  required_zones: []
  # Optional: Camera override for retention settings (default: global values)
  retain:
    # Required: Default retention days (default: shown below)
    default: 10
    # Optional: Per object retention days
    objects:
      person: 15
  # Optional: quality of the encoded jpeg, 0-100 (default: shown below)
  quality: 100
  
# Optional
ui:
  # Optional: Set a timezone to use in the UI (default: use browser local time)
  # timezone: America/Denver
  # Optional: Set the time format used.
  # Options are browser, 12hour, or 24hour (default: browser)
  time_format: 24hour
  # Optional: Set the date style for a specified length.
  # Options are: full, long, medium, short
  # Examples:
  #    short: 2/11/23
  #    medium: Feb 11, 2023
  #    full: Saturday, February 11, 2023
  # (default: short).
  date_style: short
  # Optional: Set the time style for a specified length.
  # Options are: full, long, medium, short
  # Examples:
  #    short: 8:14 PM
  #    medium: 8:15:22 PM
  #    full: 8:15:22 PM Mountain Standard Time
  # (default: medium).
  time_style: medium
  # Optional: Ability to manually override the date / time styling to use strftime format
  # https://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html
  # possible values are shown above (default: not set)
  strftime_fmt: '%d/%m/%Y/ %H:%M:%S'

# Optional: Telemetry configuration
telemetry:
  # Optional: Enabled network interfaces for bandwidth stats monitoring (default: empty list, let nethogs search all)
  network_interfaces: []
  # Optional: Configure system stats
  stats:
    # Enable AMD GPU stats (default: shown below)
    amd_gpu_stats: false
    # Enable Intel GPU stats (default: shown below)
    intel_gpu_stats: true
    # Enable network bandwidth stats monitoring for camera ffmpeg processes, go2rtc, and object detectors. (default: shown below)
    # NOTE: The container must either be privileged or have cap_net_admin, cap_net_raw capabilities enabled.
    network_bandwidth: false
  # Optional: Enable the latest version outbound check (default: shown below)
  # NOTE: If you use the HomeAssistant integration, disabling this will prevent it from reporting new versions
  version_check: true

version: 0.14

J’ai essayé de configurer diverses choses via le fichier de configuration.

J’ai des alertes, mais pas de détections…

Je crois qu’il me manque des explications sur certains concepts aussi.
Qu’est-ce qui me permettrais d’avoir des détections ?
À quoi sert l’onglet « Motion » ?

Pensez-vous pertinent d’avoir définie les masques/zones ainsi ?
Je ne veux pas de détection sur la TV, ni les ombres au plafond qui bougent avec la lumière…

J’ai créé une Zone Salon_Cuisine, mais je ne suis pas sûr que ce soit utile…

Aussi, que sont les « Object Masks » ?

Mon idée, est de repérer les mouvements de personnes et de mon chat quand je ne suis pas chez moi.
Cependant, je ne voudrais recevoir des alertes dans HA que pour des personnes (intrus) quand je ne suis pas chez moi.
Le chat fait sa vie, il bouge, mais je ne veux pas avoir de notifications sur lui, mais je veux quand même via frigate voir où il est allé (surtout quand on part plus d’une journée).

Et bien sûr, vient maintenant la question de comment je peux intégrer ça dans Home Assistant ?
Car mon installation de Frigate est faite dans un conteneur LXC avec Docker, pour permettre un partage des ressources avec d’autres conteneurs Docker dans le futur, comme l’iGPU, le Google Coral USB…).

J’ai pu voir certains utiliser Frigate directement dans HA, mais ce n’est pas mon cas.

Merci d’avance pour votre aide :slight_smile:

Ancienne version du sujet d'origine

Situation

J’ai récemment pu acquérir un Google Coral USB, et j’en ai profité pour enfin mettre en place un conteneur Frigate (docker).
J’ai maintenant mon conteneur Frigate qui est bien lancé, j’ai passé le EdgeTPU et l’iGPU à sa création.

Après avoir passé plusieurs heures (avec pauses) à essayer/chercher/galérer pour trouver une url de flux fonctionnel pour la RLC-510A, j’ai enfin quelque chose qui fonctionne bien, avec une assez bonne netteté, j’ai pu répliquer la configuration pour les 3 autres caméras.

Note :
Sur mes 4 caméras, j’ai forcément un utilisateur admin, et un autre utilisateur simple que j’utilisais pour accéder aux caméras sur un autre appareil que le mien.
J’ai donc voulu créer un nouvel utilisateur pour Firgate, avec son mot de passe. Mais… rien à faire, le flux ne passait pas, j’avias sans cesse l’erreur « 403 unauthorised »…
Bref, je me suis rabattu sur le premier utilisateur simple.

Et comme mes caméras sont limitées à 2 flux HD, j’ai opté pour réduire les connexions aux caméras en suivant ce qui est dit dans le doc officielle : Reduce Connections To Camera

Mon fichier de configuration frigate

config.yaml
mqtt:
  enabled: false

ffmpeg:
  global_args: -hide_banner -loglevel warning
  hwaccel_args: preset-vaapi
  output_args:
    record: preset-record-generic-audio-copy

detectors:
  coral:
    type: edgetpu
    device: usb

#Global Object Settings
objects:
  track:
    - person
  filters:
    person:
      min_area: 5000
      max_area: 100000

      
go2rtc:
  streams:
    Camera_Salon_RLC-510A:
      - "ffmpeg:http://192.168.2.163/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus"
      # Autre méthode :
      #- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/
      #- "ffmpeg:name_your_rtsp_cam#audio=opus" # <- copy of the stream which transcodes audio to the missing codec (usually will be opus)
    Camera_Terrasse_RLC-520:
      - "ffmpeg:http://192.168.2.161/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus"
    Camera_Jardin_RLC-520:
      - "ffmpeg:http://192.168.2.162/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus"
    Camera_Garage_RLC-420-5MP:
      - "ffmpeg:http://192.168.2.160/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus"

cameras:
  Camera_Salon_RLC-510A:
    enabled: True
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        # - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/
        - path: rtsp://127.0.0.1:8554/Camera_Salon_RLC-510A           # <--- the name here must match the name of the camera in restream
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect
            - audio         # <- only necessary if audio detection is enabled
    detect:
      enabled: False        # <---- disable detection until you have a working camera feed
    record:                 # <----- Enable recording
      enabled: False

  Camera_Terrasse_RLC-520:
    enabled: True
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        # - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.161:554/
        - path: rtsp://127.0.0.1:8554/Camera_Terrasse_RLC-520         # <--- the name here must match the name of the camera in restream
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect
            - audio         # <- only necessary if audio detection is enabled
    detect:
      enabled: False        # <---- disable detection until you have a working camera feed
    record:                 # <----- Enable recording
      enabled: False


  Camera_Jardin_RLC-520:
    enabled: True
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        # - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.162:554/
        - path: rtsp://127.0.0.1:8554/Camera_Jardin_RLC-520         # <--- the name here must match the name of the camera in restream
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect
            - audio         # <- only necessary if audio detection is enabled
    detect:
      enabled: False        # <---- disable detection until you have a working camera feed
    record:                 # <----- Enable recording
      enabled: False
  
  Camera_Garage_RLC-420-5MP:
    enabled: True
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        # - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.162:554/
        - path: rtsp://127.0.0.1:8554/Camera_Garage_RLC-420-5MP         # <--- the name here must match the name of the camera in restream
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect
            - audio         # <- only necessary if audio detection is enabled
    detect:
      enabled: False        # <---- disable detection until you have a working camera feed
    record:                 # <----- Enable recording
      enabled: False


record:
  enabled: True
  retain:
    days: 3
    mode: motion
#  events:
#    retain:
#      default: 30
#      mode: motion
version: 0.14

Mon problème, enfin ma demande d’aide

Après avoir eu du mal à saisir comment avoir la vue live, j’aimerais un peu d’aide, s’il vous plait, pour peufiner les réglages que j’ai fait, et surtout pour paramétrer les enregistrements et les détections :slight_smile:

J’aimerais déteter les humains en priorité.
J’ai un chat chez moi, que je fais sortir en laisse de temps en temps, aussi, j’aimerais qu’il ne généère pas de détection :wink: surtout pour la caméra du salon.
Et bien sûr, les mouvements de végétaux ne devraient pas non plus générer de détection, enfin d’alertes. (je ne suis pas sûr des termes à employer ici).

Voilà ce que m’indique la partie « system » :

Pour la partie conservation, j’aimerais partir sur quelque chose du style (comme j’ai sur le Synology) :

  • convservation des vidéos pendant 7 jours ;
  • convservation des détections pendant 7 jours aussi ;
  • purge (par les trucs vieux en premier) quand le tout cumulé dépasse les 1,2 To.

Voilà, je ne sais pas si j’ai oublié quelque chose… Probablement :wink:
Quels conseils pouvez-vous me donner ?

À venir une fois que tout ceci sera au point : l’intégration dans Home Assistant des notifications et de visualisation :wink:

Je viens de créer un deuxième utilisateur dans Frigate, pensant pouvoir faire un utilisateur simple… mais non, il a tous les droits une fois connecté XD
C’est possible d’avoir un utilisateur qui ne fait que consulter ?


Ancien message

Bon alors, en fait, je dois avoir un truc qui merde… car je perds les flux inopinément…
Ou parfois la mosaique affiche les images, mais quand je rentre dans une caméra, j’ai rien…

Quelqu’un aurait-il une autre méthode pour le flux de ces reolinks ?
Merci d’avance, et bonne soirée

Bonjour,
Suite à une évolution dans mes essais de configuration, j’ai édité mes précédents messages, et changé le titre pour refléter la nouvelle situation :wink:

Le premier message contient les nouvelles questions, et la nouvelle demande d’aide.

Merci d’avance :wink:

edit :
Je n’ai pas pensé à mettre le docker-compose que j’utilise pour Frigate :

  # ╔══════════════════════════════════════════════════════════════════════════╗
  # ║ Fichier docker-compose.yml pour Frigate                                  ║
  # ╚══════════════════════════════════════════════════════════════════════════╝

# version: '3.9'

# mkdir -p /mnt/Frigate/{snapshots,recordings,exports}
# mkdir -p /data/docker/frigate/{config,logs}
# chown -R pili_lxc:docker /data/docker/frigate/{config,logs}
services:

  frigate:
    container_name: frigate
    privileged: true
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:stable
    shm_size: "640mb"   # À modifier selon les caméras et leur nombre, voir ici :
                        # https://docs.frigate.video/frigate/installation#calculating-required-shm-size
    devices:
      - /dev/bus/usb:/dev/bus/usb
      - /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /data/docker/frigate/config:/config
      - /data/docker/frigate/logs:/dev/shm/logs
      - /mnt/Frigate:/media/frigate
      - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    
    environment:
      FRIGATE_RTSP_USER: ${FRIGATE_RTSP_USER}
      FRIGATE_RTSP_PASSWORD: ${FRIGATE_RTSP_PASSWORD}
    
    ports:
      - "8971:8971"
      # - "5000:5000" # Internal unauthenticated access. Expose carefully.
      - "8554:8554" # RTSP feeds
      - "8555:8555/tcp" # WebRTC over tcp
      - "8555:8555/udp" # WebRTC over udp

    labels:
      - "com.centurylinklabs.watchtower.enable=true"

Et en voyant les instructions de l’intégration, je crois qu’il va me falloir ouvrir le port 5000…
Et revoir mon entrée de reverse proxy pour utiliser ce port plutpot que le 8971/

Bonjour @MilesTEG1,

  • Concernant ton fichier de configuration :

Tu as paramétré la partie « detect » à deux endroits, une fois de manière générale (enabled: true / fps: 15) et une fois spécifiquement pour ta caméra (enabled/width/height). Je te conseille de tout paramétrer au niveau de ta caméra (= supprimer la partie générale) pour simplifier la chose. Et à ce sujet, une détection sur une résolution de 2560*1920 à 15fps c’est très élevé. Pour une caméra ça peut tenir le coup mais pour plusieurs ta clé Coral va peut-être bouder. En général, une réso en 720p/5 ou 10fps est recommandée/suffisante pour la partie détection.
Me concernant j’ai ceci :

cameras:
  Salon:
    ffmpeg:
      inputs:
        - path: rtsp://xxxxxxxxx@192.168.0.43:554/stream1   #MainStream 2K
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://xxxxxxxx@192.168.0.43:554/stream2    #SubStream 720p
          input_args: preset-rtsp-restream
          roles:
            - detect

    detect:
      enabled: false
      width: 1280
      height: 720
      fps: 5

Dans les rôles de ta caméra, tu as indiqué « audio » or tu n’as pas paramétré de détection audio dans ta config, ce rôle est donc peut-être inutile et à supprimer ou alors tu dois le paramétrer (Cf. la doc Frigate).

  • Concernant les Alerts / Detections / Motion :

Frigate a décidé de filtrer les extraits vidéos en 2 catégories (Alerts ou Detections) pour les répartir selon l’intérêt que l’utilisateur y porte. Par exemple, catégoriser toutes les détections de personnes en tant qu’« Alerts » et toutes celles de chats ou voitures en tant que « Detections ». Le paramétrage est à faire au niveau de la config, par défaut tout va dans « Alerts » et donc rien dans « Detections ».
Dans ta config, tu as indiqué la même chose dans les 2 catégories donc tout va par défaut dans « Alerts ». D’ailleurs, tu y as inscrit des objets que tu ne détectes pas dans ta tracklist (car, dog, speech) => ils ne seront ni enregistrés ni catégorisés.
Toutes les infos ici.

La partie « Motion » quant à elle enregistre tous les mouvements peu importe les filtres ci-dessus.

  • Concernant les Zones & Motion/object masks :

Les zones servent à segmenter l’image d’une caméra, en plusieurs zones donc, qui peuvent ensuite être utilisées indépendamment pour tes alertes (par exemple une zone « terrasse » et une autre « jardin » sur une seule et même caméra). La doc ici.

Les Motion masks servent à définir des zones ou la détection ne sera pas active (par exemple le plafond ou la télé comme dans ton cas).
Les Object masks servent à définir des zones ou la détection d’un type d’objet sera « exclue » et considérée comme faux positif (par exemple exclure la détection de voiture dans le ciel :upside_down_face:). Utile pour éviter les faux positifs dans certains cas.
La doc ici.

  • Concernant HA:

Tu dois pouvoir installer l’intégration Frigate dans HA pour communiquer avec ton installation déjà existante sur le réseau. Des capteurs seront créés pour chaque caméra et chaque objet traqué, de là tu pourras être notifié selon tes souhaits (uniquement les humains… etc.).

1 « J'aime »

Bonsoir @Integra

Donc faudrait que je mette la détection sur le flux en 640x480 ?
Sur cette caméra, je n’ai que deux flux :


Donc utiliser le fmux « fluide » pour la détection, et le flux « nette » pour le live ?

J’avais voulu mettre une meilleure qualité d’image sur les détections, car l’image était bien crade en 640x480 :crazy_face:

Je vire donc la section globale detect, et je profite pour virer le « audio » du rôle, j’ai donc modifié ma caméra ainsi :

cameras:
  Camera_Salon_RLC-510A:
    enabled: true
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        # - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/
        - path: rtsp://127.0.0.1:8554/Camera_Salon_RLC-510A           # <--- the name here must match the name of the camera in restream
        # - path: "rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}  input_args: preset-rtsp-restream"
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/Camera_Salon_RLC-510A_sub           # <--- the name here must match the name of the camera in restream
        # # - path: "rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}  input_args: preset-rtsp-restream"
          input_args: preset-rtsp-restream
          roles:
            - detect
    detect:
      enabled: true        # <---- disable detection until you have a working camera feed
      fps: 15
      width: 640           # 640 <---- update for your camera's resolution
      height: 480          # 480 <---- update for your camera's resolution
    record:                 # <----- Enable recording
      enabled: true
    snapshots:
      enabled: true
    motion:
      mask:
        - 0.154,0.451,0.147,0.587,0.305,0.59,0.312,0.461
        - 0.044,0.221,0,0,1,0,1,0.289,0.949,0.288,0.983,0.333,0.981,0.398,0.931,0.393,0.879,0.367,0.773,0.359,0.763,0.373,0.678,0.369,0.641,0.34
      threshold: 30
      contour_area: 10
      improve_contrast: 'true'
    zones:
      Salon_Cuisine:
        coordinates: 
          0,0.012,0,0.619,0,1,1,1,0.998,0.297,0.951,0.291,0.985,0.33,0.984,0.403,0.931,0.397,0.877,0.37,0.775,0.363,0.762,0.374,0.679,0.371,0.642,0.344,0.043,0.226
        inertia: 3
        loitering_time: 0

Ok, je commence à saisir… mais pas tout :crazy_face:

Du coup, tu me conseilles de faire comment ?
Ce que tu proposes me semble ok : les alertes pour les personnes, et les détections pour le chat.

Est-ce que comme ça c’est bon ?

review:
  alerts:
    labels:
      - person
      - speech
  detections:
    labels:
      - cat

Pour les personnes, j’ai un enfant en bas age, il sera bien catégorisé en tant que personne ?

Ok, là aussi, ça devient plus clair. Merci.
Cependant, j’ai là aussi des questions :wink:
Je pourrais donc définir une zone salon, et une plus petite cuisine, c’est ça ?
Et donc les alertes et détections seraient soit taguée de cuisine soit de salon, c’est bien ça ?
Je n’ai rien à configurer d’autre que de faire les zones ?

Est-ce que j’aurais intéret à déifnir un Object mask ?

Oui, j’ai réussi, mais j’ai du publier le port 5000 sur mon conteneur docker, et donc profiter de ça pour désactiver le tls et de configurer mon reverse proxy pour accéder à frigate via le port 5000.

J’ai essayé aussi la carte frigate hass.

type: custom:frigate-card
cameras:
  - camera_entity: camera.camera_salon_rlc_510a
    live_provider: go2rtc
    icon: phu:living-room
    hide: false
performance:
  profile: high
dimensions:
  aspect_ratio_mode: dynamic
timeline:
  style: ribbon
  media: all
image:
  mode: screensaver
menu:
  style: outside
  position: bottom
  alignment: right
  buttons:
    frigate:
      alignment: opposing
    cameras:
      alignment: opposing
      priority: 100
    screenshot:
      enabled: true
    substreams:
      enabled: true
    live:
      enabled: true
    clips:
      enabled: true
    recordings:
      enabled: true
    image:
      enabled: false
    camera_ui:
      enabled: true
    expand:
      enabled: true
    media_player:
      enabled: false
    microphone:
      enabled: false
    play:
      enabled: true
    mute:
      enabled: true
layout_options:
  grid_columns: 4
  grid_rows: auto

Depuis mon ordinateur, pas de soucis, ça semble fonctionner, même si ce n’est pas super ergonomique…
Mais depuis le smartphone… c’est plus aléatoire…
Si je suis connecté en wifi, quand je charge le dashboard contenant cette carte frigate, l’image de la caméra s’affiche mais disparait rapidement.
Mais si je passe sur la connexion mobile (5G), là plus de soucis…
Aurais-tu une idée ?

En tout cas, merci pour ton aide :slight_smile:

Bonne fin de soirée :slight_smile:

Oui tu peux utiliser ce second flux pour la détection, ou alors laisser ton flux principal comme avant pour les 2 rôles (record & detect) et simplement jouer sur la résolution de la partie « detect » comme ceci :

detect:
      enabled: true
      width: 1280
      height: 720
      fps: 15

L’image sera moins pixelisée. Mais concrètement je ne sais pas ce qu’est le mieux pour la détection entre le flux secondaire directement (480p dans ton cas) ou le flux principal mais avec la partie détection réglée en 720p (comme dans mon exemple ci-dessus). À tester en regardant la conso du Coral & CPU.

Pour faire simple, tu peux mettre ce que tu veux dans les catégories Alerts et Detections, c’est simplement une catégorisation proposée par Frigate.

Si cette catégorisation te convient alors oui ces paramètres me semblent bons, hormis le « - speech » qui ne sert je pense à rien vu que tu n’as pas de détection audio. Donc simplement « - Person » dans alerts et « - cat » dans detections.

Oui c’est exactement ça (si j’ai bien compris la doc :sweat_smile:). Normalement tes alertes/détections seront taguées selon leur zone. Si c’est ton objectif alors normalement non rien d’autre à faire que de définir les zones. (Pour des réglages plus spécifiques, par exemple ne traquer que tel objet dans telle zone … alors cf. la doc ici.)

En l’état, sans faux positifs je dirai que non. C’est utile par exemple quand Frigate détecte un arbre comme une personne :upside_down_face:, comme tu ne peux/veux pas bouger l’arbre alors tu peux mettre un masque d’objet sur la zone.

N’utilisant pas du tout cette carte, je ne saurai t’aider pour ça mais oui ça peut venir de la « lourdeur » de la carte (peu probable) ou plus logiquement du réseau (Wifi vs 5G) etc… .

De rien pas de soucis ! Et n’hésite pas à publier ta config rectifiée peut-être que d’autres pourront t’apporter d’autres optimisations !

PS: j’avais oublié le point sur les enfants en bas âge, j’ai simplement pu tester avec une poupée d’enfant et ça détectait cela comme une personne, je n’ai pas d’autre retour d’expérience à t’apporter à ce sujet :sweat_smile:

salut :wave:t2:

Donc si je mets ces valeurs avec le flux principal, cava redimensionner l’image c’est ça ?
Je ne l’ai pas précisé mais mon conteneur Frigate a accès à l’iGPU et j’ai dû mettre l’accélération matériel dessus dans la configuration en plus du Google Coral.
Normalement ça devrait le faire niveau charge cpu non ?

Ok j’ai viré le speech qui ne me servira pas en effet :blush:

J’ai refais mes zones du coup.
(dans Brave, ça déconne carrément pour les tracer… je n’ai pas la possibilité de terminer le tracer… alors qu’avec Safari et MS Edge ça fonctionne très bien… ).

Ok, donc tant que je n’ai pas de faux positifs, je laisse comme ça.

La carte merdouille dès que je suis en wifi.
Mais fonctionne bien quand je suis à distance…
C’est bien ce qui me parait étonnant XD

Ok, et bien je verrais ^^

Est-ce qu’il y a moyen de voir depuis Frigate les images avec les cadres de détection ? J’entends par là, que s’il y a eu une détection, que ça entoure ce qui a été détecté sur l’image, car là je ne trouve pas où c’est…

Autre question : comment faire pour augmenter la taille des fichiers vidéos enregistrées ? Car là c’est de 10Mo… J’aimerais avoir plus gros, car c’est plus facile à gérer au niveau du NAS quand je vais vouloir faire du ménage manuellement.

La voilà :

mqtt:
  enabled: false

# Optional: TLS configuration
tls:
  # Optional: Enable TLS for port 8971 (default: shown below)
  enabled: false

# Optional: Authentication configuration
auth:
  # Optional: Enable authentication
  enabled: true
  # Optional: Reset the admin user password on startup (default: shown below)
  # New password is printed in the logs
  reset_admin_password: false
  # Optional: Cookie to store the JWT token for native auth (default: shown below)
  #cookie_name: "frigate_token"
  # Optional: Set secure flag on cookie. (default: False)
  # NOTE: This should be set to True if you are using TLS
  cookie_secure: true
  # Optional: Session length in seconds (default: shown below)
  session_length: 86400 # 24 hours
  # Optional: Refresh time in seconds (default: shown below)
  # When the session is going to expire in less time than this setting,
  # it will be refreshed back to the session_length.
  refresh_time: 43200 # 12 hours
  # Optional: Rate limiting for login failures to help prevent brute force
  # login attacks (default: None)
  # See the docs for more information on valid values
  failed_login_rate_limit: 1/second;5/minute;20/hour
  # Optional: Trusted proxies for determining IP address to rate limit
  # NOTE: This is only used for rate limiting login attempts and does not bypass
  # authentication. See the authentication docs for more details.
  trusted_proxies:
    - 172.18.0.0/16 # <---- this is the subnet for the internal docker compose network
    - 192.168.2.141/32   # <---- SWAG Reverse Proxy
  # Optional: Number of hashing iterations for user passwords
  # As of Feb 2023, OWASP recommends 600000 iterations for PBKDF2-SHA256
  # NOTE: changing this value will not automatically update password hashes, you
  #       will need to change each user password for it to apply
  hash_iterations: 600000


ffmpeg:
  global_args: -hide_banner -loglevel warning
  hwaccel_args: preset-vaapi
  output_args:
    record: preset-record-generic-audio-copy

detectors:
  coral:
    type: edgetpu
    device: usb

review:
  alerts:
    labels:
      - person
  detections:
    labels:
      - cat

motion:
  # Optional: The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion. (default: shown below)
  # Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive.
  # The value should be between 1 and 255.
  threshold: 30

  # Optional: Minimum size in pixels in the resized motion image that counts as motion (default: shown below)
  # Increasing this value will prevent smaller areas of motion from being detected. Decreasing will
  # make motion detection more sensitive to smaller moving objects.
  # As a rule of thumb:
  #  - 10 - high sensitivity
  #  - 30 - medium sensitivity
  #  - 50 - low sensitivity
  contour_area: 10

  # Optional: The percentage of the image used to detect lightning or other substantial changes where motion detection
  #           needs to recalibrate. (default: shown below)
  # Increasing this value will make motion detection more likely to consider lightning or ir mode changes as valid motion.
  # Decreasing this value will make motion detection more likely to ignore large amounts of motion such as a person approaching
  # a doorbell camera.
  lightning_threshold: 0.8

# Optional: Object configuration
# NOTE: Can be overridden at the camera level
objects:
  # Optional: list of objects to track from labelmap.txt (default: shown below)
  track:
    - person
    - cat
  # Optional: filters to reduce false positives for specific object types
  filters:
    person:
      # Optional: minimum width*height of the bounding box for the detected object (default: 0)
      min_area: 5000
      # Optional: maximum width*height of the bounding box for the detected object (default: 24000000)
      max_area: 100000
      # Optional: minimum width/height of the bounding box for the detected object (default: 0)
      min_ratio: 0.5
      # Optional: maximum width/height of the bounding box for the detected object (default: 24000000)
      max_ratio: 2.0
      # 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.7

go2rtc:
  streams:
    Camera_Salon_RLC-510A:
      # - "ffmpeg:http://192.168.2.163/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus"
      # Autre méthode :
      - rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/Preview_01_main
      - ffmpeg:Camera_Salon_RLC-510A#audio=opus       # <- copy of the stream which transcodes audio to the missing codec (usually will be opus)
      # - rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}
    Camera_Salon_RLC-510A_sub:
      # - "ffmpeg:http://192.168.2.163/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus"
      # Autre méthode :
      - rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/Preview_01_sub
      - ffmpeg:Camera_Salon_RLC-510A#audio=opus       # <- copy of the stream which transcodes audio to the missing codec (usually will be opus)
      # - rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}

cameras:
  Camera_Salon_RLC-510A:
    enabled: true
    ffmpeg:
      hwaccel_args: preset-vaapi
      inputs:
        # - path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.2.163:554/
        - path: rtsp://127.0.0.1:8554/Camera_Salon_RLC-510A           # <--- the name here must match the name of the camera in restream
        # - path: "rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}  input_args: preset-rtsp-restream"
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect
        - path: rtsp://127.0.0.1:8554/Camera_Salon_RLC-510A_sub           # <--- the name here must match the name of the camera in restream
        # # - path: "rtmp://192.168.2.163:1935/bcs/channel0_main.bcs?channel=0&stream=0&user={FRIGATE_RTSP_USER}&password={FRIGATE_RTSP_PASSWORD}  input_args: preset-rtsp-restream"
          input_args: preset-rtsp-restream
          roles: []
    detect:
      enabled: true        # <---- disable detection until you have a working camera feed
      fps: 15
      width: 1280           # 640 <---- update for your camera's resolution
      height: 720           # 480 <---- update for your camera's resolution
    record:                 # <----- Enable recording
      enabled: true
    snapshots:
      enabled: true
    motion:
      mask:
        - 0.154,0.451,0.147,0.587,0.305,0.59,0.312,0.461
        - 0.044,0.221,0,0,1,0,1,0.289,0.949,0.288,0.983,0.333,0.981,0.398,0.931,0.393,0.879,0.367,0.773,0.359,0.763,0.373,0.678,0.369,0.641,0.34
      threshold: 30
      contour_area: 10
      improve_contrast: true
    zones:
      Salon:
        coordinates: 
          0,0.012,0,0.619,0,1,1,1,1,0.292,0.952,0.291,0.985,0.338,0.931,0.824,0.769,0.732,0.66,0.691,0.679,0.371,0.642,0.344,0.043,0.226
        inertia: 3
        loitering_time: 0
      Entrée:
        coordinates: 0.681,0.372,0.66,0.69,0.772,0.733,0.807,0.365,0.773,0.362,0.765,0.376
        loitering_time: 0
        inertia: 3
      Cuisine:
        coordinates: 0.809,0.368,0.775,0.735,0.931,0.823,0.976,0.399,0.932,0.397,0.881,0.37
        loitering_time: 0
        inertia: 3
record:
  enabled: true
  retain:
    days: 4   # <- number of days to keep continuous recordings -- mettre 0 pour purger
    mode: all
  events:
    retain:
      default: 7   # <- number of days to keep event recordings -- mettre 0 pour purger
      mode: motion
    pre_capture: 2
    post_capture: 5

snapshots:
  # Optional: Enable writing jpg snapshot to /media/frigate/clips (default: shown below)
  enabled: true
  # Optional: save a clean PNG copy of the snapshot image (default: shown below)
  clean_copy: true
  # Optional: print a timestamp on the snapshots (default: shown below)
  timestamp: false
  # Optional: draw bounding box on the snapshots (default: shown below)
  bounding_box: true
  # Optional: crop the snapshot (default: shown below)
  crop: false
  # Optional: height to resize the snapshot to (default: original size)
  height: 175
  # Optional: Restrict snapshots to objects that entered any of the listed zones (default: no required zones)
  required_zones: []
  # Optional: Camera override for retention settings (default: global values)
  retain:
    # Required: Default retention days (default: shown below)
    default: 10
    # Optional: Per object retention days
    objects:
      person: 15
  # Optional: quality of the encoded jpeg, 0-100 (default: shown below)
  quality: 100

# Optional
ui:
  # Optional: Set a timezone to use in the UI (default: use browser local time)
  # timezone: America/Denver
  # Optional: Set the time format used.
  # Options are browser, 12hour, or 24hour (default: browser)
  time_format: 24hour
  # Optional: Set the date style for a specified length.
  # Options are: full, long, medium, short
  # Examples:
  #    short: 2/11/23
  #    medium: Feb 11, 2023
  #    full: Saturday, February 11, 2023
  # (default: short).
  date_style: short
  # Optional: Set the time style for a specified length.
  # Options are: full, long, medium, short
  # Examples:
  #    short: 8:14 PM
  #    medium: 8:15:22 PM
  #    full: 8:15:22 PM Mountain Standard Time
  # (default: medium).
  time_style: medium
  # Optional: Ability to manually override the date / time styling to use strftime format
  # https://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html
  # possible values are shown above (default: not set)
  strftime_fmt: '%d/%m/%Y/ %H:%M:%S'

# Optional: Telemetry configuration
telemetry:
  # Optional: Enabled network interfaces for bandwidth stats monitoring (default: empty list, let nethogs search all)
  network_interfaces: []
  # Optional: Configure system stats
  stats:
    # Enable AMD GPU stats (default: shown below)
    amd_gpu_stats: false
    # Enable Intel GPU stats (default: shown below)
    intel_gpu_stats: true
    # Enable network bandwidth stats monitoring for camera ffmpeg processes, go2rtc, and object detectors. (default: shown below)
    # NOTE: The container must either be privileged or have cap_net_admin, cap_net_raw capabilities enabled.
    network_bandwidth: false
  # Optional: Enable the latest version outbound check (default: shown below)
  # NOTE: If you use the HomeAssistant integration, disabling this will prevent it from reporting new versions
  version_check: true

version: 0.14

Faut que je vois maintenant l’intégration dans HA, car la carte Frigate ne me satisfait pas tellement…

Si quelqu’un peut me conseiller :slight_smile:
Merci encore @Integra
Bonne fin de WE.

edit : je viens de mettre l’addon Frigate Proxy, et ça me plait mieux, j’ai l’accès depuis HA à l’interface de Frigate.
Et ça fonctionne bien sur mobile avec le wifi ^^

Faut que je passe aux notifications :wink:

la partir mqtt est-elle utile ? si oui, comment je configure ça ?

Salut @MilesTEG1,

Oui ça va redimensionner l’image mais simplement pour la détection (et le snapshot), pour les enregistrements et la vue en live tu garderas bien la résolution du flux principal.
Oui j’ai vu dans ta config l’accélération matérielle et la clé Coral, et oui pour une seule caméra la détection en 720p/15 fps ne devrait pas poser de problèmes. Et au pire passer à 720p/10 fps si tu trouves que ça consomme trop.

Oui étrange… à mon avis c’est simplement une histoire de qualité de connexion où dans ton cas 5G > Wifi. D’ailleurs de mon côté, je me sers du flux secondaire comme un flux de secours lorsque je suis en extérieur et avec une mauvaise connexion, c’est toujours utile en back up au cas où.

Pour les snapshots oui, tu as la possibilité d’avoir 2 images, une avec le cadre de détection et une copie sans. C’est d’ailleurs bien paramétré dans ta config, donc tu dois les trouver dans le dossier où ils sont enregistrés. Pour la vue en live, tu peux avoir accès à ça également, mais uniquement dans la vue debug: settings Frigate > debug > cocher « Bounding Boxes » (= utile pour tester la détection).
Pour les enregistrements vidéos, je ne pense pas que se soit possiblement en revanche (à vérifier).

Je ne sais pas si c’est réellement possible, il me semble que seul les exports peuvent permettre ça donc en l’état je ne pense pas. Après Frigate crée des dossiers par jour puis par heure donc ça devrait faciliter la purge manuelle non ?

Parfait :ok_hand: !

Oui si tu as un broker MQTT ça peut être utile notamment pour les notifications côté HA etc… .
Côté config c’est assez simple, tu remplaces la toute première partie de ta config par ça :

mqtt:
  enabled: true
  host: 192.168.XX.XX   #IP de ton Broker MQTT (= IP de HA si broker installé par HA)
  user: xxxxxxx  #à renseigner
  password: xxxxxxx  #à renseigner
  port: 1883

Ok.
Mais là tu me fais peur :sweat_smile:
Je fais actuellement des essais avec la caméra Reolink dont on parle depuis le début du sujet , mais comme je vais déménager dans pas longtemps , il va me falloir acheter de nouvelles caméras (les 3 autres dont il était initialement question vont rester là où elles sont fixées , seule celle du salon (la rlc-510A) va venir dans la nouvelle maison).

À terme, je projeté 4 caméras effectuées et au moins deux ou trois dans la maison (salon , entrée et sous sol).

J’espère que le coral suportera bien la charge :sweat_smile:
Actuellement, j’ai un mini pc sous proxmox (un Geekom mini IT13 à base de Intel Core i9-13900H et 32 Go de ram).
Le coral usb est branché dessus .
Sur ce mini pc proxmox tourne :
Une VM HAOS, un VM Docker Swag Portainer (et plein d’autres conteneurs), un LXC Plex, un LXC Docker dans lequel j’ai mis Frigate.
Je pense à terme déplacer les conteneurs de la VM docker dans le LXC Docker.
Pour le moment le mini pc tient bien la charge, même s’il se met parfois à souffler fort (c’est un défaut du modèle).

Oui étrange, car pourtant mon wifi est vraiment bon, et les essais ont été faits pas loin de mon routeur (GL.iNet Flint2).
Je prends note pour le flux de secours bas débit.
Comment fais-tu pour y accéder ? (tu as configuré comment ?)

Ok, mais ce n’est pas vraiment pratique d’aller les chercher dans le stockage (qui est un partage SMB sur mon Syno).
Il n’y a pas moyen de les avoir en image dans HA ?

Oui ce n’est pas faux, mais j’aurais aimé pouvoir choisir la taille des fichiers :slight_smile:

Heu, je crois que j’en ai un, mais dans HAOS… Et je ne suis pas sûr qu’il soit accessible depuis autre chose que HAOS…

Me faut-il une autre instance dans mon Docker LXC ?

Une fois modifié la partie mqtt de Frigate, faut que je fasse quoi d’autre ?

mqtt:
  enabled: true
  host: 192.168.XX.XX   #IP de ton Broker MQTT (= IP de HA si broker installé par HA)
  user: xxxxxxx  #à renseigner
  password: xxxxxxx  #à renseigner
  port: 1883
1 « J'aime »

@Integra
Je viens de constater un truc pénible : malgré la présence d’un motion mask sur la TV, elle me génère des détections.
J’ai même pensé que c’était parce que j’avais la zone « salon » qui lui passait par-dessus, alors j’ai découpé la tv dans la zone salon :


mais j’ai toujours des détections sur la TV…
image
Où est-ce que j’ai merdé ?

Ah pardon c’était pas du tout le but escompté :sweat_smile:
Simplement, lorsque tu rajouteras de nouvelles caméras, si tu vois que ta clé Coral/CPU/GPU sont à la peine tu sauras déjà sur quoi jouer => FPS à baisser et/ou résolution pour la détection.
Mais ce n’est pas dit que se soit le cas ! Juste tu sauras où intervenir si ça se présente.
Pour ce qui est du CPU/GPU, vu ton miniPC i9-13900H, je ne suis pas trop inquiet et pour la clé Coral non plus !

Me concernant, j’affiche le flux secondaire (720p) dans mon dashboard pour smartphone avec un bouton raccourci en dessous qui me renvoie vers un autre dashboard ou se trouve le flux principale (en QHD) (cf. le bouton « HD ») :
image

C’est pas optimal mais ça me convient.
Pour toi qui utilise la carte Frigate tu as simplement à rajouter le second flux dans les entrées caméras de la carte, tu pourras ensuite naviguer entre les 2 flux (Camera_Salon_RLC-510A & Camera_Salon_RLC-510A_sub).

Dans la mesure où ton NAS et HA sont sur le même réseau je pense que oui, mais je ne pourrai pas t’aider pour ça (peut-être ouvrir un autre sujet pour ça ou chercher sur le forum).

Ton Mosquitto broker est sur HAOS donc sur ton réseau, tu pourras y accéder avec Frigate, bien renseigner l’user/password (Cf. Mosquitto broker sur HA puis onglet « Configuration » si tu les as oubliés)

Si tu tout est bien paramétré (Cf. mon code pour la partie MQTT) alors rien d’autre.

Peut-être que la masque sur la TV n’est pas assez grand. Quand un mouvement est détecté hors d’un masque mais qu’il se déplace ensuite dans ce masque, la détection continue malgré tout. Ça peut venir de là.
Tu peux faire des testes dans la partie début (settings Frigate > Debug) voir comment les box de mouvements/détections se comportent avec tes masques.
Est-ce que ces détections dans ta TV entrainent des alertes ?

1 « J'aime »

Ok :+1:t2:
Merci :pray:t2:
Faudra juste que je surveille la chauffe du coral :blush:

Ho c’est sympa ça :blush:
Tu utilises quoi comme carte du coup ?
Pourrais tu partager le code ?

Ok je verrai si quelqu’un a une solution et s’il passe ici :smiling_face:

Ok :ok_hand:t2: nickel alors .

En parlant de user/pwd , j’ai voulu suivre ce que la doc de Frigate disait sur le port 5000, non chiffré et dans authentification : ajouter l’adresse ip de home assistant devant pour n’autoriser que cette ip à y accéder. Mais ça ne fonctionne pas : quand je mets l’ip de HA comme ce qui suit , la stack ne veut pas se créer…

    ports:
      - "8971:8971"
      - "192.168.2.100:5000:5000"      # Internal unauthenticated access. Expose carefully.

Ça ne semble pas fonctionner avec Portainer…

:+1:t2:

Oui ça me génère des alertes…
J’ai bien pris un peu plus large que le contour de la tv.
J’ai essayé en mettant un object mask sur la tv. Je verrais demain si ça a été efficace , la tv est éteinte et je vais me coucher :sleeping:

Sur ce, merci beaucoup de ton aide et à demain :wave:t2:

Ah merci !
Pour la caméra, une simple carte picture-glance, et pour les boutons en-dessous des button-card.
Voici le code :

Caméra
type: custom:mod-card
style: |
  ha-card {
    background: rgba(25,25,25,0.65);
  }
card:
  type: vertical-stack
  cards:
    - type: custom:button-card
      name: Caméra
      icon: mdi:cctv
      layout: icon_name
      styles:
        card:
          - background-color: rgba(0,0,0,0)
          - padding: 6px
        icon:
          - height: 42px
          - width: 63px
        name:
          - font-weight: 500
          - font-size: 22px
          - text-align: left
        grid:
          - grid-template-columns: 18% min-content
      card_mod:
        style: |
          ha-card { 
            border: none;
          } 
    - type: picture-glance
      camera_view: live
      camera_image: camera.salon
      title: Salon
      tap_action:
        action: fire-dom-event
        browser_mod:
          service: browser_mod.popup
          data:
            size: fullscreen
            content:
              type: picture-glance
              camera_image: camera.salon
              camera_view: live
              entities:
                - entity: camera.salon
      entities:
        - entity: button.tapo_c225_e601_move_up
          tap_action:
            action: call-service
            service: button.press
            data:
              entity_id: button.tapo_c225_e601_move_up
        - entity: button.tapo_c225_e601_move_down
          tap_action:
            action: call-service
            service: button.press
            data:
              entity_id: button.tapo_c225_e601_move_down
        - entity: button.tapo_c225_e601_move_left
          tap_action:
            action: call-service
            service: button.press
            data:
              entity_id: button.tapo_c225_e601_move_left
        - entity: button.tapo_c225_e601_move_right
          tap_action:
            action: call-service
            service: button.press
            data:
              entity_id: button.tapo_c225_e601_move_right
        - entity: button.tapo_c225_e601_reboot
          tap_action:
            action: call-service
            service: button.press
            data:
              entity_id: button.tapo_c225_e601_reboot
        - entity: switch.tapo_c225_e601_privacy
          icon: mdi:shield-lock-outline
      card_mod:
        style: |
          ha-card {
            box-shadow: none;
            border: none;
          }
Boutons raccourcis
type: horizontal-stack
cards:
  - show_name: true
    show_icon: true
    type: custom:button-card
    tap_action:
      action: navigate
      navigation_path: /ccab4aaf_frigate
    name: Frigate
    icon: mdi:cctv
    color: "#5aa5f0"
    show_state: false
    hold_action:
      action: none
    styles:
      card:
        - font-size: 5px
      name:
        - font-size: 12px
      icon:
        - width: 55%
        - margin-top: "-10%"
        - margin-bottom: "-10%"
    card_mod:
      style: |
        ha-card {
          background: rgba(25,25,25,0.65);
          box-shadow: none;
          border-radius: 40px;
        }
  - show_name: true
    show_icon: true
    type: custom:button-card
    tap_action:
      action: navigate
      navigation_path: >-
        /media-browser/browser/app%2Cmedia-source%3A%2F%2Ffrigate/image%2Cmedia-source%3A%2F%2Ffrigate%2Ffrigate%2Fevent-search%2Fsnapshots%2F%2F%2F%2F%2F%2F
    name: Photos
    icon: mdi:camera-iris
    color: "#5aa5f0"
    show_state: false
    hold_action:
      action: none
    styles:
      card:
        - font-size: 5px
      name:
        - font-size: 12px
      icon:
        - width: 55%
        - margin-top: "-10%"
        - margin-bottom: "-10%"
    card_mod:
      style: |
        ha-card {
          background: rgba(25,25,25,0.65);
          box-shadow: none;
          border-radius: 40px;
        }
  - show_name: true
    show_icon: true
    type: custom:button-card
    tap_action:
      action: navigate
      navigation_path: >-
        /media-browser/browser/app%2Cmedia-source%3A%2F%2Ffrigate/video%2Cmedia-source%3A%2F%2Ffrigate%2Ffrigate%2Frecordings%2F%2F%2F/video%2Cmedia-source%3A%2F%2Ffrigate%2Ffrigate%2Frecordings%2FSalon%2F%2F
    name: Vidéos
    icon: mdi:movie-open-play-outline
    color: "#5aa5f0"
    show_state: false
    hold_action:
      action: none
    styles:
      card:
        - font-size: 5px
      name:
        - font-size: 12px
      icon:
        - width: 55%
        - margin-top: "-10%"
        - margin-bottom: "-10%"
    card_mod:
      style: |
        ha-card {
          background: rgba(25,25,25,0.65);
          box-shadow: none;
          border-radius: 40px;
        }
  - show_name: true
    show_icon: true
    type: custom:button-card
    tap_action:
      action: navigate
      navigation_path: /dashboard-smartphone/camera-hd
    name: HD
    icon: mdi:quality-high
    color: "#5aa5f0"
    show_state: false
    hold_action:
      action: none
    styles:
      card:
        - font-size: 5px
      name:
        - font-size: 12px
      icon:
        - width: 55%
        - margin-top: "-10%"
        - margin-bottom: "-10%"
    card_mod:
      style: |
        ha-card {
          background: rgba(25,25,25,0.65);
          box-shadow: none;
          border-radius: 40px;
        }

Je ne pourrai t’aider pour cette partie malheureusement.

Très bien, à voir demain ce que cela va te générer ou non.
Si tu as toujours des alertes, on pourra paramétrer les rubriques du Review (Alerts & Detections) pour ne recevoir que des évènements venant des zones que tu as créées (Salon/Cuisine/Entrée) ce qui exclura la TV, vu que tu l’as sortie de la zone.

Bonne soirée & à demain !

1 « J'aime »

Bonsoir
@Integra
Bon finalement, j’ai toujours des Alertes générées par la TV…
image

Je viens d’étendre un poil le « Object Masks » de la TV pour déborder un peu de cette dernière.
À voir si ça aide ou pas XD

Bonsoir @MilesTEG1,

Ah mince !
Oui c’est peut-être la bonne solution, car de mémoire la zone de détection se base sur le centre du trait inférieur de la box. C’est ce point qui fait office de référence pour définir la zone. Comme on peut le voir sur ta capture, le point central du trait inférieur est situé hors de la TV (= le trait vert du bas). Donc hors de la zone de masquage TV, du coup il lance la détection.

image

Cf. le point rouge que j’ai dessiné à la main, c’est lui qui fait office de référence pour la zone, si ce point est hors zone de masquage alors la détection et les alertes sont lancées. Enfin si j’ai bien compris la doc:sweat_smile:

1 « J'aime »

Salut :wave:t2:
Merci pour les infos , je verrais aujourd’hui si ça a fonctionné :grinning:

Il manque quand même l’affichage des images avec cadre de détection dans Frigate… là je suis obligé d’aller les chercher à la main dans le partage smb…

1 « J'aime »

Salut !

Ah oui je ne sais pas si tu peux avoir directement l’image avec le cadre dans Frigate :thinking:… .

Hello

Dans le menu Debug :wink: