SuSu DaDDy

현관 CCTV 5부 — Frigate NVR로 영상 녹화 및 보안 강화

by SuSu Daddy
반응형

안녕하세요. 4부까지 현관 카메라를 Home Assistant와 Apple HomeKit에 연동해 라이브 스트리밍과 알림을 구성했습니다. 그러나 한 가지 중요한 기능이 빠져 있었습니다. 바로 영상 녹화입니다. 무언가 사고가 생겼을 때 과거 영상을 되돌아볼 수 없으면 CCTV의 핵심 역할을 못 하는 것이나 다름없습니다. 5부에서는 Frigate NVR로 로컬 영상 녹화 시스템을 구축한 과정을 공유합니다.

 

□ Frigate NVR이란

Frigate는 Home Assistant와 통합되도록 설계된 오픈소스 NVR(Network Video Recorder)입니다. 단순 녹화를 넘어 AI 기반 객체 감지(사람, 자동차, 반려동물 등)가 핵심 기능입니다.

Frigate의 주요 특징:
- 로컬 AI 객체 감지로 클라우드 의존 없음
- HA 애드온으로 간편 설치
- 이벤트 기반 녹화(움직임 감지 시만 저장 가능)
- 24시간 연속 녹화 지원
- HA와 완벽 통합(MQTT 이벤트)
- Coral TPU(USB) 연결 시 AI 처리 속도 대폭 향상

 

□ Frigate 설치 및 기본 설정

HA 애드온 스토어에서 Frigate를 직접 검색하거나, Frigate 공식 GitHub 저장소 URL을 통해 커스텀 저장소로 추가합니다.

설치 후 /config/frigate.yml 설정 파일을 작성합니다:

mqtt:
  host: localhost
  port: 1883

cameras:
  entrance:
    ffmpeg:
      inputs:
        - path: rtsp://onvif_user:password@192.168.1.xxx:554/stream1
          roles:
            - detect
            - record
    detect:
      width: 1920
      height: 1080
      fps: 5
    record:
      enabled: true
      retain:
        days: 7
        mode: motion
    motion:
      mask:
        - 0,0,0,100,200,100,200,0

objects:
  track:
    - person
    - car

이 설정으로 7일치 모션 감지 영상을 자동 저장하고, 사람과 자동차를 AI로 감지합니다.

 

□ 녹화 전략: 이벤트 기반 vs 24시간

녹화 방식은 두 가지 중 선택할 수 있습니다.

이벤트 기반 녹화(Motion Mode):
- 움직임 감지 시에만 저장
- 저장 용량 절약 (현관 기준 하루 수십 MB~수백 MB)
- 모션 감지 누락 시 녹화 공백 발생 가능

24시간 연속 녹화:
- 모든 영상 저장
- 저장 용량 많이 필요 (1080p 기준 하루 약 5~15GB)
- 어떤 상황도 빠짐없이 기록

저는 현관 카메라 특성상 사람이 지나가는 경우만 중요하므로 이벤트 기반 녹화를 선택했습니다. 단, 심야 시간(오전 0시~6시)에는 24시간 모드로 전환하는 자동화를 추가해 보안을 강화했습니다.

 

□ 영상 저장 용량 계산 및 스토리지 관리

용량 계획이 중요합니다. 이벤트 기반 녹화 기준으로 현관 카메라 하루 발생하는 이벤트가 약 30~50건(사람 지나침, 택배 등)이라면:

- 이벤트당 평균 30초 분량
- 총 녹화 시간: 약 25분/일
- 1080p H.264 기준 약 100200MB/일
- 7일 보관 기준 총 약 700MB
1.4GB

NUC의 256GB SSD에서 HA 자체가 약 10~20GB를 사용하고, 나머지 여유 공간에 Frigate 녹화 데이터를 저장합니다. 용량이 부족하면 외장 USB SSD를 추가로 마운트할 수 있습니다.

Frigate는 설정한 보관 일수를 초과한 영상을 자동으로 삭제해 용량을 관리합니다.

 

□ AI 사람 감지로 오탐 줄이기

일반 모션 감지는 그림자, 빛의 변화, 바람에 흔들리는 물건 등 다양한 원인으로 오탐이 발생합니다. Frigate의 AI 객체 감지를 활용하면 실제 "사람"이 감지된 경우에만 알림을 발송할 수 있습니다.

HA 자동화에서 Frigate 이벤트 활용:

트리거: Frigate MQTT 이벤트 (camera=entrance, label=person)
조건: 재실 상태 = 외출
액션: 스마트폰 긴급 알림 + 스냅샷 첨부

이 자동화로 집에 아무도 없을 때 현관에 사람이 감지되면 즉시 알림을 받습니다. 그림자나 빛 변화에 의한 오탐 알림이 크게 줄었습니다.

 

□ 보안 강화: 외부 접근 차단

Frigate 웹 UI(포트 5000)는 기본적으로 로컬 네트워크에서만 접근 가능합니다. 외부 인터넷에 직접 노출하지 않는 것이 보안상 가장 중요합니다.

외부에서 접근이 필요한 경우:
- Nabu Casa(HA Cloud): HA 공식 구독 서비스. 안전한 터널링으로 원격 접속
- WireGuard VPN: NUC에 WireGuard 서버 설정. 스마트폰에서 VPN 연결 후 로컬처럼 접속
- Tailscale: 설정이 가장 간단한 P2P VPN. HA 애드온으로 설치 가능

저는 WireGuard VPN을 사용합니다. 연결 시 모든 IoT 기기와 Frigate에 마치 집에 있는 것처럼 접근할 수 있습니다. 외부에서 포트 포워딩으로 RTSP나 Frigate를 직접 노출하는 방식은 해킹 위험이 있어 권장하지 않습니다.

 

□ 마무리

Frigate NVR 도입으로 현관 CCTV 시스템이 단순 스트리밍에서 완전한 보안 카메라 시스템으로 진화했습니다. AI 사람 감지로 오탐이 줄었고, 이벤트 기반 녹화로 용량 걱정 없이 7일치 영상을 보관할 수 있게 되었습니다. 6부 마지막 편에서는 전체 시스템 구성을 정리하고 설치 총비용과 실사용 후기를 공유하겠습니다.

감사합니다.

반응형

블로그의 정보

SuSu Daddy

SuSu Daddy

활동하기