Frigate - Instabilité

Bonjour,

J’ai un problème avec Frigate, je viens de voir qu’il n’est pas stable du tout, il devient indisponible toutes les secondes

Je suis sous Proxmox, avec une VM pour HA et un container pour Frigate
Tout semble à jour

Auriez vous une idée de la cause ?

## System Information

version | core-2024.10.3
-- | --
installation_type | Home Assistant OS
dev | false
hassio | true
docker | true
user | root
virtualenv | false
python_version | 3.12.4
os_name | Linux
os_version | 6.6.54-haos
arch | x86_64
timezone | Europe/Paris
config_dir | /config

<details><summary>Home Assistant Community Store</summary>

GitHub API | ok
-- | --
GitHub Content | ok
GitHub Web | ok
HACS Data | ok
GitHub API Calls Remaining | 5000
Installed Version | 2.0.1
Stage | running
Available Repositories | 1454
Downloaded Repositories | 27

</details>

<details><summary>Home Assistant Cloud</summary>

logged_in | false
-- | --
can_reach_cert_server | ok
can_reach_cloud_auth | ok
can_reach_cloud | ok

</details>

<details><summary>Home Assistant Supervisor</summary>

host_os | Home Assistant OS 13.2
-- | --
update_channel | stable
supervisor_version | supervisor-2024.10.3
agent_version | 1.6.0
docker_version | 27.2.0
disk_total | 30.8 GB
disk_used | 15.2 GB
healthy | true
supported | true
host_connectivity | true
supervisor_connectivity | true
ntp_synchronized | true
virtualization | kvm
board | ova
supervisor_api | ok
version_api | ok
installed_addons | ESPHome (2024.10.2), Matter Server (6.6.0), Mosquitto broker (6.4.1), Samba share (12.3.2), Studio Code Server (5.17.2), Terminal & SSH (9.15.0), Home Assistant Google Drive Backup (0.112.1), Duck DNS (1.18.0), MyElectricalData (0.13.2), Zigbee2MQTT (1.40.2-1), Silicon Labs Multiprotocol (2.4.5), Piper (1.5.2), Whisper (2.2.0), openWakeWord (1.10.0), WireGuard (0.10.2), Frigate (0.14.1)

</details>

<details><summary>Dashboards</summary>

dashboards | 4
-- | --
resources | 13
views | 23
mode | storage

</details>

<details><summary>Recorder</summary>

oldest_recorder_run | 24 septembre 2024 à 08:04
-- | --
current_recorder_run | 24 octobre 2024 à 18:17
estimated_db_size | 658.69 MiB
database_engine | sqlite
database_version | 3.45.3

</details>

Pour info, j’ai fait une MAJ de Frigate il y a environ 2-3 semaines, mais j’avais pas fait gaffe depuis si cela fonctionnait bien
Je vois que mon CPU monte à 88% pour frigate (j’ai un N100 avec 3 coeurs pours Frigate)

Bonjour,
As-tu les logs disponibles de frigate ?
Comment est connectée ta camera ? Wifi, usb ?

Ma caméra est en wifi, mais ca marchait bien avant (il y a 1mois, c’est sûr)

2024-10-24 18:54:18.411656030  [INFO] Preparing Frigate...
2024-10-24 18:54:18.576634410  [INFO] Starting Frigate...
2024-10-24 18:54:25.439664352  [2024-10-24 20:54:25] frigate.app                    INFO    : Starting Frigate (0.14.1-f4f3cfa)
2024-10-24 18:54:25.439904546  [2024-10-24 20:54:25] frigate.app                    INFO    : Creating directory: /tmp/cache
2024-10-24 18:54:25.440156030  [2024-10-24 20:54:25] frigate.util.config            INFO    : Checking if frigate config needs migration...
2024-10-24 18:54:25.441674648  [2024-10-24 20:54:25] frigate.util.config            INFO    : frigate config does not need migration...
2024-10-24 18:54:25.479751757  [2024-10-24 20:54:25] frigate.util.services          WARNING : Did not detect hwaccel, using a GPU for accelerated video decoding is highly recommended
2024-10-24 18:54:25.504872327  [2024-10-24 20:54:25] peewee_migrate.logs            INFO    : Starting migrations
2024-10-24 18:54:25.506155683  [2024-10-24 20:54:25] peewee_migrate.logs            INFO    : There is nothing to migrate
2024-10-24 18:54:25.519240249  [2024-10-24 20:54:25] frigate.app                    INFO    : Recording process started: 286
2024-10-24 18:54:25.527026455  [2024-10-24 20:54:25] frigate.app                    INFO    : Recording process started: 287
2024-10-24 18:54:25.536393527  [2024-10-24 20:54:25] frigate.app                    INFO    : go2rtc process pid: 101
2024-10-24 18:54:25.607131398  [2024-10-24 20:54:25] frigate.app                    INFO    : Output process started: 316
2024-10-24 18:54:25.612703979  [2024-10-24 20:54:25] detector.cpu                   INFO    : Starting detection process: 315
2024-10-24 18:54:25.625916040  [2024-10-24 20:54:25] frigate.detectors              WARNING : CPU detectors are not recommended and should only be used for testing or for trial purposes.
2024-10-24 18:54:25.689561666  [2024-10-24 20:54:25] frigate.app                    INFO    : Camera processor started for cuisine: 332
2024-10-24 18:54:25.689565471  [2024-10-24 20:54:25] frigate.app                    INFO    : Capture process started for cuisine: 337

je rajoute ma config de frigate, ca pourra peut etre aider

mqtt:
  host: 192.168.1.100
  port: 1883
  user: xxxxx
  password: xxxxx
  stats_interval: 60

cameras:
  cuisine: # <------ Name the camera
    ffmpeg:
      inputs:
        - path: xxxxx # <----- The stream you want to use for detection
          roles:
            - detect
    detect:
      enabled: false # <---- disable detection until you have a working camera feed
      width: 1280 # <---- update for your camera's resolution
      height: 720 # <---- update for your camera's resolution
    objects:
      track:
        - person
    snapshots:
      enabled: true
    record:
      enabled: true
      retain:
        days: 0
      events:
        retain:
          default: 0
version: 0.14

J’ai repris les logs aussi (j’ai fait une réinstallation hier soir)

2024-10-25 17:56:31.835333  [INFO] Preparing Frigate...
2024-10-25 17:56:31.860403  [INFO] Starting Frigate...
2024-10-25 17:56:34.377042  [2024-10-25 17:56:34] frigate.app                    INFO    : Starting Frigate (0.14.1-)
2024-10-25 17:56:34.377105  [2024-10-25 17:56:34] frigate.util.config            INFO    : Checking if frigate config needs migration...
2024-10-25 17:56:34.386275  [2024-10-25 17:56:34] frigate.util.config            INFO    : frigate config does not need migration...
2024-10-25 17:56:34.422740  [2024-10-25 17:56:34] frigate.util.services          WARNING : Did not detect hwaccel, using a GPU for accelerated video decoding is highly recommended
2024-10-25 17:56:34.452199  [2024-10-25 17:56:34] peewee_migrate.logs            INFO    : Starting migrations
2024-10-25 17:56:34.452881  [2024-10-25 17:56:34] peewee_migrate.logs            INFO    : There is nothing to migrate
2024-10-25 17:56:34.462505  [2024-10-25 17:56:34] frigate.app                    INFO    : Recording process started: 484
2024-10-25 17:56:34.462573  [2024-10-25 17:56:34] frigate.app                    INFO    : Recording process started: 486
2024-10-25 17:56:34.465080  [2024-10-25 17:56:34] frigate.app                    INFO    : go2rtc process pid: 125
2024-10-25 17:56:34.491164  [2024-10-25 17:56:34] detector.cpu                   INFO    : Starting detection process: 513
2024-10-25 17:56:34.493672  [2024-10-25 17:56:34] frigate.app                    INFO    : Output process started: 515
2024-10-25 17:56:34.507629  [2024-10-25 17:56:34] frigate.detectors              WARNING : CPU detectors are not recommended and should only be used for testing or for trial purposes.
2024-10-25 17:56:34.508685  [2024-10-25 17:56:34] frigate.app                    INFO    : Camera processor started for cuisine: 529
2024-10-25 17:56:34.515378  [2024-10-25 17:56:34] frigate.app                    INFO    : Capture process started for cuisine: 530

Bizarre qu’il n’y ait pas d’erreurs flagrantes dans le log frigate.
Peux-tu surveiller la connectivité wifi de ta camera en declarant une entité ping sur l’ip de la caméra ? Tu constateras si elle fait des micros déconnexions

Bonjour @Mathieu_LH,

Pour l’instabilité générale de Frigate je ne pourrais pas t’aider mais pour l’utilisation du CPU oui.
J’ai également un N100 mais je ne suis pas sous Proxmox j’utilise HAOS directement mais pour cette partie ça ne devrait pas changer grand chose.

Dans ma config Frigate, j’ai rajouté la partie pour l’accélération matérielle et la détection par OpenVino (compatible N100) pour soulager grandement le CPU. Copié après la partie Mqtt et avant celle des caméras :

ffmpeg:
  hwaccel_args: preset-vaapi

detectors:
  ov:
    type: openvino
    device: CPU

model:
  width: 300
  height: 300
  input_tensor: nhwc
  input_pixel_format: bgr
  path: /openvino-model/ssdlite_mobilenet_v2.xml
  labelmap_path: /openvino-model/coco_91cl_bkgr.txt

2 « J'aime »

J’ai gonflé les ressources pour HA, voir si ca aide à faire tourner Frigate, et ca marche mieux

Pour ajouter Openvivo, il faut que j’assigne la partie GPU du processeur à HA ?

Si c’était simplement un problème de ressources alors tant mieux c’est plus simple à gérer :crossed_fingers: !

Pour Openvino, je ne pense pas que ce soit nécessaire d’assigner la partie GPU, comme tu peux le voir dans ma config device = CPU, il me semble avoir lu que si on indiquait GPU ou Auto ça pouvait poser problème chez certains (de mémoire avec N100). Mais à tester si tu le souhaites.

Une fois Frigate relancé, dans les paramètres vérifie bien que la détection passe par Openvino comme ci-dessous :
image

je viens d’essayer sans openvivo, et j’ai une grosse augmentation du « detector inference speed »

Il y a quelque chose à installer avant d’ajouter le code ?

Justement Openvino permet « d’optimiser » grandement l’utilisation du CPU/GPU pour la détection, ce qui évite bien souvent la nécessité de s’équiper d’une clé Coral pour ça. Donc c’est normal que sans Openvino ton inference speed augmente beaucoup, du coup c’est mieux avec :sweat_smile:.

Non il n’y a rien à installer, simplement le code à ajouter dans la config (Openvino est natif dans les CPU Intel à partir de la 6ème génération de mémoire).

J’ai éssayé d’ajouter le code que tu m’a donné

  • Dans une VM Frigate, j’ai le même problème
  • Dans Frigate dans HA, mais frigate ne récupère plus l’image
mqtt:
  host: 192.168.1.100
  port: 1883
  user: xxx
  password: xxx
  stats_interval: 60

ffmpeg:
  hwaccel_args: preset-vaapi

detectors:
  ov:
    type: openvino
    device: CPU

model:
  width: 300
  height: 300
  input_tensor: nhwc
  input_pixel_format: bgr
  path: /openvino-model/ssdlite_mobilenet_v2.xml
  labelmap_path: /openvino-model/coco_91cl_bkgr.txt

cameras:
  cuisine: # <------ Name the camera
    ffmpeg:
      inputs:
        - path: xxx # <----- The stream you want to use for detection
          roles:
            - detect
    detect:
      enabled: false # <---- disable detection until you have a working camera feed
      width: 1280 # <---- update for your camera's resolution
      height: 720 # <---- update for your camera's resolution
    objects:
      track:
        - person
    snapshots:
      enabled: true
    record:
      enabled: true
      retain:
        days: 0
      events:
        retain:
          default: 0
version: 0.14

Étant sous HAOS, j’ai peur de ne pas pouvoir t’aider davantage :confused:.
Je ne sais pas si ton problème vient de l’accélération matérielle ou de Openvino ou les deux… .

Je viens de tomber sur ça, peut-être que ça pourra t’aider :
https://github.com/jsapede/frigate-proxmox-docker-openvino

Je vais essayer deja avec Frigate en add-on, et peut etre le déplacer après

je viens de voir pas mal d’erreur dans les logs

2024-10-26 21:07:03.858207934  [INFO] Preparing Frigate...
2024-10-26 21:07:03.887059880  [INFO] Starting Frigate...
2024-10-26 21:07:06.826170649  [2024-10-26 23:07:06] frigate.app                    INFO    : Starting Frigate (0.14.1-f4f3cfa)
2024-10-26 21:07:06.835816141  [2024-10-26 23:07:06] frigate.app                    INFO    : Creating directory: /tmp/cache
2024-10-26 21:07:06.836076494  [2024-10-26 23:07:06] frigate.util.config            INFO    : Checking if frigate config needs migration...
2024-10-26 21:07:06.849324134  [2024-10-26 23:07:06] frigate.util.config            INFO    : frigate config does not need migration...
2024-10-26 21:07:06.888780014  [2024-10-26 23:07:06] peewee_migrate.logs            INFO    : Starting migrations
2024-10-26 21:07:06.899960050  [2024-10-26 23:07:06] peewee_migrate.logs            INFO    : There is nothing to migrate
2024-10-26 21:07:06.914269103  [2024-10-26 23:07:06] frigate.app                    INFO    : Recording process started: 313
2024-10-26 21:07:06.914272851  [2024-10-26 23:07:06] frigate.app                    INFO    : Recording process started: 314
2024-10-26 21:07:06.914277228  [2024-10-26 23:07:06] frigate.app                    INFO    : go2rtc process pid: 101
2024-10-26 21:07:06.946432755  [2024-10-26 23:07:06] detector.ov                    INFO    : Starting detection process: 342
2024-10-26 21:07:06.967669358  [2024-10-26 23:07:06] frigate.app                    INFO    : Output process started: 344
2024-10-26 21:07:07.104587352  [2024-10-26 23:07:07] frigate.app                    INFO    : Camera processor started for cuisine: 359
2024-10-26 21:07:07.121824018  [2024-10-26 23:07:07] frigate.app                    INFO    : Capture process started for cuisine: 367
2024-10-26 21:07:09.614803638  [2024-10-26 23:07:09] frigate.util.services          ERROR   : Unable to poll vainfo: b"error: XDG_RUNTIME_DIR is invalid or not set in the environment.\nerror: can't connect to X server!\nlibva info: VA-API version 1.17.0\nlibva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/simpledrm_drv_video.so\nlibva info: va_openDriver() returns -1\nvaInitialize failed with error code -1 (unknown libva error),exit\n"
2024-10-26 21:07:09.624520840  [2024-10-26 23:07:09] frigate.util.services          ERROR   : Unable to poll intel GPU stats: No device filter specified and no discrete/integrated i915 devices found
2024-10-26 23:07:36.921514  2024-10-26 21:07:09.624537257
2024-10-26 21:07:09.640867973  [2024-10-26 23:07:09] frigate.video                  ERROR   : cuisine: Unable to read frames from ffmpeg process.
2024-10-26 21:07:09.640872320  [2024-10-26 23:07:09] frigate.video                  ERROR   : cuisine: ffmpeg process is not running. exiting capture thread...
2024-10-26 21:07:27.176558816  [2024-10-26 23:07:27] watchdog.cuisine               ERROR   : Ffmpeg process crashed unexpectedly for cuisine.
2024-10-26 21:07:27.176658502  [2024-10-26 23:07:27] watchdog.cuisine               ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
2024-10-26 21:07:27.177080600  [2024-10-26 23:07:27] ffmpeg.cuisine.detect          ERROR   : [AVHWDeviceContext @ 0x55d432cf8e40] No VA display found for device /dev/dri/renderD128.
2024-10-26 21:07:27.177083759  [2024-10-26 23:07:27] ffmpeg.cuisine.detect          ERROR   : Device creation failed: -22.
2024-10-26 21:07:27.177085399  [2024-10-26 23:07:27] ffmpeg.cuisine.detect          ERROR   : [h264 @ 0x55d432bcac80] No device available for decoder: device type vaapi needed for codec h264.
2024-10-26 21:07:27.177086834  [2024-10-26 23:07:27] ffmpeg.cuisine.detect          ERROR   : Device setup failed for decoder on input stream #0:0 : Invalid argument
2024-10-26 21:07:29.773354695  [2024-10-26 23:07:29] frigate.video                  ERROR   : cuisine: Unable to read frames from ffmpeg process.
2024-10-26 21:07:29.773571024  [2024-10-26 23:07:29] frigate.video                  ERROR   : cuisine: ffmpeg process is not running. exiting capture thread...
2024-10-26 21:07:37.181467026  [2024-10-26 23:07:37] watchdog.cuisine               ERROR   : Ffmpeg process crashed unexpectedly for cuisine.
2024-10-26 21:07:37.181570409  [2024-10-26 23:07:37] watchdog.cuisine               ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
2024-10-26 21:07:37.181614468  [2024-10-26 23:07:37] ffmpeg.cuisine.detect          ERROR   : [AVHWDeviceContext @ 0x558750ee21c0] No VA display found for device /dev/dri/renderD128.
2024-10-26 21:07:37.185397949  [2024-10-26 23:07:37] ffmpeg.cuisine.detect          ERROR   : Device creation failed: -22.
2024-10-26 21:07:37.185518774  [2024-10-26 23:07:37] ffmpeg.cuisine.detect          ERROR   : [h264 @ 0x558750ef4980] No device available for decoder: device type vaapi needed for codec h264.
2024-10-26 21:07:37.185521536  [2024-10-26 23:07:37] ffmpeg.cuisine.detect          ERROR   : Device setup failed for decoder on input stream #0:0 : Invalid argument
2024-10-26 21:07:39.603542904  [2024-10-26 23:07:39] frigate.video                  ERROR   : cuisine: Unable to read frames from ffmpeg process.
2024-10-26 21:07:39.603625610  [2024-10-26 23:07:39] frigate.video                  ERROR   : cuisine: ffmpeg process is not running. exiting capture thread...

D’après les logs j’ai l’impression que Openvino fonctionne c’est le cas ?

Pour les erreurs, c’est peut-être l’accélération matérielle qui ne fonctionne pas.
Peut-être faut-il tester en enlevant la partie correspondante dans ta config :

ffmpeg:
  hwaccel_args: preset-vaapi

Ou alors simplement assigner la partie GPU à HA comme tu le disais un peu plus haut.

bien joué, ca se lance maintenant, et ca semble mieux au niveau du detector inference (17ms)

2024-10-26 21:23:54.004167702  [INFO] Preparing Frigate...
2024-10-26 21:23:54.019419377  [INFO] Starting Frigate...
2024-10-26 21:23:55.730159553  [2024-10-26 23:23:55] frigate.app                    INFO    : Starting Frigate (0.14.1-f4f3cfa)
2024-10-26 21:23:55.730652071  [2024-10-26 23:23:55] frigate.app                    INFO    : Creating directory: /tmp/cache
2024-10-26 21:23:55.730655681  [2024-10-26 23:23:55] frigate.util.config            INFO    : Checking if frigate config needs migration...
2024-10-26 21:23:55.746693672  [2024-10-26 23:23:55] frigate.util.config            INFO    : frigate config does not need migration...
2024-10-26 21:23:55.771863991  [2024-10-26 23:23:55] frigate.util.services          WARNING : Did not detect hwaccel, using a GPU for accelerated video decoding is highly recommended
2024-10-26 21:23:55.785519915  [2024-10-26 23:23:55] peewee_migrate.logs            INFO    : Starting migrations
2024-10-26 21:23:55.786269755  [2024-10-26 23:23:55] peewee_migrate.logs            INFO    : There is nothing to migrate
2024-10-26 21:23:55.803155803  [2024-10-26 23:23:55] frigate.app                    INFO    : Recording process started: 319
2024-10-26 21:23:55.803160344  [2024-10-26 23:23:55] frigate.app                    INFO    : Recording process started: 323
2024-10-26 21:23:55.804245186  [2024-10-26 23:23:55] frigate.app                    INFO    : go2rtc process pid: 98
2024-10-26 21:23:55.826874735  [2024-10-26 23:23:55] detector.ov                    INFO    : Starting detection process: 348
2024-10-26 21:23:55.830818499  [2024-10-26 23:23:55] frigate.app                    INFO    : Output process started: 350
2024-10-26 21:23:55.852262647  [2024-10-26 23:23:55] frigate.app                    INFO    : Camera processor started for cuisine: 365
2024-10-26 21:23:55.867792550  [2024-10-26 23:23:55] frigate.app                    INFO    : Capture process started for cuisine: 366
2024-10-26 21:25:31.003114244  [2024-10-26 23:25:31] frigate.comms.dispatcher       INFO    : Turning on detection for cuisine

Très bien !

Une detector inference de 17ms, je pense que Openvino est bien fonctionnelle, tu peux t’en assurer dans les paramètres de Frigate (indiqué « ov » dans la capture) même si d’après les logs ça à l’air déjà bon.

Du coup, vu que l’accélération matérielle utilise le GPU, si tu veux l’ajouter dans ta config alors il faudra surement assigner le GPU à HA comme tu le disais. Activer cette fonctionnalité supprimera le seul et dernier Warning de tes logs.

J’ ai bien le OV de indiqué, nickel

Maintenant Frigate est stable

Pour le moment, j’ai une caméra, mais d’autres vont suivre après. Je verrai pour ajouter l’accélération matérielle après

1 « J'aime »

Hello @Mathieu_LH ,
Par « augmenter les ressources », qu’entends-tu exactement : la RAM (tu avais quel % d’utilisation ?) ou le nombre de coeurs ?

J’ai remis 1 coeurs (je suis passé à 3), et je suis passé à 8Go de RAM au leiu de 4, mais je pense que c’est le coeur qui a aidé le plus

1 « J'aime »