본문 바로가기
IT/HomeLabs

[홈랩] Frigate NVR 하드웨어 체크리스트: 최적 성능을 위한 선택

by 수누다 2026. 7. 3.

[홈랩] Frigate NVR 하드웨어 체크리스트: 최적 성능을 위한 선택

Frigate NVR 하드웨어를 어떻게 골라야 하는지 막막하셨다면, 딱 그 지점에서 이 글을 보시면 됩니다. 저도 처음 Frigate를 붙일 때는 "카메라 몇 대 안 되는데 아무 미니 PC나 쓰면 되겠지" 하고 시작했었거든요. 근데 실제로 써보니까 NVR(Network Video Recorder, 네트워크 영상 녹화 장치)은 단순 저장 장비가 아니라 영상 디코딩, 객체 감지, 저장, 네트워크 처리가 한 번에 몰리는 워크로드였습니다. 여기서 하드웨어 선택을 대충 하면 CPU는 100%로 치솟고, 녹화는 끊기고, 홈랩 보안은 오히려 불안해지더라고요.

이번 글은 광고성 추천이 아니라, 제가 홈랩에서 Frigate, 보안 카메라, Coral AI(코랄 AI 가속기) 조합을 만지면서 정리한 실전 체크리스트입니다. 제품명만 나열하기보다 어떤 부품이 왜 중요한지, 어디서 병목이 생기는지, 그리고 최소한 무엇부터 챙겨야 하는지 멘토처럼 짚어보겠습니다.

Frigate NVR 하드웨어 전체 아키텍처를 보여주는 홈랩 보안 구성 이미지

Frigate, 보안 카메라, 스토리지, Coral AI, 스위치가 어떻게 연결되는지 한눈에 보여주는 전체 구성도입니다.

1. 왜 Frigate NVR 하드웨어가 먼저 정리되어야 할까요?

쉽게 말해 Frigate는 "녹화기"이면서 동시에 "영상 분석기"입니다. 카메라에서 RTSP(Real Time Streaming Protocol, 실시간 스트리밍 프로토콜)로 영상을 받아오고, ffmpeg로 스트림을 처리하고, 객체 감지를 돌리고, 이벤트 클립과 스냅샷을 저장하죠. 이 중에서 특히 무거운 건 영상 디코딩과 객체 감지입니다.

제가 직접 해보니 같은 카메라 4대라도 설정에 따라 부하 차이가 꽤 컸어요. 해상도가 높아질수록, 프레임 수가 늘어날수록, 감지 구역이 많아질수록 하드웨어 부담이 훅 올라갑니다. 그래서 Frigate NVR 하드웨어를 고를 때는 "서버가 켜지느냐"보다 지속적으로 안정 동작하느냐를 봐야 합니다. 여기서 중요한 포인트! 처음부터 과하게 비싼 장비를 살 필요는 없지만, 병목이 생기는 영역은 정확히 알아야 삽질을 줄일 수 있습니다.

2. Frigate와 NVR의 핵심 개념, 쉽게 말해 이겁니다

Frigate는 오픈소스 NVR로 많이 알려져 있고, 홈 어시스턴트(Home Assistant)와 함께 쓰는 분도 꽤 많아요. 구조를 아주 단순하게 풀면 아래 흐름입니다.

  1. 보안 카메라가 영상을 계속 보냅니다.
  2. Frigate가 그 영상을 받아 녹화합니다.
  3. 필요하면 객체 감지(Object Detection, 사람/차량/동물 등 인식)를 수행합니다.
  4. 이벤트만 따로 저장하거나 알림을 보냅니다.

이때 CPU는 전체 제어와 일부 디코딩을 맡고, GPU(Graphics Processing Unit, 그래픽 처리 장치)나 iGPU(내장 GPU)는 영상 가속을 도와주고, Coral AI 같은 TPU(Tensor Processing Unit, 추론 가속기)는 객체 감지를 덜어줍니다. 스토리지는 녹화 영상을 버티는 저장소 역할을 하고요. 즉, 한 부품만 좋아서는 안 되고 전체 밸런스가 맞아야 해요.

3. Frigate NVR 하드웨어 체크리스트: 꼭 보는 항목 6가지

3-1. CPU: 무조건 고클럭보다 "지속 부하"가 중요합니다

처음엔 코어 수만 보면 되는 줄 알았는데, 실제로 써보니까 Frigate는 장시간 켜두는 서비스라서 발열과 스로틀링(throttling, 발열로 인한 성능 제한)도 같이 봐야 하더라고요. 소형 장비는 순간 성능은 괜찮아도 여름철에 성능이 출렁이는 경우가 있습니다.

  • 카메라 수: 2대와 8대는 완전히 다른 이야기입니다.
  • 해상도/프레임: 1080p와 4MP 이상급은 부하 차이가 큽니다.
  • 하드웨어 가속 유무: 지원되는 환경에서는 CPU 부담을 크게 줄어들어요.

3-2. Coral AI: 객체 감지용 가속기는 체감 차이가 큽니다

Frigate 이야기에서 Coral AI를 빼기 어렵습니다. 저도 처음엔 "CPU로도 되지 않나?" 싶었는데, 객체 감지를 CPU로 오래 돌리면 다른 작업까지 같이 무거워지더라고요. Coral USB Accelerator나 M.2 기반 Edge TPU 같은 실존하는 Coral 장치는 Frigate 구성에서 많이 쓰이는 편입니다.

특히 사람, 차량 같은 이벤트 감지를 꾸준히 돌릴 계획이라면 Coral AI 같은 추론 가속기를 고려할 만한 가치가 충분해요. 다만 여기서 중요한 건, Coral이 모든 문제를 해결해주진 않는다는 점입니다. 영상 디코딩 병목은 여전히 별개라서 CPU/iGPU/스토리지도 같이 맞춰야 합니다.

3-3. 저장장치: SSD와 HDD를 역할 분리하면 편합니다

이거 진짜 편하더라고요. 운영체제, 컨테이너, 데이터베이스 성격의 파일은 SSD에 두고, 연속 녹화는 HDD에 두는 방식입니다. 제가 한동안 전부 한 디스크에 몰아넣고 썼었는데, 로그와 녹화가 같이 쌓이니 관리가 번거로웠어요.

  • SSD: OS, Docker, Frigate 메타데이터, 캐시
  • HDD: 장시간 녹화 보관
  • 여유 용량: 이벤트 중심 저장인지, 24시간 연속 녹화인지에 따라 크게 달라집니다

3-4. 네트워크: 카메라보다 스위치가 먼저 흔들릴 수 있습니다

보안 카메라는 한 대씩 보면 대역폭이 커 보이지 않는데, 여러 대가 동시에 붙으면 스위치와 업링크가 생각보다 바빠집니다. PoE(Power over Ethernet, 랜선 전원 공급) 스위치를 쓰면 배선은 깔끔해지지만, 전력 예산도 함께 봐야 해요. 홈랩 보안에서 의외로 자주 놓치는 부분입니다.

3-5. 카메라 스트림 호환성: RTSP와 코덱 확인은 필수입니다

Frigate 자체보다 카메라 설정에서 더 오래 헤매는 경우도 많더라고요. 메인 스트림은 녹화용, 서브 스트림은 감지용으로 나누는 구성이 흔한데요, 실제로 써보니까 카메라가 RTSP를 안정적으로 제공하는지, H.264/H.265 코덱을 어떻게 내보내는지부터 확인해야 했습니다.

3-6. 전원과 냉각: 조용한 서버가 꼭 좋은 서버는 아니더라고요

24시간 켜둘 장비라면 어댑터 품질, 케이스 통풍, 팬 소음보다 먼저 안정성을 보셔야 합니다. 미니 PC나 소형 보드 장비는 공간은 적게 먹지만, 먼지와 여름철 온도에 꽤 민감하더라고요. 저도 처음엔 무소음이 좋아 보였는데, 결국 약한 강제 냉각을 넣고 훨씬 안정화됐습니다.

항목 중요 이유 체크 포인트
CPU 전체 처리와 디코딩 부담 카메라 수, 발열, 지속 성능
Coral AI 객체 감지 오프로딩 USB 또는 M.2 연결 가능 여부
스토리지 녹화 데이터 누적 SSD/HDD 분리, 보관 기간
네트워크 다중 카메라 스트림 수집 PoE, 스위치 용량, 케이블 상태
카메라 스트림 품질과 호환성 RTSP, 서브 스트림, 코덱
냉각/전원 24시간 안정성 온도, 어댑터, 팬 구성

4. 실전 구현: 제가 주로 확인하는 구축 순서

여기서는 제품 추천보다, 어떤 순서로 확인하면 덜 꼬이는지 말씀드리겠습니다. 저도 처음엔 Docker부터 올렸다가 카메라 스트림 문제를 뒤늦게 발견해서 삽질 좀 했습니다 ㅎㅎ 순서는 아래처럼 가는 게 훨씬 낫습니다.

  1. 카메라 RTSP 접속 확인
  2. 서버에서 저장소 마운트 구성
  3. Docker와 Frigate 컨테이너 실행
  4. 감지용 서브 스트림 연결
  5. Coral AI 인식 여부 확인
  6. 녹화/이벤트 저장 경로 검증
  7. 온도와 CPU 사용률 모니터링
docker run --rm hello-world
ls /dev/bus/usb
lsblk
df -h

위 명령은 아주 기본이지만 꼭 해보시는 걸 권합니다. 특히 Coral USB를 쓴다면 장치가 보이는지부터 확인해야 하고, 저장소는 남은 공간보다 어디에 마운트됐는지가 더 중요합니다.

mqtt:
  enabled: false

cameras:
  front_door:
    ffmpeg:
      inputs:
        - path: rtsp://USER:PASS@CAMERA_IP:554/stream1
          roles:
            - record
        - path: rtsp://USER:PASS@CAMERA_IP:554/stream2
          roles:
            - detect
    detect:
      enabled: true
    record:
      enabled: true

detectors:
  coral:
    type: edgetpu
    device: usb

설정의 핵심은 녹화용 스트림과 감지용 스트림을 분리하는 겁니다. 메인 스트림은 선명하지만 무겁고, 서브 스트림은 가볍지만 감지에는 충분한 경우가 많거든요. Frigate NVR 하드웨어 부담을 줄이는 가장 현실적인 방법 중 하나입니다.

Frigate NVR 하드웨어에서 메인 스트림과 서브 스트림 분리 구성을 설명하는 이미지

메인 스트림은 녹화, 서브 스트림은 감지에 사용하는 Frigate 설정 흐름을 보여주는 구성 이미지입니다.

docker compose up -d
docker logs frigate
docker stats

docker stats를 보면 대략적인 CPU와 메모리 사용량을 볼 수 있습니다. 드디어 됐다! 싶어도 바로 끝내지 말고, 카메라 여러 대를 동시에 붙였을 때도 안정적인지 꼭 보세요.

5. ⚠️ 실제로 많이 겪는 문제와 해결 포인트

이 섹션은 이론보다 실전입니다. 저도 처음엔 설정 파일 문법보다 하드웨어 병목에서 더 많이 막혔습니다.

  • CPU 사용률이 너무 높다: 감지 해상도를 낮추고, 서브 스트림을 감지용으로 분리해보세요. 하드웨어 가속 지원 여부도 다시 확인해야 합니다.
  • Coral AI가 안 잡힌다: USB 패스스루나 장치 권한 문제일 수 있습니다. 컨테이너에서 장치가 노출되는지 먼저 확인하세요.
  • 녹화가 중간중간 끊긴다: 네트워크 품질, 카메라 RTSP 안정성, 디스크 쓰기 지연을 순서대로 의심하는 게 좋습니다.
  • 저장 공간이 너무 빨리 찬다: 연속 녹화와 이벤트 녹화를 분리해서 생각해야 합니다. 보관 기간(retention)을 현실적으로 잡아야 합니다.
  • 장비가 뜨거워진다: 특히 소형 장비는 케이스 내부 공기 흐름만 바꿔도 안정성이 확 달라져요.

혹시 이런 경험 있으신가요? 저는 한동안 카메라 문제인 줄 알았는데, 알고 보니 USB Coral이 허브를 타면서 인식이 불안정했던 적이 있었습니다. 결국 포트를 바꾸고 전원 환경을 정리하니 해결됐습니다. 사소해 보여도 이런 물리 계층 이슈가 꽤 많습니다.

6. 검증 방법: 구축 후 무엇을 확인해야 할까요?

구축이 끝났다고 바로 안심하긴 이릅니다. 홈랩 보안은 "켜졌다"보다 "며칠 지나도 멀쩡하다"가 훨씬 중요하거든요. 제가 보통 보는 검증 포인트는 아래와 같습니다.

  1. Frigate 대시보드에서 카메라별 라이브 뷰가 안정적으로 보이는지
  2. 사람이나 차량 같은 객체 이벤트가 정상 기록되는지
  3. 녹화 디렉터리에 파일이 꾸준히 생성되는지
  4. CPU, 메모리, 온도가 과하게 치솟지 않는지
  5. 재부팅 후에도 자동으로 서비스가 복구되는지
docker ps
docker logs --tail 100 frigate
df -h
uptime

실제로 써보니까 하루 정도는 멀쩡해도, 3일째부터 문제가 드러나는 경우가 있었습니다. 그래서 저는 최소 며칠은 돌려보면서 로그를 확인합니다. 🎉 이 과정을 통과하면 그때부터는 꽤 마음이 편해집니다.

Frigate NVR 하드웨어 검증을 위한 대시보드와 시스템 리소스 모니터링 이미지

카메라 상태, 이벤트 감지, CPU 사용률을 함께 확인하는 검증 단계의 대시보드 이미지입니다.

7. 옵션별 판단 기준: 어떤 환경에 무엇이 맞을까요?

정답은 한 가지가 아닙니다. 다만 사용 목적에 따라 우선순위는 분명히 갈립니다.

환경 우선순위 추천 판단 기준
카메라 1~2대 소형 홈랩 저전력, 저소음 서브 스트림 활용, SSD 중심 구성
카메라 여러 대 상시 녹화 스토리지, 냉각 HDD 분리, 안정 전원, 네트워크 점검
객체 감지 비중이 큰 환경 Coral AI Edge TPU 연결성과 컨테이너 인식 확인
확장 예정이 있는 홈랩 여유 포트와 슬롯 저장장치 추가 가능성, USB/M.2 여유

여기서 중요한 포인트! 지금 당장 카메라가 2대라고 해서 2대 기준으로만 짜면 나중에 꼭 후회하더라고요. 보안 카메라는 한 번 맛보면 주차장, 현관, 복도까지 늘어나기 쉽습니다. 저도 그랬습니다.

8. 자주 묻는 질문과 마무리 체크

  • Q. Frigate는 무조건 Coral AI가 있어야 하나요?
    A. 꼭 그렇진 않습니다. 다만 객체 감지를 오래 안정적으로 돌릴 계획이면 Coral AI 같은 가속기가 체감상 도움이 큽니다.
  • Q. SSD만으로도 가능한가요?
    A. 가능합니다. 다만 장시간 녹화 보관이 목적이라면 저장 전략을 따로 설계하는 게 낫습니다.
  • Q. 보안 카메라는 어떤 점을 먼저 봐야 하나요?
    A. RTSP 지원, 스트림 분리 가능 여부, 코덱 호환성을 먼저 보시는 게 좋습니다.

CPU, Coral AI, 스토리지, 네트워크, 냉각 요소를 한 장으로 정리한 요약 이미지입니다.

정리해보면 Frigate NVR 하드웨어 선택의 핵심은 비싼 장비를 사는 게 아니라 병목이 생기는 지점을 먼저 이해하는 것입니다. CPU만 보지 마시고, Coral AI 같은 감지 가속기, 저장장치 역할 분리, 카메라 스트림 설계, 그리고 전원과 냉각까지 같이 보셔야 합니다. 제가 직접 해보니 이 순서로 접근하면 시행착오가 훨씬 줄었습니다.

다음 글에서는 Frigate 설정 파일을 더 깊게 들어가서, 감지 구역(zone), 마스크(mask), 녹화 보관 정책을 어떻게 잡으면 좋은지 다뤄볼 예정입니다. 이전 글에서 홈랩 네트워크와 역방향 프록시(Reverse Proxy, 리버스 프록시) 구성 이야기를 보셨다면, 그 위에 얹는 방식으로 생각하시면 이해가 훨씬 쉬우실 겁니다. 홈랩 보안, 천천히 하나씩 쌓아가면 됩니다. 급하게 가면 꼭 다시 뜯게 되더라고요.