Will this box run Frigate for this many cameras?

Pick a platform, the camera count and the detect stream. The engine answers with Frigate's own facts: which detector the platform runs and which image tag it needs, whether that detector keeps up with cameras × detect fps (Frigate's capacity rule against the inference speeds Frigate publishes), whether the platform decodes the detect streams from its datasheet, which ffmpeg hardware-acceleration preset applies, and a config snippet you can paste. FIT, FIT WITH RISKS, NEEDS VALIDATION or NO FIT — with the camera ceiling and every other mapped platform ranked beside it.

01 · Define the Frigate deployment

Platform
Hardware
Loading hardware catalog…
Cameras & detect stream
Cameras
1
2
4
8
12
16
24
32
Custom count
Detect stream
480p
720p
1080p
Source fps
10
15
25
30
Codec
H.264
H.265
Detection load
Detect fps
5 — Frigate recommends
10
15
Motion share
100 % — worst case
50 %
30 %
Advanced
Recording
Passthrough (copy)
Re-encode
Select a platform to continue

03 · How this works

Frigate's own sizing rule

Frigate states a detector's ceiling as 1000 ÷ the inference milliseconds it reports — the documentation's worked example is a Coral at 10 ms topping out at 100 frames per second. The load is cameras × detect fps × the share of frames with motion, and the default detect fps is Frigate's recommended 5. Where Frigate publishes a band rather than a figure (20–40 ms for every Jetson module), the engine sizes on the slow end and shows the fast end beside it.

Four things have to be true

Detector — the platform runs a Frigate detector type, and you have the image tag it needs. Inference — the detector holds the detections per second the camera count demands. Decode — the platform decodes the detect substreams; that check is the Camera Stream Capacity engine on the platform's decode datasheet, and for an accelerator on a Raspberry Pi 5 or mini-PC it also charges the host's CPU, link and pre-processing. Decode preset — the ffmpeg hardware-acceleration preset Frigate documents for the platform (or its host) exists.

Full rules, the detector table, presets and what invalidates a result: methodology. Raw dataset: datasets/frigate-fit.json. Decode per platform: Camera Stream Capacity. Decode tables: decode capacity.

04 · FAQ

How does Frigate size a detector?
Frigate's own rule: a detector's ceiling in detections per second is 1000 divided by the inference milliseconds it reports — the documentation's worked example is a Coral at 10 ms topping out at 100 frames per second. The load is cameras × detect fps × the share of frames with motion. This engine holds one against the other using the inference speeds Frigate publishes for each hardware family.
Why is detect fps 5 the default?
Frigate's reference config recommends 5 for the detect role. The detect stream is a low-resolution substream used only for object detection; the record stream is passed through untouched, so a low detect fps costs nothing in recording quality and multiplies how many cameras a detector holds.
Does 100 % motion share mean every camera is busy?
Yes — it is the worst case: every camera detecting at the detect fps at the same moment. Real detection load follows motion, so a site whose cameras are mostly still runs far below the sized figure. The default is the worst case because that is the number that has to hold.
Where do the inference numbers come from?
The Frigate documentation's own hardware pages, quoted verbatim in the dataset — measurements published by the Frigate project (evidence class C). Server GPUs that Frigate does not list are mapped to the nearest published consumer GPU row and marked class D. Detector types, image tags, presets and defaults are Frigate's software documentation (class A).