Для Frigate с 4 камерами 1080p достаточно 4 vCPU, 8 GB RAM и Coral USB, для 8 камер нужен сервер на 6 vCPU и 16 GB RAM, а 16 камер требуют 8 vCPU, 32 GB RAM и ускоритель детекции уровня Coral PCIe или NVIDIA GPU.
Какие frigate server requirements важны для стабильной работы NVR?
Frigate нагружает сервер не одним процессом
Базовые frigate server requirements зависят не только от числа камер, но и от битрейта, кодека, частоты кадров, глубины хранения архива и выбранного детектора. Frigate одновременно принимает RTSP-потоки, декодирует видео через FFmpeg, анализирует кадры для motion detection, запускает распознавание объектов и записывает сегменты на диск.
На практике нагрузка распределяется так:
- CPU занят обработкой RTSP, декодированием без аппаратного ускорения, motion detection, go2rtc и обслуживанием контейнеров.
- GPU, Coral или NPU выполняют object detection: поиск людей, автомобилей, животных и других объектов.
- RAM требуется для буферов FFmpeg, кэша, базы событий, контейнеров и ОС.
- NVMe/SSD-диск принимает постоянную запись видеосегментов; именно накопитель чаще становится узким местом при большом retention.
- Сеть должна стабильно принимать суммарный поток от всех IP-камер без потерь пакетов.
Для подбора VPS или выделенного сервера полезно применять те же принципы, что и для других self-hosted систем: резервировать CPU, RAM, IOPS и сеть под пиковую, а не среднюю нагрузку. Подробная методика есть в материале о подборе железа для self-hosted приложений.
Почему разрешение камеры не равно разрешению детекции
Камера может записывать основной поток в 4K, но Frigate не обязан передавать каждый 4K-кадр в модель распознавания. Правильная архитектура использует два потока: основной high-resolution stream для записи и substream 640×360, 704×396 или 1280×720 для detect. Это резко снижает нагрузку на CPU, GPU и Coral.
cameras:
entrance:
ffmpeg:
inputs:
- path: rtsp://camera/main
roles:
- record
- path: rtsp://camera/sub
roles:
- detect
detect:
width: 704
height: 396
fps: 5
При detect FPS в 5 кадров/с Frigate анализирует 300 кадров в минуту на камеру. Для большинства входных групп, подъездов, парковок и дворов этого достаточно. Значение 10 FPS имеет смысл для быстрых объектов, ворот, кассовых зон или проездов автомобилей; 15 FPS и выше заметно увеличивает требования к ускорителю.
Сколько камер потянет Frigate: таблица масштабирования на 4, 8 и 16 камер
Frigate NVR server specs для записи 1080p
Ниже приведены практические frigate nvr server specs для H.264/H.265-камер с основным потоком 1080p около 4 Мбит/с, substream для детекции до 704×396, detect FPS 5 и круглосуточной записью. Стоимость указана ориентировочно на март 2025 года; итоговая цена зависит от объёма NVMe, размещения и типа ускорителя.
Для Frigate с 4, 8 и 16 камерами 1080p достаточно соответственно 4/6/8 vCPU, 8/16/32 GB RAM и 3/6/10 TB SSD или NVMe для хранения архива в течение 14 дней.
| Масштаб нагрузки | vCPU | RAM | Диск | Сетевой порт | Цена |
|---|---|---|---|---|---|
| 4 камеры 1080p, 14 дней записи | 4 vCPU | 8 GB | 3 TB SSD/NVMe | 1 Gbps, входящий поток 16–25 Mbps | от $45/мес, ориентировочно |
| 8 камер 1080p, 14 дней записи | 6 vCPU | 16 GB | 6 TB SSD/NVMe | 1 Gbps, входящий поток 32–50 Mbps | от $85/мес, ориентировочно |
| 16 камер 1080p, 14 дней записи | 8 vCPU | 32 GB | 10 TB SSD/NVMe | 1 Gbps, входящий поток 64–100 Mbps | от $160/мес, ориентировочно |
Как пересчитать конфигурацию для 4K
Одна 4K-камера в H.265 обычно создаёт поток 8–16 Мбит/с при умеренной сцене, а в H.264 или при высоком движении — 16–25 Мбит/с. Поэтому 4 камеры 4K могут создавать такой же архивный поток, как 8–16 камер 1080p. Для записи 4 камер 4K по 12 Мбит/с за 14 дней потребуется примерно 7,3 TB полезного пространства: 4 × 12 × 10,8 GB × 14.
Оставляйте минимум 15–20% свободного места. Frigate удаляет старые сегменты согласно retention, но заполненный на 100% том способен привести к ошибкам записи, высокой задержке I/O и повреждению базы событий.
Ищете надёжный сервер для ваших проектов?
VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.
Смотреть предложения →Frigate CPU GPU detection sizing: сколько CPU нужно для декодирования?
Расчёт CPU без аппаратного декодирования
Frigate CPU GPU detection sizing начинается с оценки декодирования, потому что даже Coral не снимает эту нагрузку. Coral ускоряет только inference, а не декодирование RTSP. Если сервер декодирует H.264/H.265 программно, одна камера 1080p при 5–10 FPS detect может потреблять заметную долю одного ядра, а 4K H.265 — несколько ядер при высоком FPS.
Для CPU-only схемы используйте такие консервативные ориентиры:
- 4 камеры 1080p с detect 5 FPS: 4 быстрых vCPU с частотой от 3,0 GHz.
- 8 камер 1080p: 6–8 vCPU с частотой от 3,0 GHz.
- 16 камер 1080p: 12–16 vCPU, если нет VAAPI, Quick Sync, NVDEC или другого hwaccel.
- 4 камеры 4K: от 8 vCPU без аппаратного декодирования, особенно для H.265.
Для Frigate важнее производительность одного ядра и поддержка видеоинструкций, чем формально большое количество медленных vCPU. Постоянная загрузка процессора выше 75–80% оставляет недостаточно запаса для пиков движения, рестартов FFmpeg, генерации превью и обслуживания Home Assistant.
Аппаратный decode снижает требования к процессору
Intel Quick Sync, VAAPI на Intel iGPU, NVIDIA NVDEC и AMD VAAPI позволяют передать декодирование видеопотоков аппаратному блоку. На сервере с Intel iGPU 8 камер 1080p с substream обычно укладываются в 4–6 vCPU, тогда как при software decode могут потребовать 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
Проверьте фактическую загрузку после запуска: docker stats покажет CPU и RAM контейнера, а intel_gpu_top, nvidia-smi или vainfo помогут убедиться, что FFmpeg действительно использует аппаратное ускорение. По этой же причине полезен опыт из статьи о требованиях к серверу Plex/Jellyfin для 4K-транскода: декодирование и обработка видео требуют отдельного планирования ресурсов.
Frigate hardware requirements Coral: когда нужен Coral, GPU или NPU?
Coral снимает нагрузку с CPU при object detection
Frigate hardware requirements Coral особенно актуальны при 4–16 камерах. Coral TPU рассчитан примерно на 100 inference в секунду для совместимых моделей. При detect FPS 5 теоретический предел составляет до 20 камер, но практический безопасный диапазон — 8–16 камер с запасом, учитывая размер кадра, модель, задержки USB и кратковременные пики.
Coral USB удобен для небольшого сервера и 4–8 камер. Для 8–16 камер предпочтительнее Coral M.2 или PCIe: интерфейс стабильнее, нет риска случайного отключения USB, а устройство не делит шину с накопителями и другими периферийными устройствами. Один Coral не заменяет CPU для декода и не ускоряет запись архива.
Пример настройки USB-устройства:
detectors:
coral:
type: edgetpu
device: usb
detect:
enabled: true
Когда GPU выгоднее Coral
NVIDIA GPU с TensorRT подходит, когда камер больше 16, detect FPS выше 5–10, используются тяжёлые модели или сервер параллельно выполняет другие AI-задачи. GPU также может одновременно брать на себя NVDEC-декодирование. Для 4–8 камер покупать дискретную GPU только ради Frigate обычно избыточно: Coral или Intel iGPU дают более экономичную схему.
Нельзя считать «GPU» универсальным ответом без проверки поддержки выбранного детектора и модели. Для NVIDIA требуется корректно передать устройство и драйвер в Docker-контейнер, а видеопамять нужна не только Frigate, но и сопутствующим процессам. Если планируется TensorRT, компьютерное зрение или другие ML-нагрузки, рассмотрите аренду GPU-выделенного сервера для AI и ML.
Сервер Frigate: требования к RAM и диску для retention
Почему запись упирается в IOPS и объём SSD
Сервер Frigate требования к RAM сравнительно умеренные: 8 GB достаточно для 4 камер, 16 GB — для 8 камер, а 32 GB дают надёжный запас для 16 камер, go2rtc, Home Assistant и нескольких контейнеров. Память редко становится первым ограничением, если отсутствуют утечки, но нельзя размещать Frigate на VPS с 2–4 GB RAM при постоянной записи нескольких потоков.
Диск — главный ресурс NVR. Один поток 1 Мбит/с занимает около 10,8 GB в сутки. Формула для непрерывной записи:
Диск в GB = суммарный битрейт в Mbps × 10,8 × число дней retention
Пример:
8 камер × 4 Mbps × 10,8 × 14 дней = 4 838 GB
Для motion-only записи итоговый объём может быть в 3–10 раз ниже, но предсказать его заранее невозможно: снегопад, дождь, деревья, фары машин и оживлённая улица создают постоянные события. Если архив важен, рассчитывайте диск как для continuous recording, а режим событий используйте как дополнительную экономию.
NVMe, SSD и отдельный том для архива
Для базы Frigate, кэша и операционной системы используйте NVMe. Для большого архива допустим качественный SSD, если его ресурс записи и стабильная скорость соответствуют круглосуточной нагрузке. HDD можно применять для холодного архива, но он хуже переносит параллельную запись множества потоков и чтение клипов из интерфейса.
Разделяйте системный раздел и медиахранилище. Например, выделите 60–100 GB NVMe для Docker, базы и логов, а каталог /media/frigate вынесите на отдельный volume. Такой подход упрощает миграцию, контроль retention и резервное копирование конфигурации. Для долгосрочной выгрузки событий в объектное хранилище полезны принципы из материала о требованиях к MinIO и S3-хранилищу.
Как рассчитать RTSP-трафик и сеть для Frigate?
Входящий трафик от камер
Чтобы понять, сколько камер потянет Frigate по сети, сложите битрейты всех main stream и substream. Например, 8 камер 1080p по 4 Мбит/с плюс 8 substream по 0,5 Мбит/с создают около 36 Мбит/с входящего трафика. С учётом RTSP-overhead, аудио и кратковременного роста битрейта разумно резервировать 50 Мбит/с.
Порт 100 Mbps формально выдержит до 16 камер 1080p с умеренным потоком, но для NVR безопаснее 1 Gbps. Это особенно важно, если одновременно открывают live view, выгружают клипы, используют restream через go2rtc или отправляют архив на удалённое хранилище.
Не передавайте камеры в публичный интернет без защиты
RTSP-камеры лучше подключать к Frigate через локальную сеть, VPN или защищённый туннель. Не публикуйте порты 554, 8554 и веб-интерфейс NVR напрямую. Используйте отдельную VLAN для IoT, сложные пароли камер, firewall и VPN-доступ для администрирования.
Если Frigate размещён на VPS, оцените задержку и стабильность канала между объектом и дата-центром. Для удалённых камер часто полезнее поднять локальный Frigate edge-узел, а на сервер передавать события, клипы или резервные копии. Пошаговый вариант контейнерного развёртывания описан в статье Frigate на VPS: установка, настройка и обслуживание.
Как выбрать VPS или выделенный сервер для Frigate?
Когда достаточно VPS
VPS подходит для 4–8 камер 1080p, если доступны стабильные vCPU, 1 Gbps-порт, нужный объём SSD/NVMe и возможность подключить детектор. Однако Coral USB физически нельзя подключить к обычному удалённому VPS, поэтому для VPS чаще используют CPU detector, GPU-инстанс, удалённый edge-детектор или выделенный сервер с USB/PCIe.
Для CPU-only VPS снижайте detect FPS до 3–5, включайте substream и аппаратное декодирование, если оно доступно. Не храните многонедельный 4K-архив на маленьком системном NVMe: именно объём и ресурс записи окажутся важнее номинального числа vCPU.
Когда нужен выделенный сервер
Выделенный сервер рационален для 8–16 камер, Coral PCIe/M.2, NVIDIA GPU, локальных дисков на несколько TB и непрерывной записи 4K. Он даёт прямой контроль над USB, PCIe, BIOS, iGPU и дисковой подсистемой. Такой вариант также удобен, если Frigate работает вместе с Home Assistant, MQTT, VPN, NVR-архивом и медиасервисами.
Перед запуском проверьте конфигурацию по чек-листу:
- Настройте отдельный substream для detect с разрешением до 704×396 или 1280×720.
- Начните с
fps: 5и увеличивайте значение только при необходимости. - Включите Quick Sync, VAAPI или NVDEC для FFmpeg.
- Рассчитайте архив по реальному суммарному битрейту, а не по числу камер.
- Оставьте 20% диска свободным и включите мониторинг места, CPU, RAM и температуры.
- Проверяйте
frigate.stats: detector inference speed, skipped FPS, CPU usage и dropped frames.
Если Frigate разворачивается вместе с несколькими сервисами, заранее заложите ресурсы Docker. Практические лимиты CPU, RAM и диска разобраны в руководстве по требованиям к Docker-хосту.
Часто задаваемые вопросы
Сколько камер может обработать один Coral TPU?
Один Coral TPU обычно уверенно обслуживает 8–16 камер при detect FPS 5 и substream до 704×396. Формально производительности около 100 inference/с достаточно примерно для 20 камер по 5 FPS, однако практический резерв нужен для сложных сцен, задержек и пиков движения. Для 16+ камер разумнее использовать Coral PCIe/M.2, второй детектор или NVIDIA GPU.
Можно ли запустить Frigate только на CPU?
Frigate работает только на CPU, но для 4 камер 1080p потребуется минимум 4 быстрых vCPU и 8 GB RAM, а для 8 камер — 6–8 vCPU. CPU-only схема особенно чувствительна к H.265 и 4K. Использование substream, detect FPS 3–5 и Intel Quick Sync или VAAPI существенно снижает фактическую нагрузку.
Сколько места занимает архив Frigate за сутки?
Архив занимает примерно 10,8 GB в сутки на каждый 1 Мбит/с суммарного видеопотока. Например, 8 камер с битрейтом по 4 Мбит/с создадут около 346 GB за сутки и примерно 4,8 TB за 14 дней непрерывной записи. Для retention необходимо добавить 15–20% свободного места под базу, события и пики битрейта.
Нужна ли GPU, если уже есть Coral?
GPU не обязательна, если Coral выполняет детекцию, а CPU или Intel iGPU аппаратно декодируют видео. Для 4–8 камер 1080p Coral USB и 4–6 vCPU обычно достаточно. NVIDIA GPU становится оправданной при 16+ камерах, detect FPS выше 10, 4K-потоках, TensorRT-моделях или параллельных AI-задачах на сервере.
Выводы
Для 4–8 камер 1080p выбирайте сервер с 4–6 vCPU, 8–16 GB RAM, Coral и NVMe/SSD, рассчитанным по формуле 10,8 GB на 1 Мбит/с в сутки. Для 16 камер или 4K-архива нужен выделенный сервер с 8+ vCPU, 32 GB RAM, аппаратным декодированием и диском от 10 TB. Главный принцип Frigate: запись масштабируется объёмом и IOPS диска, а детекция — производительностью Coral, NPU или GPU.
Bare metal в 70+ локациях: современное железо, NVMe, быстрая выдача, оплата картой или криптой.
Подобрать сервер