[SUPPORT] blakeblackshear - Frigate


Recommended Posts

14 hours ago, yayitazale said:

You are missing the usb passtrough. I suggest you to start again with a clean template without deleting this:

 

imagen.thumb.png.b8b7a7e1c3e39aa31416dcb4fc7779bd.png

 

Also, I see in the config file that you are trying to use a yolo model with the coral and that is not posible. As you can read in the docs, the best option is to use the default model that is just fine, so you should comment or delete this part:

 

model:
  path: /config/model_cache/tensorrt/yolov7-320.trt
  input_tensor: nchw
  input_pixel_format: rgb
  width: 320
  height: 320

 

Yolo models are great for nvidia or openvino detectors, but the coral is a different chip that has its own requirements to create a model. If you want to use another custom modelwith the coral, it must be a tflite model. You can find here most of the pretrained models.

It was the model I had configured for when I was using the GPU. I commented this part out and its working! Thanks very much for your help :)

  • Thanks 1
  • Upvote 1
Link to comment
 --gpus=all --shm-size=256mb --mount type=tmpfs,target=/tmp/cache,tmpfs-size=100000000 --restart unless-stopped

 

Can someone explain what the --gpus=all part does of the above Extra Parameters? When is it necessary / useful as its not in the default ?

 

 

Link to comment
18 hours ago, yayitazale said:

Frigate template is pointing to the "latest" tag so yo you should check if you have change that. Any way, you should reads the changelog and the updated docs to find out what changes you need to make to your settings has there are many new things. Also it is recommended to ensure that you are using all the required new variables in the template or reinstall it from scratch deleting you actual container.

Thanks, you're right.

 

It turns out my Community Apps didn't update, which then caused the Docker page to show everything uptodate when they are not.

Link to comment
Posted (edited)
12 hours ago, awediohead said:
 --gpus=all --shm-size=256mb --mount type=tmpfs,target=/tmp/cache,tmpfs-size=100000000 --restart unless-stopped

 

Can someone explain what the --gpus=all part does of the above Extra Parameters? When is it necessary / useful as its not in the default ?

 

 

That parameter is the proposed one to launch frigate with docker-run with a nvidia gpu pass-trough: https://docs.frigate.video/configuration/hardware_acceleration#docker-run-cli---nvidia-gpu

 

As we are on Unraid, there is a more "standar" way to pass-trough defined on the nvidia driver plugin, and it is the one implemented on the template:

 

imagen.thumb.png.d883c9321c1d8c9ed08119a19de5d8e5.png

Edited by yayitazale
  • Thanks 1
Link to comment
  • 2 weeks later...
On 4/4/2024 at 1:59 PM, yayitazale said:

That parameter is the proposed one to launch frigate with docker-run with a nvidia gpu pass-trough: https://docs.frigate.video/configuration/hardware_acceleration#docker-run-cli---nvidia-gpu

 

As we are on Unraid, there is a more "standar" way to pass-trough defined on the nvidia driver plugin, and it is the one implemented on the template:

 

imagen.thumb.png.d883c9321c1d8c9ed08119a19de5d8e5.png

Actually I have a question regarding this as frigate in my case seems to "grab" all GPUs available and this is what i do NOT want.

I have some dedicated GPUs for VMs and if frigate uses those GPUs the VMs won't start, therefore I want to limit frigate to just one GPU. But somehow this seems impossible to me:

 

here's my Frigate Docker Config:

docker run
  -d
  --name='frigate'
  --net='host'
  --privileged=true
  -e TZ="Europe/Berlin"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="Server"
  -e HOST_CONTAINERNAME="frigate"
  -e 'TCP_PORT_5000'='5000'
  -e 'TCP_PORT_8554'='8554'
  -e 'FRIGATE_RTSP_PASSWORD'='***'
  -e 'NVIDIA_VISIBLE_DEVICES'='GPU-bd161e6e-9b15-d71a-ec49-8c085ea02ad1'
  -e 'NVIDIA_DRIVER_CAPABILITIES'='compute,utility,video'
  -e 'TCP_PORT_8555'='8555'
  -e 'UDP_PORT_8555'='8555'
  -e 'TCP_PORT_1984'='1984'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='http://[IP]:[PORT:5000]'
  -l net.unraid.docker.icon='https://raw.githubusercontent.com/yayitazale/unraid-templates/main/frigate.png'
  -v '/mnt/user/appdata/frigate':'/config':'rw'
  -v '/mnt/user/Media/frigate':'/media/frigate':'rw'
  -v '/etc/localtime':'/etc/localtime':'rw'
  --device='/dev/bus/usb/006/002'
  --runtime=nvidia
  --shm-size=256mb
  --mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000
  --restart unless-stopped 'ghcr.io/blakeblackshear/frigate:stable'

440515ff723a15052068c74656fef26f189832b762fe93eb1766155f8130e599

The command finished successfully!

 

The only way is to start the VMs before I start frigate - this is not an option for me.

With this config and one VM started before frigate, frigate still shows up 2 GPUs:

grafik.thumb.png.02a0a3000ebbf5af5e8084a1454f94a9.png

Please how can i remove the rtx 3060? Or in other words how can i limit frigate to the 1030? The 1030 has the GPU id mentioned above in the frigate docker config.

 

Thank you for your advice!

  • Upvote 1
Link to comment
On 4/14/2024 at 10:41 PM, Zeze21 said:

Actually I have a question regarding this as frigate in my case seems to "grab" all GPUs available and this is what i do NOT want.

I have some dedicated GPUs for VMs and if frigate uses those GPUs the VMs won't start, therefore I want to limit frigate to just one GPU. But somehow this seems impossible to me:

 

here's my Frigate Docker Config:

docker run
  -d
  --name='frigate'
  --net='host'
  --privileged=true
  -e TZ="Europe/Berlin"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="Server"
  -e HOST_CONTAINERNAME="frigate"
  -e 'TCP_PORT_5000'='5000'
  -e 'TCP_PORT_8554'='8554'
  -e 'FRIGATE_RTSP_PASSWORD'='***'
  -e 'NVIDIA_VISIBLE_DEVICES'='GPU-bd161e6e-9b15-d71a-ec49-8c085ea02ad1'
  -e 'NVIDIA_DRIVER_CAPABILITIES'='compute,utility,video'
  -e 'TCP_PORT_8555'='8555'
  -e 'UDP_PORT_8555'='8555'
  -e 'TCP_PORT_1984'='1984'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='http://[IP]:[PORT:5000]'
  -l net.unraid.docker.icon='https://raw.githubusercontent.com/yayitazale/unraid-templates/main/frigate.png'
  -v '/mnt/user/appdata/frigate':'/config':'rw'
  -v '/mnt/user/Media/frigate':'/media/frigate':'rw'
  -v '/etc/localtime':'/etc/localtime':'rw'
  --device='/dev/bus/usb/006/002'
  --runtime=nvidia
  --shm-size=256mb
  --mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000
  --restart unless-stopped 'ghcr.io/blakeblackshear/frigate:stable'

440515ff723a15052068c74656fef26f189832b762fe93eb1766155f8130e599

The command finished successfully!

 

The only way is to start the VMs before I start frigate - this is not an option for me.

With this config and one VM started before frigate, frigate still shows up 2 GPUs:

grafik.thumb.png.02a0a3000ebbf5af5e8084a1454f94a9.png

Please how can i remove the rtx 3060? Or in other words how can i limit frigate to the 1030? The 1030 has the GPU id mentioned above in the frigate docker config.

 

Thank you for your advice!

Did you tried with privileged = false?

  • Thanks 1
Link to comment

So after running both the Coral with 12th Gen Intel QSV and Nvidia Quadro RTX 4000 for Frigate processing for some time, the Coral/Intel setup significantly uses less power and generates much less heat than the Nvidia method. Overall, this resulted in 100watt less power usage and Quadro RTX 4000 is no longer running a constant 60C.

Unrelated to unRAID but kind of wondering how the HA Yellow/RP4 would handle Frigate with Coral attached, I know others are doing it but just unsure about how many cameras and what not they are able to handle.  

 

Edited by BrandonG777
  • Upvote 1
Link to comment

Quick question.

 

I have removed my gpu as I do not needit anymore. Removed the gpus all and device object from the container config. All working fine.

I have an amd 3400g.
Will it use the integrated graphics of this cpu automatically or do I need to add an extra parameter?


 

error-gpu

There was an error getting usage stats. This does not mean hardware acceleration is not working. Either your GPU does not support this or Frigate does not have proper access to get statistics. This is expected for the Home Assistant addon.

UPDATE: Fixed.
Added variable radeonsi

 

amd-vaapi

GPU %Memory %

2.50%19.27%

Edited by only-university6482
  • Upvote 1
Link to comment
Quick question.
 
I have removed my gpu as I do not needit anymore. Removed the gpus all and device object from the container config. All working fine.

I have an amd 3400g.
Will it use the integrated graphics of this cpu automatically or do I need to add an extra parameter?


 
error-gpu
There was an error getting usage stats. This does not mean hardware acceleration is not working. Either your GPU does not support this or Frigate does not have proper access to get statistics. This is expected for the Home Assistant addon.

UPDATE: Fixed.
Added variable radeonsi

 
amd-vaapi
GPU %Memory %
2.50%19.27%

You will need to change your config though I’ve not worked through getting an AMD cpu/gpu setup with Frigate. However, there are example config you can copy from the frigate site. I believe what you are looking for is VAAPI or something like that.


Sent from my iPhone using Tapatalk
Link to comment

Hi! I had frigate running with a reolink doorbell with no problems and today out of nowhere the setup broke and now I can't get it to work on frigate but in the app it's fine. Here's the config that I had:

 

go2rtc:
  streams:
    doorbell:
      - "ffmpeg:http://192.168.50.19/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&xxxxxxxxxxxx=password#video=copy#audio=copy#audio=opus"
      - rtsp://192.168.50.19/Preview_01_sub
    doorbell_sub:
      - "ffmpeg:http://192.168.50.19/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&xxxxxxxxxxxx=password"

cameras:
  doorbell:
    ffmpeg:
      inputs:
        - path: rtsp://frigate:[email protected]:554/h264Preview_01_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
        - path: rtsp://frigate:[email protected]:554/h265Preview_01_main
          input_args: preset-rtsp-restream
          roles:
            - record

 

logs:

2024-04-27 15:03:11.017068884  [2024-04-27 15:03:11] frigate.video                  ERROR   : doorbell: Unable to read frames from ffmpeg process.
2024-04-27 15:03:11.017109822  [2024-04-27 15:03:11] frigate.video                  ERROR   : doorbell: ffmpeg process is not running. exiting capture thread...
2024-04-27 15:03:20.843099157  [2024-04-27 15:03:20] watchdog.doorbell              ERROR   : Ffmpeg process crashed unexpectedly for doorbell.
2024-04-27 15:03:20.843155865  [2024-04-27 15:03:20] watchdog.doorbell              ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
2024-04-27 15:03:20.843184840  [2024-04-27 15:03:20] ffmpeg.doorbell.detect         ERROR   : [tcp @ 0x5581eaf5fe40] Connection to tcp://192.168.50.19:554?timeout=5000000 failed: Connection refused
2024-04-27 15:03:20.843212273  [2024-04-27 15:03:20] ffmpeg.doorbell.detect         ERROR   : rtsp://*:*@192.168.50.19:554/h264Preview_01_sub: Connection refused
2024-04-27 15:03:20.855825405  [2024-04-27 15:03:20] ffmpeg.doorbell.record         ERROR   : [tcp @ 0x5625c0c0ef40] Connection to tcp://192.168.50.19:554?timeout=5000000 failed: Connection refused
2024-04-27 15:03:20.855858357  [2024-04-27 15:03:20] ffmpeg.doorbell.record         ERROR   : rtsp://*:*@192.168.50.19:554/h265Preview_01_main: Connection refused
2024-04-27 15:03:20.855894266  [2024-04-27 15:03:20] watchdog.doorbell              INFO    : Terminating the existing ffmpeg process...
2024-04-27 15:03:20.855928000  [2024-04-27 15:03:20] watchdog.doorbell              INFO    : Waiting for ffmpeg to exit 

 

and now the changes that still don't work:

 

go2rtc:
  streams:
    doorbell:
      - "ffmpeg:http://192.168.50.19/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=xxxxxxxxxx#video=copy#audio=copy#audio=opus"
      - rtsp://192.168.50.19/Preview_01_sub
    doorbell_sub:
      - "ffmpeg:http://192.168.50.19/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=xxxxxxxxxxx"

cameras:
  doorbell:
    ffmpeg:
      inputs:
        - path: rtsp://192.168.50.233:8554/doorbell_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
        - path: rtsp://192.168.50.233:8554/doorbell
          input_args: preset-rtsp-restream
          roles:
            - record

 

logs:

 

2024-04-27 14:57:04.420341977  [2024-04-27 14:57:04] frigate.video                  ERROR   : doorbell: Unable to read frames from ffmpeg process.
2024-04-27 14:57:04.420386843  [2024-04-27 14:57:04] frigate.video                  ERROR   : doorbell: ffmpeg process is not running. exiting capture thread...
2024-04-27 14:57:23.356757523  [2024-04-27 14:57:23] watchdog.doorbell              ERROR   : Ffmpeg process crashed unexpectedly for doorbell.
2024-04-27 14:57:23.356818930  [2024-04-27 14:57:23] watchdog.doorbell              ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
2024-04-27 14:57:23.356867863  [2024-04-27 14:57:23] ffmpeg.doorbell.detect         ERROR   : [rtsp @ 0x558cb0f31c40] method DESCRIBE failed: 404 Not Found
2024-04-27 14:57:23.356909863  [2024-04-27 14:57:23] ffmpeg.doorbell.detect         ERROR   : rtsp://192.168.50.233:8554/doorbell_sub: Server returned 404 Not Found
2024-04-27 14:57:23.376084347  [2024-04-27 14:57:23] ffmpeg.doorbell.record         ERROR   : [rtsp @ 0x563b3bcbfd80] method DESCRIBE failed: 404 Not Found
2024-04-27 14:57:23.376185961  [2024-04-27 14:57:23] ffmpeg.doorbell.record         ERROR   : rtsp://192.168.50.233:8554/doorbell: Server returned 404 Not Found
2024-04-27 14:57:23.376231718  [2024-04-27 14:57:23] watchdog.doorbell              INFO    : Terminating the existing ffmpeg process...
2024-04-27 14:57:23.376264420  [2024-04-27 14:57:23] watchdog.doorbell              INFO    : Waiting for ffmpeg to exit gracefully...

 

don't really know If the first config was fine and something else happened, can anyone help?

Edited by renk1
Link to comment
That solved it! Thank you.
Another thing:
When I look at the frigate container in doozle it uses ~150% of the CPU while basically all other containers use less than 10%. Can I reduce the cpu thirst of frigate

Did you setup a substream (720p 5fps or lower resolution) I see around 20% constant usage on my i5-12500 but I have 8 cameras being monitored and also using a Coral USB.

Also something to think about, your wifi doorbell will have a constant video stream running across your wifi which could adversely affect wifi performance. I originally did this with my Amcrest/Wyze doorbells. Ended up just adding another analog camera through my Amcrest DVR for $25. This also prevents a blind spot for my packages being put directly under the doorbell cams. When I started this project I thought I had to convert all my cams to POE digital cams but analog video at 720p still works great and pricing on a good analog DVR is less than $100 these days. Highly recommend Amcrest but full disclosure, I’ve reviewed their devices for years which they have provided at no cost.


Sent from my iPhone using Tapatalk
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.