Hardware Recommendations for Running Frigate with 15 Cameras + Google Coral

HugoCCTV

n3wb
Feb 26, 2024
3
0
Sweden
Hi everyone,

I'm currently running Frigate with 15 cameras and one Google Coral TPU in an office building setup. At the moment, I'm using a Beelink Mini S12 Pro to handle everything, but the CPU is constantly at 100%, and the system starts to lag and struggle to keep up.

I'm wondering if this hardware is too weak for my setup. Do you have any recommendations for a better system that could handle this load more smoothly? Also, would it make sense to add a second Google Coral, or is the bottleneck more likely the CPU?

Any advice or hardware suggestions would be greatly appreciated!

Thanks!
 
What do you see in the System Metrics?

For example I have 8 cameras (4MP) and the TPU is peaking at 11-12%, and my CPU (an old i5-7500) runs at about 30-45%, most of which is from go2rtc (I am trying to optimize this without success), the rest is about 9% for recording and anything else is to run the system.

Do you use hardware acceleration? This would be in your compose file (assuming you built this in Docker). Make sure you have the right configuration for your CPU from the documentation:

CPU GenerationIntel DriverRecommended PresetNotes
gen1 - gen7i965preset-vaapiqsv is not supported
gen8 - gen12iHDpreset-vaapipreset-intel-qsv-* can also be used
gen13+iHD / Xepreset-intel-qsv-*
Intel Arc GPUiHD / Xepreset-intel-qsv-*

Is there anything else running on your machine? Did you reduce the resolution and the frames per second (fps) for the detect stream? I reduced my fps to 3 and I haven't seen a difference.

Example (last block "detect"):

Code:
cameras:
  camera1:
    ffmpeg:
      output_args:
        record: preset-record-generic-audio-aac
      inputs:
        - path: rtsp:/127.0.0.1:8554/camera1_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
        - path: rtsp:/127.0.0.1:8554/camera1
          input_args: preset-rtsp-restream
          roles:
            - record
            - audio
    detect:
      width: 704
      height: 480
      fps: 3
 
Last edited:
Also, are you using sub stream for detection?

Here is my system metrics with an overkill NVR. 9 cameras, 5 4mp, 4 8mp, 15fps, h.264, 1280x720 sub stream for detection, Refurb HP Elite SFF 600 G9 Intel i5-12500 @ 3.00GHz, 32gb ram. Frigate in docker on Debian. qsv-h264 hardware decoding, dual edge tpu in PCI-E card. That should handle more than 15 comfortably.

I tried frigate on a docker container on Zima board, an old core i3-2100T unraid server, and on a hp G4 mini with an i5-8500T. I either had issues getting hardware decoding to work, or couldn't get the coral to work properly.

The i5-8500 was sufficient for decoding and motion detection, but no room for the dual edge TPU, and my usb TPU would work, but overheat and crash frigate.

ChatGPT says that the N100 with hardware decoding on should be capable of the load, but only if the detect resolution is low enough.
 

Attachments

  • 2025-09-13-203947_hyprshot.png
    2025-09-13-203947_hyprshot.png
    29.7 KB · Views: 5