HomeTechOps

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.

Operator snapshotEvidence first
First proof

Count your camera-streams and target detect fps (usually ~5).

Screen to open

Frigate UI > System metrics (inference speed) and the recommended-hardware docs

Expected signal

You know how many detect streams run and at what fps.

Stop boundary

For a brand-new build, choose a currently-recommended detector instead.

Layer path

1A Frigate detector is chosen by inference time, not brand: Frigate's own capacity model is cameras ≈ (1000 ÷ inference_ms) ÷ detect_fps, so a faster detector simply covers more camera-streams.
2The 2026 shift: Frigate's recommended-hardware docs now state the Coral is 'no longer recommended for new Frigate installations' (except very low-power or otherwise-incapable hardware) and point to Hailo-8/8L, the Intel iGPU/NPU via OpenVINO, or a GPU.
3Object detection (the accelerator's job) is separate from video decode (the host CPU/iGPU/GPU's job) — a fast detector on a host that can't decode your streams still drops frames.
4Approximate published inference: Coral ssd-mobilenet ~10 ms; Hailo-8L ssd-mobilenet ~10 ms / yolov6n ~11 ms; Hailo-8 ~6–7 ms; Intel N100 iGPU (OpenVINO) MobileNetV2 ~15 ms; Intel NPU MobileNetV2 ~6 ms — re-check the live docs, these move with model/version.
Runbook

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.

1

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.

2

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.

3

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.

4

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.

5

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

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

Evidence table

SymptomEvidence to collectLikely layerNext action
Deciding what to buy for a new Frigate build.Camera count, detect fps, host iGPU/NPU capability.Detector sizingOpenVINO 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 throughputUse 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 assignmentNPU for detect, iGPU for decode/enrichments.
Reference

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 boundary

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 planner

Related 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.