frigate: [Support]: unable to add the ffmpeg hardware acceleration for my Raspberry Pi4

Describe the problem you are having

I hope I’m not missing something obvious, I have been looking at this for a while before reaching out 😉

I seem unable to add the ffmpeg hardware acceleration for my Raspberry Pi4 using the following lines: ffmpeg: hwaccel_args: - -c:v - h264_v4l2m2m

I have tried to add globally and under a specific single camera. All I get is a pure green image. Without adding these lines everything works great, although obviously the CPU usage is quite hit.

In these logs describing the issue, I have only added the acceleration for the camera Living_Room_Low

I have modified the /boot/config.txt file to 512 - gpu_mem=512 Confirmed this by going to the homeassistant container console: bash-5.1# /opt/vc/bin/vcgencmd get_mem gpu gpu=512M

Version

DEBUG 0.9.1-800F33E

Frigate config file

mqtt:
  host: 192.168.0.130
  port: 1883
  topic_prefix: frigate
  client_id: frigate
  user: <USERNAME>
  password: <PASSWORD>
  stats_interval: 60

detectors:
  coral:
    type: edgetpu
    device: usb

detect:
  width: 640
  height: 360
  fps: 5
  enabled: True
  max_disappeared: 25

record:
  enabled: True
  retain_days: 0
  events:
    retain:
      default: 10

snapshots:
  enabled: true
  timestamp: false
  bounding_box: true
  retain:
    default: 10

# Optional: birdseye configuration
birdseye:
  # Optional: Enable birdseye view (default: shown below)
  enabled: True
  # Optional: Width of the output resolution (default: shown below)
  width: 1280
  # Optional: Height of the output resolution (default: shown below)
  height: 720
  # Optional: Encoding quality of the mpeg1 feed (default: shown below)
  # 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
  quality: 31
  # Optional: Mode of the view. Available options are: objects, motion, and continuous
  #   objects - cameras are included if they have had a tracked object within the last 30 seconds
  #   motion - cameras are included if motion was detected in the last 30 seconds
  #   continuous - all cameras are included always
  mode: objects

cameras:
## Living Room Low Camera
  Living_Room_Low:
    ffmpeg:
      hwaccel_args:
        - -c:v
        - h264_v4l2m2m
      inputs:
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.206:554/av_stream/ch1
          roles:
            - detect
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.206:554/av_stream/ch0
          roles:
            - record
    objects:
      track:
        - person
        - dog
      filters:
        person:
          threshold: 0.75
          min_score: 0.70
        dog:
          threshold: 0.75
          min_score: 0.70
    motion:
      mask:
        - 0,75,209,61,209,0,0,0
        - 380,74,482,74,487,24,382,21
## Living Room High Camera
  Living_Room_High:
    ffmpeg:
      inputs:
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.205:554/av_stream/ch1
          roles:
            - detect
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.205:554/av_stream/ch0
          roles:
            - record
    objects:
      track:
        - person
        - dog
      filters:
        person:
          threshold: 0.75
          min_score: 0.70
        dog:
          threshold: 0.75
          min_score: 0.70
    motion:
      mask:
        - 0,18,155,18,155,0,0,0
  ## Patio camera
  Patio:
    ffmpeg:
      inputs:
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.203:554/av_stream/ch1
          roles:
            - detect
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.203:554/av_stream/ch0
          roles:
            - record
    objects:
      track:
        - person
        - dog
      filters:
        person:
          threshold: 0.75
          min_score: 0.70
        dog:
          threshold: 0.75
          min_score: 0.70
    motion:
      mask:
        - 0,108,640,108,640,0,0,0
  ## Kitchen Camera
  Kitchen:
    ffmpeg:
      inputs:
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.204:554/av_stream/ch1
          roles:
            - detect
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.204:554/av_stream/ch0
          roles:
            - record
    objects:
      track:
        - person
        - dog
      filters:
        person:
          threshold: 0.75
          min_score: 0.70
        dog:
          threshold: 0.65
          min_score: 0.60
    motion:
      mask:
        - 0,18,155,18,155,0,0,0
    zones:
      Cam_Zone_Back_Door:
        coordinates: 365,243,452,257,471,165,388,154
  ## Bedroom Camera
  Bedroom:
    ffmpeg:
      inputs:
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.207:554/av_stream/ch1
          roles:
            - detect
        - path: rtsp://rtsp:<PASSWORD>@192.168.0.207:554/av_stream/ch0
          roles:
            - record
    objects:
      track:
        - person
        - dog
      filters:
        person:
          threshold: 0.75
          min_score: 0.70
        dog:
          threshold: 0.75
          min_score: 0.70
    motion:
      mask:
        - 0,18,155,18,155,0,0,0

Relevant log output

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[2021-10-16 16:28:01] frigate.app                    INFO    : Starting Frigate (0.9.1-800f33e)
[2021-10-16 16:28:01] frigate.app                    INFO    : Creating directory: /tmp/cache
[2021-10-16 16:28:01] frigate.app                    WARNING : Camera Living_Room_Low has rtmp enabled, but rtmp is not assigned to an input.
[2021-10-16 16:28:01] frigate.app                    WARNING : Camera Living_Room_High has rtmp enabled, but rtmp is not assigned to an input.
[2021-10-16 16:28:01] frigate.app                    WARNING : Camera Patio has rtmp enabled, but rtmp is not assigned to an input.
[2021-10-16 16:28:01] frigate.app                    WARNING : Camera Kitchen has rtmp enabled, but rtmp is not assigned to an input.
[2021-10-16 16:28:01] frigate.app                    WARNING : Camera Bedroom has rtmp enabled, but rtmp is not assigned to an input.
Starting migrations
[2021-10-16 16:28:01] peewee_migrate                 INFO    : Starting migrations
There is nothing to migrate
[2021-10-16 16:28:01] peewee_migrate                 INFO    : There is nothing to migrate
[2021-10-16 16:28:01] frigate.mqtt                   INFO    : MQTT connected
[2021-10-16 16:28:01] frigate.app                    INFO    : Output process started: 219
[2021-10-16 16:28:01] detector.coral                 INFO    : Starting detection process: 217
[2021-10-16 16:28:01] frigate.edgetpu                INFO    : Attempting to load TPU as usb
[2021-10-16 16:28:01] frigate.app                    INFO    : Camera processor started for Living_Room_Low: 221
[2021-10-16 16:28:01] ws4py                          INFO    : Using epoll
[2021-10-16 16:28:02] frigate.app                    INFO    : Camera processor started for Living_Room_High: 226
[2021-10-16 16:28:02] frigate.app                    INFO    : Camera processor started for Patio: 230
[2021-10-16 16:28:02] frigate.app                    INFO    : Camera processor started for Kitchen: 234
[2021-10-16 16:28:02] frigate.app                    INFO    : Camera processor started for Bedroom: 235
[2021-10-16 16:28:02] frigate.app                    INFO    : Capture process started for Living_Room_Low: 236
[2021-10-16 16:28:02] frigate.app                    INFO    : Capture process started for Living_Room_High: 238
[2021-10-16 16:28:02] frigate.app                    INFO    : Capture process started for Patio: 241
[2021-10-16 16:28:02] frigate.app                    INFO    : Capture process started for Kitchen: 244
[2021-10-16 16:28:02] frigate.app                    INFO    : Capture process started for Bedroom: 250
[2021-10-16 16:28:02] ws4py                          INFO    : Using epoll
[2021-10-16 16:28:05] frigate.edgetpu                INFO    : TPU found
[2021-10-16 16:28:22] watchdog.Living_Room_Low       INFO    : No frames received from Living_Room_Low in 20 seconds. Exiting ffmpeg...
[2021-10-16 16:28:22] watchdog.Living_Room_Low       INFO    : Waiting for ffmpeg to exit gracefully...
[2021-10-16 16:28:52] watchdog.Living_Room_Low       INFO    : FFmpeg didnt exit. Force killing...
[2021-10-16 16:28:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg sent a broken frame. memoryview assignment: lvalue and rvalue have different structures
[2021-10-16 16:28:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg process is not running. exiting capture thread...
[2021-10-16 16:29:02] watchdog.Living_Room_Low       ERROR   : FFMPEG process crashed unexpectedly for Living_Room_Low.
[2021-10-16 16:29:02] watchdog.Living_Room_Low       ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
[2021-10-16 16:29:02] watchdog.Living_Room_Low       ERROR   : You may have invalid args defined for this camera.
[2021-10-16 16:29:02] ffmpeg.Living_Room_Low.detect  ERROR   : Guessed Channel Layout for Input Stream #0.1 : mono
[2021-10-16 16:29:22] watchdog.Living_Room_Low       INFO    : No frames received from Living_Room_Low in 20 seconds. Exiting ffmpeg...
[2021-10-16 16:29:22] watchdog.Living_Room_Low       INFO    : Waiting for ffmpeg to exit gracefully...
[2021-10-16 16:29:52] watchdog.Living_Room_Low       INFO    : FFmpeg didnt exit. Force killing...
[2021-10-16 16:29:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg sent a broken frame. memoryview assignment: lvalue and rvalue have different structures
[2021-10-16 16:29:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg process is not running. exiting capture thread...
[2021-10-16 16:30:02] watchdog.Living_Room_Low       ERROR   : FFMPEG process crashed unexpectedly for Living_Room_Low.
[2021-10-16 16:30:02] watchdog.Living_Room_Low       ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
[2021-10-16 16:30:02] watchdog.Living_Room_Low       ERROR   : You may have invalid args defined for this camera.
[2021-10-16 16:30:02] ffmpeg.Living_Room_Low.detect  ERROR   : Guessed Channel Layout for Input Stream #0.1 : mono
[2021-10-16 16:30:22] watchdog.Living_Room_Low       INFO    : No frames received from Living_Room_Low in 20 seconds. Exiting ffmpeg...
[2021-10-16 16:30:22] watchdog.Living_Room_Low       INFO    : Waiting for ffmpeg to exit gracefully...
[2021-10-16 16:30:52] watchdog.Living_Room_Low       INFO    : FFmpeg didnt exit. Force killing...
[2021-10-16 16:30:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg sent a broken frame. memoryview assignment: lvalue and rvalue have different structures
[2021-10-16 16:30:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg process is not running. exiting capture thread...
[2021-10-16 16:31:02] watchdog.Living_Room_Low       ERROR   : FFMPEG process crashed unexpectedly for Living_Room_Low.
[2021-10-16 16:31:02] watchdog.Living_Room_Low       ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
[2021-10-16 16:31:02] watchdog.Living_Room_Low       ERROR   : You may have invalid args defined for this camera.
[2021-10-16 16:31:02] ffmpeg.Living_Room_Low.detect  ERROR   : Guessed Channel Layout for Input Stream #0.1 : mono
[2021-10-16 16:31:22] watchdog.Living_Room_Low       INFO    : No frames received from Living_Room_Low in 20 seconds. Exiting ffmpeg...
[2021-10-16 16:31:22] watchdog.Living_Room_Low       INFO    : Waiting for ffmpeg to exit gracefully...
[2021-10-16 16:31:52] watchdog.Living_Room_Low       INFO    : FFmpeg didnt exit. Force killing...
[2021-10-16 16:31:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg sent a broken frame. memoryview assignment: lvalue and rvalue have different structures
[2021-10-16 16:31:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg sent a broken frame. read of closed file
[2021-10-16 16:31:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg sent a broken frame. read of closed file
[2021-10-16 16:31:52] frigate.video                  INFO    : Living_Room_Low: ffmpeg process is not running. exiting capture thread...
[2021-10-16 16:32:02] watchdog.Living_Room_Low       ERROR   : FFMPEG process crashed unexpectedly for Living_Room_Low.
[2021-10-16 16:32:02] watchdog.Living_Room_Low       ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
[2021-10-16 16:32:02] watchdog.Living_Room_Low       ERROR   : You may have invalid args defined for this camera.
[2021-10-16 16:32:02] ffmpeg.Living_Room_Low.detect  ERROR   : Guessed Channel Layout for Input Stream #0.1 : mono
[2021-10-16 16:32:23] watchdog.Living_Room_Low       INFO    : No frames received from Living_Room_Low in 20 seconds. Exiting ffmpeg...
[2021-10-16 16:32:23] watchdog.Living_Room_Low       INFO    : Waiting for ffmpeg to exit gracefully...

FFprobe output from your camera

root@ccab4aaf-frigate:/opt/frigate# ffprobe rtsp://<USERNAME>:<PASSWORD>@192.168.0.206:554/av_stream/ch1
ffprobe version 4.3.1 Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-rkmpp --enable-libdrm --enable-v4l2_m2m --enable-neon --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, rtsp, from 'rtsp://<USERNAME>:<PASSWORD>@192.168.0.206:554/av_stream/ch1':
  Metadata:
    title           : DYrtpsion
  Duration: N/A, start: 0.356000, bitrate: N/A
    Stream #0:0: Video: h264, yuv420p(progressive), 640x360, 10 fps, 10 tbr, 90k tbn, 20 tbc
    Stream #0:1: Audio: pcm_alaw, 8000 Hz, 1 channels, s16, 64 kb/s


root@ccab4aaf-frigate:/opt/frigate# ffprobe rtsp://<USERNAME>:<PASSWORD>@192.168.0.206:554/av_stream/ch0
ffprobe version 4.3.1 Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-rkmpp --enable-libdrm --enable-v4l2_m2m --enable-neon --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, rtsp, from 'rtsp://<USERNAME>:<PASSWORD>@192.168.0.206:554/av_stream/ch0':
  Metadata:
    title           : DYrtpsion
  Duration: N/A, start: 1.453000, bitrate: N/A
    Stream #0:0: Video: h264, yuv420p(progressive), 1920x1080, 10 fps, 10 tbr, 90k tbn, 20 tbc
    Stream #0:1: Audio: pcm_alaw, 8000 Hz, 1 channels, s16, 64 kb/s

Frigate stats

{"Bedroom":{"camera_fps":5.1,"capture_pid":250,"detection_fps":2.4,"pid":235,"process_fps":4.5,"skipped_fps":0.0},"Kitchen":{"camera_fps":4.33,"capture_pid":244,"detection_fps":0.0,"pid":234,"process_fps":2.5,"skipped_fps":0.0},"Living_Room_High":{"camera_fps":5.1,"capture_pid":238,"detection_fps":7.8,"pid":226,"process_fps":3.6,"skipped_fps":0.0},"Living_Room_Low":{"camera_fps":0.0,"capture_pid":236,"detection_fps":0.0,"pid":221,"process_fps":0.0,"skipped_fps":0.0},"Patio":{"camera_fps":5.0,"capture_pid":241,"detection_fps":6.3,"pid":230,"process_fps":5.0,"skipped_fps":0.0},"detection_fps":16.5,"detectors":{"coral":{"detection_start":1634398738.87413,"inference_speed":49.29,"pid":217}},"service":{"storage":{"/dev/shm":{"free":1757.4,"mount_type":"tmpfs","total":1760.4,"used":3.0},"/media/frigate/clips":{"free":187931.6,"mount_type":"ext4","total":235535.3,"used":38003.3},"/media/frigate/recordings":{"free":187931.6,"mount_type":"ext4","total":235535.3,"used":38003.3},"/tmp/cache":{"free":1759.0,"mount_type":"tmpfs","total":1760.4,"used":1.4}},"uptime":656,"version":"0.9.1-800f33e"}}

Operating system

HassOS

Install method

HassOS Addon

Coral version

USB

Network connection

Wired

Camera make and model

Sonoff WiFi IP Camera 1080P

Any other information that may be helpful

No response

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 2
  • Comments: 262 (37 by maintainers)

Most upvoted comments

This will definitely be fixed in 0.11.0. I even ordered an extra RPi4 just for testing.

Following further testing, I can confirm on my end that ffmpeg: hwaccel_args: -c:v h264_v4l2m2m

works on my RPI 4 4gb by rolling back the kernel from: Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux to : Linux raspberrypi 5.10.60-v8+ #1448 SMP PREEMPT Sat Aug 21 10:48:18 BST 2021 aarch64 GNU/Linux

uname -a sudo rpi-update fb7c402191aa56c8982982b8f31a0bb41743bea1 sudo reboot

Yea. That’s what I suspected. This is next on my list after 0.10.0.

@blakeblackshear Nice, just got yourself a sponsor 😃 It’s not a lot but I would encourage others to do the same to keep this great project going.

I think this commit to FFmpeg will fix the issue: https://github.com/FFmpeg/FFmpeg/commit/3fc72c9fc16df3b7edc329ed9eeaaa1e65976c33

I’m working on testing that theory. I’ll keep you posted 😃

Hello, sorry for hijacking the thread, but I’ve recently experienced this problem and I think maybe this information is useful

I was running my Rpi4 (8GB) with Ubuntu 20.04 with hw accel options with no problems, my install doesn’t use Hassio or anything like it, just docker on the OS and I use docker compose to ease things up. Frigate was running like a champ.

I’ve changed my setup to Raspberry Pi OS (Raspbian) bullseye (to get more CPU speed) and maintained the configuration, settings and all options the same for all the containers, however, in this OS it doesn’t work with hw acceleration turned on, green screen as other users report, if I change my SD to the old OS, it works again with hw acceleration.

Best regards.

@nkwood I just pushed a fix for this

Thanks! I can confirm the beta add-on fixes hardware acceleration on my Raspberry PI 4 running HassOS 64-bit, where the previous releases would green screen with the ffmpeg errors with hw acceleration switched on. 🎉

I went ahead and pushed an updated beta addon version. I haven’t tested it with HassOS at all, but hwaccel definitely works on the official 64bit raspberry pi OS.

Is this a fair assessment?

Yes

Re: “how on earth did you end up here in the first place?” Is probably aimed at me… There are several threads on this topic (hw accelerator fails), and I have posted comments against a few. However my story is I can make hw acceleration work by using two streams for each cam, one for detect and a higher resolution for recording. You’ll see my config posted elsewhere… However, even though I don’t get green screens, or errors in the log, if I turn off hw acceleration it seems to make no difference to cpu usage…so perhaps it isnt working. I’d like to use higher resolution for detection, as some objects eg birds will show better detection rates…

Hey for all the people with google coral on raspberry pi Its safer to use an powered USB hub I had some trouble to in the beginning the google coral usb uses alot of power I have a setup on an rpi 4 where i have an nvme ssd on usb that usb is connected directly in the pi and the google coral usb in this one: https://nl.aliexpress.com/item/1005001413424993.html?spm=a2g0o.order_list.order_list_main.52.3a6279d2O538lU&gatewayAdapt=glo2nld Please trust me on my word its a great hub. just make sure you order the version with the external USB C power and put an original raspberry pi usb c power adapter of 3A on both the rpi4 and the usb hub with only the google coral on it and make sure the wires are not crossed 😉

i hope this helps some people I don’t say it will solve all issues with hwaccess maybe some power issues grz alex

I have the same problem, so I installed beta version of Frigate Full access and it is working. But CPU usage of this add-on is 18% and memory 6%. If I disable the HW acceleration, the CPU usage is only 14% and memory 5%. I assumed that when I use HW acceleration, the CPU usage should be lower.

@nkwood I just pushed a fix for this

@1ubuntuuser I was hoping to remove support for arm/v7 entirely with this release, but if that architecture works with the new dockerfile without modification, I will consider it.

I’ll bet there are hundreds if not thousands with PI’s waiting for this to be fixed…

For the first time since I updated off haos 6.6. Working streams:

Screenshot 2022-02-08 at 17 06 57

I replace ffmpeg version 4.3.1 that was used in 2.3 Frigate NVR Add-on with a custom build of 4.3.2 that include a back port of the fix I link to above.

@blakeblackshear ^

unfortunately there is for RPI 4 users no update in 7.1 to 7.2, see :

home-assistant/operating-system#1713

Just to re-affirm this, today I had to restore my Home Assistant due to a failing SSD or a corrupt file system (still getting to the bottom of that) but needless to say, when I restored my HA backup, it automatically updated my OS to 7.2.

This couldn’t be better proof of the issue because my system before the crash was working perfectly with Frigate 2.3 and HA core 2021-12.10 , OS 6.6. I have restored from backup and everything is identical except HA updated the OS to 7.2 and now Frigate has green screened all my cameras! Without touching any config, I am going to re-downgrade the HA OS to 6.6 momentarily…

I have now done some research on this matter. I rebuilt the Docker containers with ffmpeg 4.4.1. I also installed the last stable x264 version. I built the containers both cross-compiled and directly on the Pi. Unfortunately all unsuccessful. If you activate the hardware acceleration only a green window appears. And overall, the setup seems to be significantly more unstable than before.

At the moment I am trying to build the containers directly from debian:stable, because I noticed that the Ubunut kernel headers seems not to be suitable for the Raspian kernel. However, it is not entirely clear to me whether ffmpeg even uses the kernel headers to compile v4l2 support.

However, I have to admit that the video world is not exactly my area of expertise and that it is therefore more try and error than targeted development. But maybe it will still help somehow.

I tried setting the VDU_Mem in mine to 256 - but it seems to make no difference to memory or processor use. Remember though - in my setup Hassos 64 bit latest OS, and HA, and Frigate, I am running three cameras - but the detection (with Coral USB) is on substreams of 640x360 - and hardware accelleration is on. I get no errors; but Im skeptical as to whether the HW accelleration is doing anything, as CPU use is about the same (about 45%) whether its on or off.

My 4GB Rpi (with USB Coral) was running HASSOS & Frigate with 4 cameras with pretty low CPU utilisation for many months before I ran into these issues. Nothing in my setup changed other than updating HASS and Frigate. I did try upping the memory for the GPU memory but it made no difference which I’m not surprised about because I wasn’t having any issue before the updates with the stock GPU memory setting.

This case (and other related cases) have been open for over a month now, I really didn’t expect all of us to be suffering from crippled systems for this long. I wish I hadn’t upgraded, everything was running fine, I only upgraded because I didn’t want my HA and Integrations to fall too far behind 😦 I’m sure developers don’t want that either but this isn’t helping that ideology, I’m even more in the camp of “if it ain’t broke, don’t upgrade it.”

I haven’t had time to reproduce and troubleshoot this myself yet. I don’t normally run HassOS, so I need to flash one of my Pi4s to reproduce it and try to come up with a fix.

Is HassOS based on Raspberry Pi OS/Debian by any chance? If so it could be the same kernel issue: https://github.com/blakeblackshear/frigate/issues/1882

They updated the kernel to 5.10.75 in the latest release (Home Assistant OS Release-6 build 6): https://github.com/home-assistant/operating-system/commit/a4edece7192dad13cbd8636fbf92e619820e8510

And they’ve just downgraded the kernel to 5.10.63: https://github.com/home-assistant/operating-system/commit/6a8b69f79302dc693671e07499cc375c71b3c234

2 cameras, one 720p one 1080p 60% on a Rpi4 with a coral TPU

Have you masked out your on-screen camera clocks? And any other unnecessary areas, trees, clouds, bushes, tv’s, etc.

I have on the 1080p one that looks to the garden, but haven’t on the 720p one which is in the living room. The only thing moving there is the clock, I doubt it creates any motion triggers but I will mask it out just to be sure.

Edit: No change but I noticed that during the night the CPU averaged below 40%, so either there was another process wasting resources or too many motion triggers.

@Papadoma probably means you don’t have the full access addon installed.

At least the logs show its finding the device now:

[h264_v4l2m2m @ 0x55c5162490] Using device /dev/video10

Try updating your hwaccel_args to this:

hwaccel_args:
  - -c:v
  - h264_v4l2m2m   
  - -pix_fmt
  - yuv420p

@blakeblackshear Will add the following now to my setup and report back 👍 global_args: -hide_banner -loglevel info

FYI: I’m running: Home Assistant core-2021.10.6 , supervisor-2021.10.0 , OS 6.5 Frigate reports 2.0 on the supervisor information page but when I start Frigate, it reports “Starting Frigate (0.9.1-800f33e)” in the log!?