Cameras
Coral vs Hailo vs Intel NPU for Frigate
Choose a Frigate object detector in 2026 — why Coral is no longer recommended for new installs, and how Hailo and the Intel iGPU/NPU compare on inference time and camera count.
Problem summary
A Frigate detector is sized by inference time, not brand hype: cameras ≈ (1000 ÷ inference_ms) ÷ detect_fps. Frigate now says the Coral is no longer recommended for new installs and points to Hailo-8/8L or an Intel iGPU/NPU (OpenVINO) — and detection load is separate from video decode, which the host still has to handle.
Count your camera-streams and target detect fps (usually ~5).
Frigate UI > System metrics (inference speed) and the recommended-hardware docs
You know how many detect streams run and at what fps.
For a brand-new build, choose a currently-recommended detector instead.
Layer path
Step-by-step runbook
Start here. Do each check in order, compare it to the expected result, and stop when the evidence explains the failure or the safe stop point applies.
Inventory cameras and host
Check: List camera-streams, target detect fps, and the host's iGPU/NPU/GPU.
Expected result: You know the detection load and what decode capability exists.
If not: Without this you can't size either detection or decode.
Try the built-in detector first
Check: On a modern Intel host, enable the OpenVINO detector (iGPU/NPU) before buying hardware.
Expected result: Detection runs within budget for your camera count.
If not: If inference is too slow for the count, plan an add-in detector.
Add Hailo if you outgrow it
Check: Fit a Hailo-8L (budget) or Hailo-8 (faster) M.2 module and select it as the detector.
Expected result: Inference time drops and the camera count rises.
If not: Don't reflexively buy a new Coral — Frigate no longer recommends it for new installs.
Provision decode separately
Check: Ensure the host iGPU/GPU decodes all streams via the right hwaccel preset.
Expected result: Frames are stable; CPU isn't pegged on decode.
If not: A fast detector can't fix a decode bottleneck.
Verify and right-size fps
Check: Confirm inference and decode metrics, then keep detect on a low-res substream at ~5 fps.
Expected result: Detection and decode both sit comfortably under capacity.
If not: Raise fps only if you have headroom; otherwise add a detector.
Decision tree
If: New build, a handful of cameras, modern Intel host.
Then: OpenVINO on the Intel iGPU/NPU likely suffices.
Action: Start with the built-in OpenVINO detector; no add-in accelerator needed yet.
If: Many cameras / want the most efficient dedicated detector.
Then: Hailo-8L (budget) or Hailo-8 (faster) is the current recommendation.
Action: Fit a Hailo M.2 module; size camera count from its inference time.
If: You already own a Coral and it's working.
Then: Keep it — it still works and is power-efficient.
Action: No need to replace a working Coral; just don't buy one new as the default.
Safe stop: For a brand-new build, choose a currently-recommended detector instead.
If: Frames drop even with a fast detector.
Then: Decode (not detection) is the bottleneck.
Action: Add/enable hardware decode (iGPU); confirm detect runs on the substream.
Safe stop: If the host can't decode the streams at all, no detector choice fixes it.
Evidence table
| Symptom | Evidence to collect | Likely layer | Next action |
|---|---|---|---|
| Deciding what to buy for a new Frigate build. | Camera count, detect fps, host iGPU/NPU capability. | Detector sizing | OpenVINO first; Hailo if you outgrow it; not a new Coral by default. |
| Detection inference high / skipped frames. | Reported inference time vs the model you're running. | Detector throughput | Use the rated model or a faster detector; derate the camera count ~25%. |
| CPU pegged but inference looks fine. | Whether hardware decode (QuickSync/iGPU) is enabled. | Video decode (host, not detector) | Enable iGPU decode; keep detect on the low-res substream. |
| Core Ultra host underperforming. | Whether NPU and iGPU are both being used. | Engine assignment | NPU for detect, iGPU for decode/enrichments. |
Commands and settings paths
Read Frigate's detector inference
Frigate UI > System metrics (inference speed) and the recommended-hardware docs
Where: On the running Frigate instance and docs.frigate.video/frigate/hardware.
Expected: You see actual inference ms for your detector and the per-model reference figures.
Failure means: An inference time far above the rated figure means the wrong model or an overloaded detector.
Safe next step: Switch to the rated model / a faster detector and re-check; size with the planner.
Confirm hardware decode is active
Frigate config: ffmpeg hwaccel (e.g. preset-vaapi / preset-intel-qsv); check GPU usage
Where: In the Frigate config and host GPU stats (intel_gpu_top, nvidia-smi).
Expected: Decode is offloaded to the iGPU/GPU, not the CPU.
Failure means: CPU-bound decode shows as high CPU and dropped frames regardless of detector.
Safe next step: Enable the correct hwaccel preset for your hardware.
Size camera capacity
cameras ≈ (1000 ÷ inference_ms) ÷ detect_fps, then derate ~25%
Where: On paper / in the Frigate hardware planner tool.
Expected: The detector covers your camera count with headroom after derating.
Failure means: If the number is below your camera count, you're over-subscribed.
Safe next step: Pick a faster detector, lower detect fps, or add a second detector.
Hardware and platform boundary
Change only when
- Buy a dedicated detector (Hailo) only after the host's iGPU/NPU (OpenVINO) can't keep up with your camera count — not by default.
Evidence that matters
- Inference time for the model you'll run, host decode capability (iGPU/QuickSync), the right M.2/PCIe slot, and Frigate driver support.
Evidence that does not matter
- Marketing TOPS numbers and a 'new Coral' reflex — size on Frigate's real per-model inference figures and the capacity formula.
Avoid
- Ignoring decode (a fast detector on a host that can't decode 4K/H.265 still drops frames) or quoting inference for the wrong model.
Related tool/calculator
Use the linked calculator or tool to turn this runbook into numbers for your exact setup.
Frigate hardware plannerRelated problems
Last reviewed
2026-06-03 · Reviewed by HomeTechOps. Built from June-2026 research re-verified against Frigate's recommended-hardware and object-detectors docs (the current 'Coral no longer recommended for new installs' guidance, Hailo-8/8L and OpenVINO iGPU/NPU figures, and the cameras ≈ (1000 ÷ inference_ms) ÷ detect_fps model); separates detection from decode and frames the choice as sizing, not brand loyalty. Inference numbers move with model/version — cite the live docs.
Sources/assumptions
- Assumes a self-hosted Frigate install doing continuous object detection on several cameras.
- Inference times are the figures Frigate publishes for specific models — they change with model and version, so re-check the current hardware docs.
- Detector choice is sized on detection load only; video decoding (especially 4K/H.265) is a separate demand on the host iGPU/GPU.
Source-backed checks
HomeTechOps turns official docs and conservative safety rules into a shorter runbook. These links are the source trail for the page direction.