bolt Valebyte VPS from $4/mo — NVMe, 60s deploy.

Get a VPS arrow_forward

Frigate Hardware Requirements: CPU, GPU and Coral Camera Capacity

calendar_month September 14, 2026 schedule 16 min read visibility 25 views
person
Valebyte Team
Frigate Hardware Requirements: CPU, GPU and Coral Camera Capacity
summarize

TL;DR

  • For 4 1080p cameras, Frigate needs 4 vCPU, 8 GB RAM, and a Coral USB accelerator.
  • For 8 1080p cameras, Frigate needs 6 vCPU, 16 GB RAM, and a Coral USB accelerator.
  • For 16 1080p cameras, use 8 vCPU, 32 GB RAM, and a Coral PCIe or NVIDIA GPU.
  • Use a low-resolution substream (e.g., 704x396) for detection to reduce hardware load.
  • 5 FPS is sufficient for detection in most areas; 15+ FPS significantly increases accelerator needs.

For Frigate with 4 1080p cameras, 4 vCPU, 8 GB RAM, and a Coral USB are enough; 8 cameras need 6 vCPU and 16 GB RAM, while 16 cameras require 8 vCPU, 32 GB RAM, and a Coral PCIe-class or NVIDIA GPU detection accelerator.

What Frigate server requirements are needed for a reliable NVR?

Frigate loads more than one server process

Core Frigate server requirements depend on more than camera count: bitrate, codec, frame rate, archive retention, and the selected detector all matter. Frigate simultaneously receives RTSP streams, decodes video through FFmpeg, analyzes frames for motion detection, runs object recognition, and writes video segments to disk.

In practice, the workload is distributed as follows:

  • CPU handles RTSP processing, decoding without hardware acceleration, motion detection, go2rtc, and container overhead.
  • GPU, Coral, or NPU handles object detection: identifying people, cars, animals, and other objects.
  • RAM is used for FFmpeg buffers, cache, the event database, containers, and the operating system.
  • NVMe/SSD storage receives a continuous stream of video segments; storage is often the bottleneck when retention is high.
  • Network capacity must reliably receive the combined stream from all IP cameras without packet loss.

When choosing a VPS or dedicated server, use the same approach as for other self-hosted systems: reserve CPU, RAM, IOPS, and network capacity for peak load rather than average load. See our detailed guide on sizing hardware for self-hosted applications.

Why camera resolution is not the same as detection resolution

A camera may record its main stream in 4K, but Frigate does not need to send every 4K frame to the detection model. The right architecture uses two streams: a high-resolution main stream for recording and a 640×360, 704×396, or 1280×720 substream for detect. This significantly reduces CPU, GPU, and Coral load.

cameras:
  entrance:
    ffmpeg:
      inputs:
        - path: rtsp://camera/main
          roles:
            - record
        - path: rtsp://camera/sub
          roles:
            - detect
    detect:
      width: 704
      height: 396
      fps: 5

At a detect FPS of 5, Frigate analyzes 300 frames per minute per camera. This is enough for most entrances, apartment building entryways, parking lots, and yards. A setting of 10 FPS makes sense for fast-moving objects, gates, checkout areas, or vehicle driveways; 15 FPS and above noticeably increases accelerator requirements.

Frigate how many cameras: sizing for 4, 8, and 16 cameras

Frigate NVR server specs for 1080p recording

Below are practical Frigate NVR server specs for H.264/H.265 cameras with a 1080p main stream at around 4 Mbps, a detection substream up to 704×396, detect FPS of 5, and continuous recording. Prices are approximate as of March 2025; the final cost depends on NVMe capacity, location, and accelerator type.

For Frigate with 4, 8, and 16 1080p cameras, you need 4/6/8 vCPU respectively, 8/16/32 GB RAM, and 3/6/10 TB of SSD or NVMe storage for 14 days of archive retention.

Load scale vCPU RAM Storage Network port Price
4 1080p cameras, 14 days of recording 4 vCPU 8 GB 3 TB SSD/NVMe 1 Gbps, 16–25 Mbps inbound traffic from $45/month, approximate
8 1080p cameras, 14 days of recording 6 vCPU 16 GB 6 TB SSD/NVMe 1 Gbps, 32–50 Mbps inbound traffic from $85/month, approximate
16 1080p cameras, 14 days of recording 8 vCPU 32 GB 10 TB SSD/NVMe 1 Gbps, 64–100 Mbps inbound traffic from $160/month, approximate

How to size a Frigate server for 4K cameras

One 4K H.265 camera typically produces an 8–16 Mbps stream in a moderately active scene, while H.264 or high-motion scenes can generate 16–25 Mbps. As a result, 4 4K cameras can create the same archive workload as 8–16 1080p cameras. Recording 4 4K cameras at 12 Mbps for 14 days requires approximately 7.3 TB of usable storage: 4 × 12 × 10.8 GB × 14.

Keep at least 15–20% of storage free. Frigate removes old segments based on retention settings, but a volume filled to 100% can cause recording errors, high I/O latency, and event database corruption.

Looking for a reliable server for your projects?

VPS plans from $10/month and dedicated servers from $9/month with NVMe, DDoS protection, and 24/7 support.

View offers →

Frigate CPU GPU detection sizing: how much CPU is needed for decoding?

Estimating CPU requirements without hardware decoding

Frigate CPU GPU detection sizing starts with decoding, because even a Coral does not remove this workload. Coral accelerates inference only, not RTSP decoding. If the server decodes H.264/H.265 in software, one 1080p camera at 5–10 FPS detect can use a noticeable share of one CPU core, while 4K H.265 can consume several cores at high FPS.

For a CPU-only setup, use these conservative guidelines:

  • 4 1080p cameras with detect at 5 FPS: 4 fast vCPU at 3.0 GHz or higher.
  • 8 1080p cameras: 6–8 vCPU at 3.0 GHz or higher.
  • 16 1080p cameras: 12–16 vCPU if VAAPI, Quick Sync, NVDEC, or another hwaccel option is unavailable.
  • 4 4K cameras: 8 vCPU or more without hardware decoding, especially with H.265.

For Frigate, strong single-core performance and video instruction support matter more than having a large number of slow vCPU. Sustained CPU utilization above 75–80% leaves too little headroom for motion spikes, FFmpeg restarts, preview generation, and Home Assistant workloads.

Hardware decoding lowers CPU requirements

Intel Quick Sync, VAAPI on Intel iGPU, NVIDIA NVDEC, and AMD VAAPI can offload video stream decoding to dedicated hardware. On a server with an Intel iGPU, 8 1080p cameras using substreams usually fit within 4–6 vCPU, whereas software decoding may require 6–8 vCPU.

ffmpeg:
  hwaccel_args: preset-intel-qsv-h264

cameras:
  yard:
    ffmpeg:
      inputs:
        - path: rtsp://camera/yard_sub
          input_args: preset-rtsp-restream
          roles:
            - detect

Check actual utilization after deployment: docker stats shows container CPU and RAM usage, while intel_gpu_top, nvidia-smi, or vainfo can confirm that FFmpeg is actually using hardware acceleration. The same principles apply from our guide to Plex/Jellyfin server requirements for 4K transcoding: video decoding and processing need dedicated capacity planning.

Quick pick
Need a dedicated server?
Bare metal with NVMe in 70+ locations — configure and order in minutes.
Browse servers

Frigate hardware requirements Coral: when do you need a Coral, GPU, or NPU?

Coral offloads object detection from the CPU

Frigate hardware requirements Coral are especially relevant for 4–16 cameras. A Coral TPU is designed for roughly 100 inferences per second with compatible models. At detect FPS 5, the theoretical limit is up to 20 cameras, but the practical safe range is 8–16 cameras with headroom for frame size, model choice, USB latency, and short load spikes.

Coral USB is convenient for a small server and 4–8 cameras. For 8–16 cameras, Coral M.2 or PCIe is preferable: the interface is more stable, there is no risk of accidental USB disconnects, and the device does not share a bus with storage and other peripherals. A single Coral does not replace CPU resources for decoding or accelerate archive recording.

Example USB device configuration:

detectors:
  coral:
    type: edgetpu
    device: usb

detect:
  enabled: true

When a GPU makes more sense than Coral

An NVIDIA GPU with TensorRT is suitable when you have more than 16 cameras, detect FPS above 5–10, heavy models, or other AI workloads running on the server. A GPU can also handle NVDEC decoding at the same time. For 4–8 cameras, buying a discrete GPU solely for Frigate is usually overkill: Coral or an Intel iGPU is more cost-effective.

You cannot treat “GPU” as a universal answer without verifying support for the selected detector and model. NVIDIA requires correctly passing the device and driver into the Docker container, and VRAM is needed not only by Frigate but also by related processes. If you plan to use TensorRT, computer vision, or other ML workloads, consider renting a GPU dedicated server for AI and ML.

Frigate server RAM and storage requirements for retention

Why recording depends on SSD capacity and IOPS

Frigate server RAM requirements are relatively modest: 8 GB is enough for 4 cameras, 16 GB for 8 cameras, and 32 GB provides reliable headroom for 16 cameras, go2rtc, Home Assistant, and several containers. Memory is rarely the first bottleneck without leaks, but you should not run Frigate on a VPS with 2–4 GB RAM while continuously recording several streams.

Storage is the main NVR resource. One 1 Mbps stream uses around 10.8 GB per day. The formula for continuous recording is:

Storage in GB = total bitrate in Mbps × 10.8 × number of retention days

Example:
8 cameras × 4 Mbps × 10.8 × 14 days = 4 838 GB

With motion-only recording, total storage use can be 3–10 times lower, but it is impossible to predict accurately in advance: snow, rain, trees, vehicle headlights, and a busy street can create continuous events. If the archive matters, size storage for continuous recording and treat event mode as an additional saving.

NVMe, SSD, and a separate archive volume

Use NVMe for the Frigate database, cache, and operating system. A quality SSD is acceptable for a large archive if its write endurance and sustained speed can handle continuous workload. HDDs can be used for cold archives, but they are less suitable for simultaneous recording from many streams and reading clips through the interface.

Separate the system partition from media storage. For example, allocate 60–100 GB of NVMe for Docker, the database, and logs, then place /media/frigate on a separate volume. This approach simplifies migration, retention management, and configuration backups. For long-term event exports to object storage, see the principles in our guide to MinIO and S3 storage requirements.

How to calculate RTSP traffic and network requirements for Frigate

Inbound traffic from cameras

To determine how many cameras Frigate can handle over the network, add the bitrates of all main streams and substreams. For example, 8 1080p cameras at 4 Mbps plus 8 substreams at 0.5 Mbps create about 36 Mbps of inbound traffic. With RTSP overhead, audio, and short bitrate increases, reserving 50 Mbps is sensible.

A 100 Mbps port can technically handle up to 16 1080p cameras with moderate streams, but 1 Gbps is safer for an NVR. This is especially important when users view live video, export clips, use go2rtc restreaming, or send archives to remote storage at the same time.

Do not expose cameras to the public internet without protection

RTSP cameras should connect to Frigate over a local network, VPN, or secure tunnel. Do not expose ports 554, 8554, or the NVR web interface directly to the internet. Use a separate VLAN for IoT, strong camera passwords, a firewall, and VPN access for administration.

If Frigate is hosted on a VPS, assess latency and connection stability between the site and the data center. For remote cameras, it is often better to deploy a local Frigate edge node and send events, clips, or backups to the server. A step-by-step container deployment is covered in Frigate on a VPS: installation, configuration, and maintenance.

Quick pick
Need a dedicated server?
Bare metal with NVMe in 70+ locations — configure and order in minutes.
Browse servers

How to choose a VPS or dedicated server for Frigate

When a VPS is enough

A VPS is suitable for 4–8 1080p cameras if it provides stable vCPU performance, a 1 Gbps port, sufficient SSD/NVMe capacity, and a way to run a detector. However, a Coral USB cannot be physically connected to a typical remote VPS, so VPS deployments usually use a CPU detector, GPU instance, remote edge detector, or a dedicated server with USB/PCIe.

For a CPU-only VPS, reduce detect FPS to 3–5, enable substreams, and use hardware decoding if available. Do not keep a multi-week 4K archive on a small system NVMe volume: capacity and write endurance will matter more than the nominal vCPU count.

When you need a dedicated server

A dedicated server is the practical choice for 8–16 cameras, Coral PCIe/M.2, NVIDIA GPU, several TB of local storage, and continuous 4K recording. It provides direct control over USB, PCIe, BIOS, iGPU, and the disk subsystem. This option is also useful when Frigate runs alongside Home Assistant, MQTT, VPN, NVR archives, and media services.

Before deployment, check your configuration against this checklist:

  1. Configure a separate substream for detect at up to 704×396 or 1280×720 resolution.
  2. Start with fps: 5 and increase it only when needed.
  3. Enable Quick Sync, VAAPI, or NVDEC for FFmpeg.
  4. Calculate archive capacity using the actual total bitrate, not camera count.
  5. Keep 20% of disk capacity free and monitor storage, CPU, RAM, and temperature.
  6. Check frigate.stats: detector inference speed, skipped FPS, CPU usage, and dropped frames.

If Frigate is deployed with several services, reserve Docker resources in advance. Practical CPU, RAM, and storage limits are covered in our guide to Docker host requirements.

Frequently Asked Questions

How many cameras can one Coral TPU handle?

One Coral TPU typically handles 8–16 cameras reliably with detect FPS 5 and substreams up to 704×396. Its roughly 100 inferences/second capacity is theoretically enough for about 20 cameras at 5 FPS, but practical headroom is needed for complex scenes, latency, and motion spikes. For 16+ cameras, Coral PCIe/M.2, a second detector, or an NVIDIA GPU is more sensible.

Can Frigate run on CPU only?

Frigate can run on CPU only, but 4 1080p cameras require at least 4 fast vCPU and 8 GB RAM, while 8 cameras need 6–8 vCPU. A CPU-only setup is particularly sensitive to H.265 and 4K. Using substreams, detect FPS 3–5, and Intel Quick Sync or VAAPI significantly reduces actual load.

How much storage does a Frigate archive use per day?

A Frigate archive uses approximately 10.8 GB per day for every 1 Mbps of total video bitrate. For example, 8 cameras at 4 Mbps each create around 346 GB per day and approximately 4.8 TB for 14 days of continuous recording. For retention, add 15–20% free space for the database, events, and bitrate spikes.

Do I need a GPU if I already have Coral?

A GPU is not required if Coral handles detection and the CPU or Intel iGPU decodes video in hardware. For 4–8 1080p cameras, a Coral USB and 4–6 vCPU are usually enough. An NVIDIA GPU becomes worthwhile for 16+ cameras, detect FPS above 10, 4K streams, TensorRT models, or parallel AI workloads on the server.

Conclusion

For 4–8 1080p cameras, choose a server with 4–6 vCPU, 8–16 GB RAM, a Coral, and NVMe/SSD capacity calculated at 10.8 GB per 1 Mbps per day. For 16 cameras or a 4K archive, use a dedicated server with 8+ vCPU, 32 GB RAM, hardware decoding, and 10 TB or more of storage. The key Frigate principle is that recording scales with disk capacity and IOPS, while detection scales with Coral, NPU, or GPU performance.

Bare Metal
Need a dedicated server?

Bare metal in 70+ locations: modern hardware, NVMe, fast provisioning, and card or crypto payments.

Choose a server
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.