13년차의 서버실

서버, 인프라, 홈랩 기술 블로그

[태그:] Frigate

  • [HomeLabs] UniFi Protect 비용 vs DIY NVR, 장기 운영비까지 비교

    [HomeLabs] UniFi Protect 비용 vs DIY NVR, 장기 운영비까지 비교

    UniFi Protect 비용 vs DIY NVR, 오래 굴리면 뭐가 남을까

    집이나 소규모 사무실에 카메라를 붙이기 시작하면 결국 UniFi Protect 비용 이야기를 피하기 어렵습니다. 처음엔 본체와 카메라 가격만 보게 되는데, 막상 운영에 들어가면 저장소, PoE 스위치, UPS, 원격 접속, 디스크 교체, 장애 대응 시간까지 전부 비용으로 돌아오거든요. 저도 홈랩에서 DIY NVR을 오래 굴려봤고, 반대로 관리 포인트가 적은 어플라이언스형 구성도 써봤는데, 오래 남는 차이는 감가상각보다 운영 피로도였습니다.

    이번 글은 특정 브랜드를 밀려는 글이 아닙니다. 보안 카메라 시스템 비용을 왜 자꾸 잘못 계산하게 되는지, 그리고 홈랩 기준으로 어떤 선택이 덜 후회되는지 실무 관점으로 정리해 보려는 글입니다. UniFi Protect는 지원되는 UniFi Console과 전용 앱 경험을 중심으로 운영 복잡도를 줄이는 방식에 가깝고, DIY NVR은 Frigate, ZoneMinder, Shinobi 같은 조합으로 하드웨어 자유도를 얻는 대신 운영 책임을 직접 져야 합니다. 여기서는 최근 문서와 실제 구축 예시가 풍부한 Frigate 기준 DIY NVR을 예로 들겠습니다.

    UniFi Protect 비용 비교를 위한 전체 아키텍처 다이어그램

    UniFi Protect 전용 콘솔 구조와 DIY NVR의 서버, 스토리지, PoE 스위치, 카메라 연결 흐름을 한눈에 보여주는 비교 아키텍처입니다.

    UniFi Protect 비용 계산이 자꾸 틀어지는 이유

    NVR은 한 번 설치하고 끝나는 가전이 아니라, 계속 쓰기 부하를 받는 기록 시스템입니다. 그래서 구매 시점에는 안 보이던 비용이 운영 3개월차쯤부터 슬슬 드러납니다. 특히 아래 네 가지를 빠뜨리면 계산이 거의 항상 틀어지더라고요.

    • 전력과 발열: 24시간 켜 두는 시스템이라 전기요금보다 발열, 팬 소음, 먼지 축적, 쓰로틀링이 먼저 문제를 만드는 경우가 많습니다.
    • 디스크 수명: 영상 저장은 읽기보다 쓰기가 훨씬 많습니다. 운영체제 디스크와 녹화 디스크를 섞어 두면 성능 문제와 장애 복구가 같이 옵니다.
    • 장애 대응 시간: 로그를 읽고 원인을 좁히는 데 드는 시간이 실제 비용입니다. 홈랩에서는 이 항목이 숫자로 안 보여서 더 과소평가됩니다.
    • 가족 사용성: 나만 보는 시스템이면 DIY의 불편함을 버틸 수 있어도, 가족이나 동료가 같이 쓰면 앱 품질과 재생 일관성이 바로 비용으로 체감됩니다.

    이 지점에서 Protect와 DIY의 성격 차이가 또렷해집니다. Protect는 비용이 앞단에 몰려 있고, DIY는 비용이 뒷단에 퍼집니다. 전자는 지갑이 먼저 아프고, 후자는 시간이 먼저 아픕니다.

    UniFi Protect vs DIY NVR, 개념부터 다릅니다

    Protect는 용도 고정형 장비에 가깝고, DIY는 조합형 플랫폼에 가깝습니다. 이 차이는 단순 취향 문제가 아니라 장애 범위와 책임 소재를 바꿉니다.

    UniFi Protect 쪽

    Protect를 쓰면 콘솔, 저장소, 앱, 카메라 동작 방식이 한 생태계 안에서 맞물립니다. 게다가 현재는 ONVIF 호환 서드파티 카메라도 일부 연동할 수 있어서, 예전보다 선택 폭이 넓어졌습니다. 다만 고급 AI 기능은 UniFi 카메라나 별도 AI 액세서리 쪽이 더 유리한 편이라, 가장 매끄러운 경험은 여전히 UniFi 중심 구성에서 나옵니다.

    이 구조의 장점은 분명합니다. 문제가 생겨도 의심해야 할 층이 적습니다. 저장소 상태가 안 좋은지, 콘솔이 과부하인지, 카메라 링크가 흔들리는지 정도로 범위를 좁히기 쉬워요. 다시 말해 비용의 예측 가능성이 높습니다. 장기 운영에서는 이게 생각보다 크게 느껴집니다.

    DIY NVR 쪽

    DIY는 RTSP나 ONVIF 기반 카메라를 섞어 쓸 수 있고, 이미 가지고 있는 미니 PC나 NAS, 서버를 재활용할 수 있습니다. 문제는 자유도만큼 변수도 늘어난다는 점입니다. 같은 “영상이 끊긴다”는 증상도 실제 원인은 제각각입니다. 카메라 서브스트림 미설정일 수도 있고, ffmpeg 재연결 루프일 수도 있고, 디스크 await 증가일 수도 있고, 하드웨어 디코딩이 빠져 CPU가 포화된 것일 수도 있습니다.

    제 경험상 DIY NVR의 진짜 난점은 기능 부족이 아닙니다. 문제가 생겼을 때 어디부터 의심해야 하는지 초기에 감이 잘 안 잡힌다는 점이 더 큽니다. 이게 쌓이면 비용보다 피로도가 먼저 올라갑니다.

    UniFi Protect 비용은 이렇게 나눠 봐야 덜 속습니다

    UniFi Protect 비용을 제대로 보려면 초기 구매비만이 아니라 운영 구조까지 같이 봐야 합니다. 아래 표는 실제 비교할 때 꽤 유용한 프레임입니다. 가격표보다 나은 이유는, 어떤 항목이 장기 TCO를 밀어 올리는지 바로 보이기 때문입니다.

    항목 UniFi Protect DIY NVR 실무 판단 기준
    초기 장비 콘솔과 카메라 조합이 사실상 세트에 가깝습니다 기존 서버, NAS, 미니 PC 재활용이 가능합니다 남는 장비가 없으면 체감 격차가 줄고, 남는 장비가 많으면 DIY가 훨씬 유리해집니다
    설치 난이도 초기 설정이 짧고 시행착오가 적습니다 스트림, 저장소, 권한, 가속 설정을 직접 맞춰야 합니다 첫 주말 안에 끝내고 싶다면 Protect 쪽이 더 안전합니다
    카메라 선택권 UniFi 중심일 때 가장 매끄럽고, 일부 ONVIF 카메라도 연동 가능합니다 RTSP/ONVIF 카메라를 폭넓게 섞을 수 있습니다 기존 카메라를 최대한 살려야 하면 DIY가 더 현실적입니다
    저장소 설계 구조가 단순하고 예상이 쉽습니다 OS 디스크, 녹화 디스크, 보존 정책을 직접 설계합니다 영상 보존 일수와 I/O 패턴을 이해하지 않으면 DIY에서 먼저 문제 납니다
    장애 범위 원인 추적 범위가 좁습니다 네트워크, 컨테이너, ffmpeg, 디코딩, 파일시스템까지 넓습니다 운영 경험이 적을수록 Protect의 시간 절약 효과가 커집니다
    확장 시 비용 예측은 쉽지만 생태계 안에서 확장해야 합니다 부품 단위로 늘릴 수 있지만 병목도 함께 늘어납니다 카메라 수가 늘수록 DIY는 설계 품질 차이가 크게 납니다
    가족/동료 사용성 앱 경험이 균일하고 인계가 쉽습니다 UI와 알림 품질이 조합에 따라 편차가 큽니다 공용 인프라라면 사용성 저하가 곧 숨은 비용입니다
    장기 TCO 돈을 먼저 쓰고 운영 공수를 줄이는 구조입니다 돈을 아끼는 대신 운영 공수를 나중에 지불하는 구조입니다 취미인지 생활 인프라인지 먼저 구분하면 선택이 쉬워집니다

    제가 실제로 후회했던 판단은 “일단 싸게 시작해 보고, 문제 생기면 고치자”는 접근이었습니다. NVR은 그렇게 가면 거의 항상 저장소와 알림 신뢰도에서 발목이 잡힙니다. 반대로 처음부터 완성형 장비를 샀는데 내가 결국 손대는 걸 즐기는 타입이라면, 그때는 Protect가 꽤 폐쇄적으로 느껴질 수도 있습니다. 결국 비용은 숫자만의 문제가 아니라 내가 어떤 문제를 즐기고, 어떤 문제를 싫어하는가의 문제이기도 합니다.

    실전 구현: DIY NVR을 Frigate로 올릴 때 최소 구성

    DIY를 비용 효율적으로 굴리려면 “싼 부품”보다 “역할 분리”가 더 중요합니다. 제가 최소 기준으로 보는 건 세 가지입니다. 첫째, 감지 스트림과 녹화 스트림을 분리할 것. 둘째, 운영체제 디스크와 녹화 데이터를 분리할 것. 셋째, 가능하면 하드웨어 디코딩을 붙일 것. 이 세 가지를 빼면 초기 절감 효과가 운영 중 병목으로 다시 청구됩니다.

    아래 Compose 예시는 Frigate를 올릴 때 기본 뼈대로 쓰기 괜찮습니다. 최근 공식 가이드 기준으로 웹 UI 기본 포트는 8971이고, 하드웨어 가속 장치는 호스트 환경에 따라 /dev/dri/renderD128처럼 더 구체적으로 잡는 편이 안전합니다. 핵심은 /config와 /media/frigate를 분리하고, 임시 캐시와 녹화 저장소를 구분하는 데 있습니다.

    1. 카메라에서 메인스트림과 서브스트림이 각각 살아 있는지 먼저 확인합니다.
    2. 감지는 저해상도 서브스트림, 녹화는 메인스트림으로 분리합니다.
    3. 녹화 볼륨은 OS가 설치된 디스크와 분리합니다.
    4. 컨테이너가 재부팅 후 자동 복구되는지 먼저 확인한 다음 세부 튜닝으로 들어갑니다.
    services:
      frigate:
        container_name: frigate
        image: ghcr.io/blakeblackshear/frigate:stable
        restart: unless-stopped
        stop_grace_period: 30s
        shm_size: "512mb"
        ports:
          - "8971:8971"
          - "8554:8554"
          - "8555:8555/tcp"
          - "8555:8555/udp"
        volumes:
          - ./frigate/config:/config
          - ./frigate/media:/media/frigate
          - type: tmpfs
            target: /tmp/cache
            tmpfs:
              size: 1000000000
          - /etc/localtime:/etc/localtime:ro
        devices:
          - /dev/dri/renderD128:/dev/dri/renderD128

    컨테이너만 띄운다고 끝나지 않습니다. 실제 안정성은 설정 파일에서 갈립니다. 처음 구성할 때는 아래 네 가지를 꼭 봅니다. mqtt.enabled를 안 쓸 거면 명시적으로 끌 것, record.enabled를 켤 것, ffmpeg.hwaccel_args를 하드웨어에 맞출 것, 카메라 입력에 roles를 분리할 것. 특히 마지막은 성능 차이가 바로 납니다.

    Frigate 컨테이너, RTSP 입력, 감지용 서브스트림, 녹화용 메인스트림, 스토리지 볼륨이 어떻게 연결되는지 보여주는 구성도입니다.

    mqtt:
      enabled: false
    
    ffmpeg:
      hwaccel_args: preset-vaapi
    
    record:
      enabled: true
    
    snapshots:
      enabled: true
    
    cameras:
      front_door:
        ffmpeg:
          inputs:
            - path: rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@192.168.10.20:554/cam/realmonitor?channel=1&subtype=2
              roles:
                - detect
            - path: rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@192.168.10.20:554/cam/realmonitor?channel=1&subtype=0
              roles:
                - record
        detect:
          width: 1280
          height: 720
          fps: 5

    이 구성이 중요한 이유는 간단합니다. 객체 감지는 높은 해상도보다 안정적인 프레임 공급이 더 중요하고, 녹화는 반대로 디테일 보존이 중요합니다. 둘을 한 스트림에 몰아넣으면 CPU와 I/O가 함께 흔들립니다. 저도 예전에 메인스트림 하나에 감지와 녹화를 같이 태웠다가, 겉으론 녹화가 되는데 이벤트 감지가 듬성듬성 빠지는 문제를 겪었습니다. 이거 처음엔 소프트웨어 버그처럼 보여서 더 헷갈리더라고요.

    스트림이 제대로 열리는지 먼저 확인하고 싶을 때는 웹 UI보다 ffprobe가 빠릅니다. 아래처럼 카메라가 내보내는 영상 특성을 먼저 확인해 두면, 나중에 detect 해상도와 fps를 조정할 때 헛손질이 줄어듭니다.

    ffprobe -hide_banner "rtsp://viewer:[email protected]:554/cam/realmonitor?channel=1&subtype=2"
    ffprobe -hide_banner "rtsp://viewer:[email protected]:554/cam/realmonitor?channel=1&subtype=0"

    UniFi Protect 비용을 안정적으로 만드는 요소

    UniFi Protect 대안을 찾는 분들이 많지만, Protect가 반복해서 선택되는 이유는 기능 수보다 운영 구조에 있습니다.

    • 원인 범위가 좁습니다: 장애 시 네트워크, 저장소, 콘솔 상태 중심으로 문제를 좁히기 쉽습니다.
    • 앱 경험이 일정합니다: 타임라인 탐색과 원격 재생에서 사용자 교육 비용이 적습니다.
    • 용량 계획이 단순합니다: 콘솔과 저장소를 중심으로 증설 판단을 하게 되니 sizing이 단순합니다.
    • 운영 시간을 아낍니다: 로그를 덜 읽어도 되는 시스템은 생각보다 값어치를 크게 합니다.

    물론 단점도 분명합니다. 기존 RTSP/ONVIF 카메라를 최대한 살리고 싶은 분에게는 여전히 제약이 느껴질 수 있고, 하드웨어 자유도도 좁습니다. 그러니 Protect는 기능 확장 플랫폼이라기보다 실패 확률을 낮추는 비용 구조라고 보는 편이 더 정확합니다. 홈랩 장난감으로 접근하면 비싸게 느껴지고, 생활 인프라로 보면 오히려 합리적으로 느껴지는 이유가 여기 있습니다.

    ⚠️ 실제로 자주 부딪히는 문제와 해결법

    여기서는 제가 실제로 여러 번 본 시나리오를 하나 적어보겠습니다. 미니 PC에 Frigate를 올리고, 감지와 녹화를 동시에 켠 상태에서 처음 며칠은 멀쩡합니다. 그런데 시간이 지나면 알림이 늦고, 이벤트 썸네일이 비거나, 특정 시간대 재생이 버벅입니다. 이때 많은 분이 “컨테이너가 불안정하다”고 생각하시는데, 실제로는 아래 세 가지가 원인인 경우가 많습니다.

    1. 서브스트림 미사용: detect가 과한 해상도를 먹으면서 디코딩 부하가 누적됩니다.
    2. 저장소 혼용: OS와 녹화가 같은 디스크를 두드리면서 await가 길어집니다.
    3. 하드웨어 가속 누락: CPU가 ffmpeg를 오래 끌고 가다가 재연결 빈도가 올라갑니다.

    이 문제는 갑자기 터지기보다 서서히 드러납니다. 그래서 더 위험합니다. 타임라인은 열리는데 탐색이 늦고, 감지는 되는데 누락이 섞이고, 로그에는 가끔씩만 재연결이 찍히는 식이죠. 이런 상태가 바로 DIY NVR의 전형적인 성능 저하 패턴입니다.

    1. 카메라에서 저해상도 서브스트림을 활성화합니다.
    2. Frigate에서 detect는 서브스트림, record는 메인스트림으로 분리합니다.
    3. 운영체제 디스크와 녹화 디스크를 분리합니다.
    4. 가능하면 하드웨어 디코딩 경로를 노출합니다.
    5. 증상이 보이면 로그만 보지 말고 디스크 지표를 먼저 확인합니다. 영상 시스템은 CPU보다 I/O가 먼저 병목 나는 경우가 꽤 많습니다.

    운영 중에는 아래 명령어를 자주 씁니다. 이 네 개만 익숙해져도 “문제가 소프트웨어인지, 저장소인지, 카메라인지”를 꽤 빠르게 가를 수 있습니다.

    docker compose up -d
    docker logs frigate --tail 100
    iostat -x 1
    smartctl -a /dev/sdb

    해석 기준도 같이 봐야 합니다.

    • docker logs frigate --tail 100에서 ffmpeg 재연결 메시지가 반복되면, 컨테이너 자체보다 RTSP 품질이나 카메라 측 스트림 안정성을 먼저 의심하는 편이 맞습니다.
    • iostat -x 1에서 특정 디스크의 await가 길게 유지되거나 %util이 계속 높으면 녹화 쓰기가 저장소를 막고 있을 수 있습니다.
    • CPU가 높아도 바로 CPU 업그레이드로 가기보다, 먼저 detect 해상도와 fps를 낮추고 서브스트림 분리를 확인하는 게 순서입니다.
    • smartctl -a에서 디스크 건강 경고나 재할당 섹터가 보이면 설정 튜닝보다 저장장치 교체가 먼저입니다.

    한 가지 더 말씀드리면, DIY에서는 “로그가 조용하니 괜찮다”가 잘 안 통합니다. 로그는 조용한데 타임라인 체감 성능이 나빠지는 경우가 꽤 있어요. 그래서 저는 홈랩 NVR을 볼 때 항상 로그와 함께 재생 UX를 같이 봅니다. 사용자가 느끼는 품질은 로그보다 UI에서 먼저 무너질 때가 많습니다.

    검증: 잘 돌아가는지 확인하는 기준

    설치가 끝났다고 바로 성공은 아닙니다. 실제 운영에서 보면 아래 네 가지가 꽤 중요합니다. 이 네 항목이 안정적이면, 대체로 그 시스템은 한동안 손이 덜 갑니다.

    보안 카메라 시스템 비용 운영 상태를 확인하는 대시보드 이미지

    CPU, 디스크 I/O, 녹화 보존 기간, 카메라 이벤트 타임라인을 함께 확인하는 운영 대시보드 예시입니다.

    1. 녹화 보존 기간: 의도한 일수만큼 파일이 실제로 유지되는지 확인합니다.
    2. 이벤트 탐색 속도: 특정 시간대로 이동할 때 UI가 버벅이지 않는지 봅니다.
    3. 알림 신뢰도: 사람이 지나갈 때 누락이 없는지, 반대로 오탐이 과한지 봅니다.
    4. 재부팅 복구력: 호스트 재시작 뒤 스트림과 녹화가 자동 복구되는지 꼭 확인합니다.
    df -h /media/frigate
    du -sh ./frigate/media
    journalctl --since "1 hour ago" | grep -Ei "docker|frigate|i/o error"

    여기서 df -h는 사용 가능한 공간을 보는 명령이고, du -sh는 실제 영상 데이터가 얼마나 쌓였는지 보는 명령입니다. 둘이 예상과 다르면 보존 정책이나 녹화 조건이 생각과 다르게 잡혀 있을 수 있습니다. journalctl에서 I/O error가 보이면 설정을 건드리기 전에 디스크, 케이블, 외장 스토리지 연결 상태부터 확인하는 편이 맞습니다.

    제가 권하는 검증 루틴도 있습니다. 카메라 한 대만 붙인 상태에서 먼저 하루를 봅니다. 그다음 카메라 수를 늘리고, 마지막에 알림과 녹화를 같이 켭니다. 처음부터 모든 기능을 한 번에 켜면 병목 원인을 분리하기 어렵습니다. 이 절차는 Protect보다 DIY NVR에서 훨씬 중요합니다.

    누구에게 어떤 선택이 맞을까

    UniFi Protect 비용이 아깝지 않은 경우는 생각보다 분명합니다. 카메라 수가 늘어날 가능성이 있고, 가족이나 동료가 같이 쓰며, 장애가 났을 때 제가 직접 ffmpeg 로그를 들여다보고 싶지 않다면 Protect 쪽이 맞습니다. 특히 보안 카메라를 취미가 아니라 생활 인프라로 보는 분이라면, 예측 가능한 비용과 낮은 운영 스트레스가 장기적으로 이깁니다.

    반대로 이미 괜찮은 서버가 있고, RTSP 카메라를 꼭 살리고 싶고, 로그 분석과 튜닝을 번거로움보다 재미로 느끼신다면 DIY NVR이 더 낫습니다. 다만 조건은 있습니다. 저장소 분리, 전원 안정성, 보존 정책, 하드웨어 디코딩까지 같이 설계할 준비가 되어 있어야 합니다. 오픈소스라서 공짜인 거지, 운영이 자동으로 쉬워지는 건 아니더라고요.

    실제로 추천 기준은 아래처럼 단순합니다.

    • 생활 인프라로 쓸 거면: Protect를 권합니다. 돈을 더 쓰더라도 시간을 덜 씁니다.
    • 홈랩 실험이 목적이면: DIY가 맞습니다. 남는 장비를 잘 활용할 수 있고 배울 것도 많습니다.
    • 기존 카메라를 반드시 살려야 하면: DIY가 더 현실적입니다.
    • 가족 사용성과 앱 완성도가 중요하면: Protect가 덜 피곤합니다.
    • 문제 해결 과정을 즐긴다면: DIY의 운영 공수 자체가 취미가 될 수 있습니다.
    • 문제가 생기면 바로 복구돼야 한다면: Protect처럼 관리 포인트가 적은 구조가 낫습니다.

    제 개인적인 판단을 한 줄로 줄이면 이렇습니다. DIY는 장비를 아끼는 방식이고, Protect는 시간을 아끼는 방식입니다. 둘 중 어느 쪽이 더 비싼지는 가격표보다 사용자의 성향이 더 크게 좌우합니다.

    UniFi Protect 비용과 DIY NVR 비용 요소 비교 인포그래픽

    초기 장비, 운영 공수, 저장소, 확장성, 장애 대응 시간을 기준으로 두 방식을 요약 비교한 인포그래픽입니다.

    짧은 FAQ

    UniFi Protect 비용은 왜 체감상 높게 느껴질까요?

    카메라만이 아니라 콘솔, 저장소, PoE, 운영 단순성까지 함께 사는 구조라서 그렇습니다. 대신 그 안에는 시행착오를 줄이는 값도 들어 있습니다.

    DIY NVR이 무조건 싸진 않나요?

    남는 장비가 있으면 시작은 저렴해 보일 수 있습니다. 하지만 디스크 교체, 장애 대응 시간, 전력, 저장소 병목 대응까지 넣으면 얘기가 꽤 달라집니다.

    홈랩 NVR로 처음 시작할 때 가장 먼저 챙길 것은 뭔가요?

    카메라를 많이 사기 전에 스트림 분리부터 하시는 게 좋습니다. 감지용 서브스트림과 녹화용 메인스트림을 나누는 것만으로도 안정성이 크게 달라집니다.

    Protect와 DIY 중 하나를 고르기 애매하면 어떤 질문을 던져야 하나요?

    “장애가 났을 때 제가 직접 만질 건가요, 아니면 바로 복구되길 원하나요?” 이 질문 하나로 방향이 꽤 명확해집니다. 전자면 DIY, 후자면 Protect가 더 잘 맞습니다.

    참고 자료

    관련해서 다음 글에서는 홈랩 NVR의 저장소 보존 기간을 실제로 어떻게 계산하는지, 그리고 PoE 스위치와 VLAN 분리를 어디까지 해야 운영이 편해지는지 이어서 다뤄보겠습니다. 이 글과 함께 읽으면 비용 계산이 훨씬 또렷해집니다.

  • [HomeLabs] CheapSecurity vs Frigate: 홈랩 CCTV AI NVR 솔루션 실측 비교

    [HomeLabs] CheapSecurity vs Frigate: 홈랩 CCTV AI NVR 솔루션 실측 비교

    [홈랩] 홈랩 CCTV AI NVR 비교: CheapSecurity vs Frigate 실측 관점 정리

    홈랩 CCTV AI NVR 구성을 고민하시는 분들이 요즘 정말 많습니다. 저도 집에서 카메라 몇 대 붙여놓고 단순 녹화만 하다가, 사람이나 차량 같은 객체를 자동으로 잡아주는 AI NVR이 필요해졌거든요. 처음엔 ‘그냥 싼 장비 하나 사면 끝 아닌가?’ 싶었는데, 실제로 써보니까 저장 방식, RTSP(실시간 스트리밍 프로토콜), 하드웨어 가속(Hardware Acceleration), 객체 탐지(Object Detection) 안정성이 생각보다 크게 갈리더라고요. 그래서 이번 글은 CheapSecurity vs Frigate라는 비교 키워드로 많이 찾는 분들을 위해, 제가 홈랩에서 판단했던 기준과 실제 구축 흐름을 정리해보겠습니다.

    먼저 중요한 점 하나 짚고 갈게요. Frigate는 실존하는 대표적인 오픈소스 AI NVR로 널리 알려져 있지만, CheapSecurity는 제가 확인 가능한 범위에서 구체적인 실존 제품 정보가 명확하지 않았습니다. 그래서 이 글에서는 CheapSecurity를 특정 브랜드나 모델로 단정하지 않고, 저비용 홈랩 CCTV AI NVR 구성 전반을 뜻하는 비교축으로 풀어가겠습니다. 이게 할루시네이션을 피하는 가장 안전한 방식이더라고요.

    홈랩 CCTV AI NVR 전체 아키텍처를 보여주는 이미지

    홈랩 CCTV AI NVR 아키텍처 예시입니다. 카메라, RTSP 스트림, NVR, 저장소, 알림 흐름을 한눈에 보여주는 용도예요.

    왜 홈랩 CCTV AI NVR 비교가 중요한가

    쉽게 말해 CCTV는 이제 녹화만 되는 박스로 끝나지 않습니다. 홈랩에서 직접 운영하면 다음 세 가지가 바로 체감됩니다.

    • 탐지 정확도: 움직임 감지(Motion Detection)만으로는 나뭇잎, 그림자, 비 오는 날 오탐이 너무 많습니다.
    • 저장 효율: 24시간 연속 녹화는 편하지만 디스크를 꾸준히 잡아먹습니다.
    • 운영 편의성: 컨테이너(Docker Container) 기반인지, 설정 파일 중심인지에 따라 유지보수 난도가 확 달라집니다.

    제가 직접 해보니 홈랩 CCTV AI NVR에서 핵심은 단순히 ‘싼가 비싼가’가 아니었습니다. 오탐을 얼마나 줄이느냐, 스트림이 얼마나 안정적이냐, 그리고 장애가 났을 때 내가 직접 고칠 수 있느냐가 훨씬 중요했습니다. 특히 홈랩은 기업 환경처럼 전용 장비를 계속 바꿀 수 있는 구조가 아니잖아요. 이미 갖고 있는 미니 PC, NAS(Network Attached Storage), 중고 카메라를 최대한 활용해야 하니까요.

    CheapSecurity vs Frigate, 개념부터 쉽게 정리해보겠습니다

    저도 처음엔 헷갈렸는데, 여기서는 두 방향으로 이해하면 편합니다.

    1. CheapSecurity 쪽 접근: 저비용 우선입니다. 기존 카메라와 남는 서버를 최대한 재활용하고, 기능은 꼭 필요한 것부터 붙이는 방식이죠.
    2. Frigate 쪽 접근: 객체 탐지(Object Detection) 중심입니다. 단순 모션보다 사람, 차량 같은 이벤트를 기준으로 운영하기 좋습니다.
    3. 결정 포인트: 예산보다 운영 목표가 먼저입니다. ‘녹화 보관’이 목적이면 단순 구성도 충분하고, ‘이벤트 기반 알림’이 목적이면 Frigate류가 훨씬 잘 맞습니다.

    사실 보안 카메라 비교를 할 때 많은 분이 카메라 화질만 먼저 보시는데요, 실제 운영에서는 NVR이 더 중요할 때가 많습니다. 카메라가 RTSP를 안정적으로 뿌려줘도 NVR이 그걸 잘 받아먹지 못하면 녹화 구멍이 생깁니다. 반대로 카메라가 아주 고급형이 아니어도, NVR 구성이 안정적이면 실사용 만족도가 꽤 올라갑니다.

    한눈에 보는 비교 표

    항목 저비용 홈랩 구성(CheapSecurity 관점) Frigate
    주요 목적 최소 비용으로 녹화와 기본 감시 객체 탐지 중심 AI NVR 운영
    구성 난이도 케이스마다 편차 큼 초기 학습은 필요하지만 구조가 비교적 명확함
    탐지 방식 모션 감지 위주로 흐르기 쉬움 사람, 차량 등 객체 기준 운영에 유리
    확장성 개별 조합에 따라 다름 홈 어시스턴트(Home Assistant) 연동 사례가 많음
    트러블슈팅 조합형이라 원인 분리가 어려울 수 있음 설정 파일 중심이라 재현과 수정이 편한 편
    추천 대상 예산이 가장 중요한 입문자 안정적인 이벤트 감시를 원하는 사용자

    실전 구현: 제가 홈랩에서 Frigate 기준으로 잡은 기본 구조

    실제로 써보니까 가장 덜 삽질하는 시작점은 이렇습니다.

    1. 카메라는 RTSP 스트림을 안정적으로 제공하는 모델을 사용합니다.
    2. NVR은 Docker Compose로 올립니다.
    3. 녹화 저장소는 로컬 SSD나 NAS 마운트 경로로 분리합니다.
    4. 탐지용 스트림과 녹화용 스트림을 분리하면 운영이 조금 더 편해집니다.

    여기서 중요한 포인트! 홈랩 CCTV AI NVR은 CPU를 계속 갈아 넣는 구조로 가면 오래 못 버팁니다. 처음엔 ‘이 정도면 버티겠지’ 했는데, 여러 대 붙이니 팬 소음과 발열이 바로 올라오더라고요. 그래서 구성 자체를 단순하게 잡는 게 좋습니다.

    1. 디렉터리 준비

    mkdir -p ~/homelab/frigate/config
    mkdir -p ~/homelab/frigate/media
    cd ~/homelab/frigate

    설정 파일과 녹화 저장소를 분리해두면 백업이나 마이그레이션 할 때 편합니다. 저는 이걸 안 나눠놨다가 나중에 경로 정리하느라 삽질 좀 했습니다 ㅎㅎ

    2. Docker Compose 작성

    services:
      frigate:
        container_name: frigate
        restart: unless-stopped
        image: ghcr.io/blakeblackshear/frigate:stable
        privileged: true
        shm_size: "512mb"
        ports:
          - "5000:5000"
          - "8554:8554"
          - "8555:8555/tcp"
          - "8555:8555/udp"
        volumes:
          - ./config:/config
          - ./media:/media/frigate
          - /etc/localtime:/etc/localtime:ro

    버전 태그를 세세하게 고정하지 않은 이유도 있습니다. 이 글은 특정 시점의 미확인 버전을 단정하기보다, 구조와 운영 포인트에 집중하려고 했거든요.

    3. 기본 설정 파일 예시

    mqtt:
      enabled: false
    
    cameras:
      front_door:
        ffmpeg:
          inputs:
            - path: rtsp://USER:PASS@CAMERA_IP:554/stream1
              roles:
                - detect
                - record
        detect:
          enabled: true
        record:
          enabled: true
        snapshots:
          enabled: true
          timestamp: true
          bounding_box: true

    여기서는 가장 단순한 형태로만 시작하시면 됩니다. 처음부터 카메라 여러 대, 역할 분리, 알림 자동화까지 한 번에 넣으면 어디서 꼬였는지 파악이 안 됩니다. 저도 처음엔 욕심냈다가 결국 한 대만 붙여서 다시 검증했었거든요.

    홈랩 CCTV AI NVR에서 Frigate 설정과 컨테이너 구성을 설명하는 이미지

    Frigate 설정 파일, Docker Compose, 카메라 입력 흐름을 설명하는 구성 이미지가 들어갈 자리입니다.

    4. 컨테이너 실행

    docker compose up -d
    docker compose logs -f frigate

    로그를 바로 보는 습관이 중요합니다. 웹 화면만 보고 있으면 ‘왜 안 되지?’ 상태가 길어집니다. 반면 로그를 보면 RTSP 인증 실패인지, 스트림 경로 문제인지, 디렉터리 권한 문제인지 금방 감이 옵니다.

    CheapSecurity 관점에서 봤을 때의 장점과 한계

    그렇다면 저비용 중심의 구성은 무조건 별로냐? 그건 아닙니다. 오히려 홈랩 입문에서는 아주 현실적인 선택일 수 있습니다.

    • 장점: 이미 가진 장비를 재활용하기 좋습니다.
    • 장점: 작은 규모에서는 투자 부담이 적습니다.
    • 장점: 학습용으로는 충분히 재미있습니다.
    • 한계: 기능이 여기저기 흩어지면 운영 일관성이 떨어집니다.
    • 한계: 객체 탐지 품질을 안정적으로 맞추려면 결국 별도 설계가 필요합니다.

    제가 실제로 느낀 차이는 이거였습니다. 저비용 조합은 처음 시작은 빠른데, 시간이 갈수록 관리 복잡도가 올라갑니다. 반면 Frigate는 초반 설정이 조금 귀찮아도, 구조가 잡히고 나면 비교적 덜 흔들립니다. 특히 보안 카메라 비교를 많이 해보신 분일수록 공감하실 텐데요. 장비가 늘수록 ‘설정이 코드처럼 관리되느냐’가 진짜 중요해집니다.

    ⚠️ 트러블슈팅: 제가 실제로 부딪힌 문제들

    여기서부터가 진짜 실전입니다. 드디어 됐다 싶다가 다시 무너지는 구간이 꼭 오더라고요.

    1. RTSP 연결은 되는데 화면이 불안정한 경우

    대부분 카메라 스트림 프로파일이 원인인 경우가 많았습니다. 메인 스트림은 녹화용, 서브 스트림은 탐지용으로 나누는 방식이 보통 더 안정적이더라고요.

    ffprobe rtsp://USER:PASS@CAMERA_IP:554/stream1

    해결 포인트: 스트림 자체가 흔들리면 NVR을 아무리 만져도 답이 없습니다. 카메라 쪽 인코딩 설정부터 확인하세요.

    2. 저장은 되는데 이벤트 검색이 불편한 경우

    이건 모션 감지 중심 구성에서 자주 느낀 문제였습니다. 비슷한 시간대의 잡이벤트가 너무 많아져서, 막상 필요한 장면을 찾는 시간이 길어지더라고요. 그래서 객체 기반 태깅이 왜 중요한지 뒤늦게 체감했습니다.

    3. CPU 사용률이 계속 높은 경우

    처음엔 이게 뭔가 싶었는데, 탐지와 녹화를 같은 고해상도 스트림 하나로 다 처리하면 부담이 커질 수 있습니다. 특히 홈랩 미니 PC는 여유가 넉넉하지 않거든요.

    • 탐지 스트림 해상도를 낮춰봅니다.
    • 동시 카메라 수를 줄여서 먼저 검증합니다.
    • 디스크 I/O 병목도 함께 봐야 합니다.

    중요: 성능 문제를 무조건 CPU 탓으로만 보면 안 됩니다. 네트워크, 저장소, 스트림 품질이 같이 얽혀 있는 경우가 많습니다.

    4. 권한 문제로 녹화 파일이 안 쌓이는 경우

    이건 진짜 자주 겪습니다. 컨테이너는 떠 있는데 파일이 안 생기면, 경로 권한부터 보셔야 합니다.

    ls -al ~/homelab/frigate
    ls -al ~/homelab/frigate/media

    저는 예전에 NFS(Network File System) 마운트 경로로 연결했다가 권한이 꼬여서 반나절을 날린 적도 있습니다. 이런 날은 정말 허무하죠.

    홈랩 CCTV AI NVR 트러블슈팅과 로그 분석을 표현한 이미지

    로그 분석, RTSP 오류, 저장소 권한 문제 같은 트러블슈팅 장면을 보여주는 이미지 자리입니다.

    검증과 결과: 어떤 기준으로 비교해야 덜 후회하나

    실제로 써보니까 결과를 볼 때는 화려한 기능보다 아래 기준이 훨씬 중요했습니다.

    1. 이벤트 재생이 빠른가
    2. 오탐이 줄었는가
    3. 카메라 추가 시 설정이 반복 가능(repeatable)한가
    4. 문제 발생 시 로그와 설정 파일만으로 복구 가능한가

    여기서 Frigate의 강점은 꽤 분명했습니다. 객체 중심 이벤트 관리를 하려는 순간, 단순 저비용 조합보다 운영 일관성이 좋아지더라고요. 반대로 CheapSecurity식 접근, 즉 기존 자원 재활용 중심 접근은 예산을 많이 아껴야 하는 상황에서 꽤 유효했습니다. 다만 규모가 조금만 커져도 관리 체계가 필요해집니다.

    제가 정리한 결론은 이렇습니다.

    질문 추천 방향
    일단 가장 적은 비용으로 시작하고 싶은가 저비용 홈랩 조합부터 시작
    사람/차량 감지와 이벤트 탐색이 중요한가 Frigate 우선 검토
    나중에 홈 어시스턴트 연동까지 볼 생각인가 Frigate가 더 자연스러움
    운영보다 실험 자체가 목적인가 저비용 조합도 재미있음
    홈랩 CCTV AI NVR 결과 검증과 이벤트 대시보드를 보여주는 이미지

    탐지 이벤트, 썸네일, 타임라인 기반 검증 결과를 보여주는 대시보드 이미지 자리입니다.

    정리: 홈랩 CCTV AI NVR은 목적이 먼저입니다

    이번 비교를 한 문장으로 줄이면 이겁니다. CheapSecurity vs Frigate의 승부는 가격이 아니라 운영 목표에서 갈립니다. 단순 녹화와 저비용이 우선이면 가볍게 시작해도 됩니다. 하지만 나중에 사람 감지, 알림 자동화, 이벤트 검색 효율까지 보게 되면 Frigate 쪽 장점이 점점 더 크게 느껴질 가능성이 높습니다.

    혹시 이런 경험 있으신가요? 처음엔 싸게 시작했는데, 나중에 설정이 쌓이면서 오히려 시간이 더 들어가는 경우요. 저도 딱 그랬습니다. 그래서 지금은 장비 스펙보다도 운영 구조가 단순하고 재현 가능한가를 먼저 봅니다. 홈랩은 재미있어야 오래 가거든요.

    홈랩 CCTV AI NVR에서 CheapSecurity식 구성과 Frigate를 비교 요약한 이미지

    두 접근 방식의 장단점과 추천 상황을 한 장으로 요약한 인포그래픽이 들어갈 자리입니다.

    다음 단계 제안

    • 1단계: 카메라 1대로 RTSP 안정성부터 검증해보세요.
    • 2단계: 그 다음 Frigate 같은 AI NVR로 이벤트 기반 운영을 붙여보세요.
    • 3단계: 마지막에 저장 정책과 알림 정책을 다듬는 게 효율적입니다.

    다음 글에서는 홈 어시스턴트(Home Assistant)와 Frigate 연동이나, 카메라 스트림 분리 전략을 더 자세히 다뤄볼 예정입니다. 이전 글에서 다룬 Docker Compose 운영 팁도 같이 보시면 훨씬 이해가 빨라지실 겁니다.

    자주 묻는 질문 FAQ

    Q1. 홈랩 CCTV AI NVR 입문은 어떤 방향이 좋을까요?

    예산이 빡빡하면 저비용 조합으로 시작하셔도 됩니다. 다만 이벤트 기반 운영을 원하면 초반부터 Frigate를 검토하는 편이 장기적으로 편할 수 있습니다.

    Q2. 보안 카메라 비교에서 가장 먼저 봐야 할 건 뭔가요?

    해상도보다 RTSP 안정성, 스트림 설정 유연성, 그리고 NVR과의 궁합을 먼저 보시는 걸 추천드립니다.

    Q3. Frigate는 누구에게 잘 맞나요?

    단순 녹화보다 사람/차량 감지, 이벤트 검색, 자동화 연동이 중요한 분들께 잘 맞습니다.

    Q4. CheapSecurity라는 이름의 특정 제품을 찾고 있었는데요?

    제가 확인 가능한 범위에서는 특정 실존 제품으로 단정하기 어려웠습니다. 그래서 이 글에서는 저비용 홈랩 CCTV AI NVR 접근 전반을 뜻하는 비교 개념으로 다뤘습니다.

  • [HomeLabs] 기존 CCTV 시스템, Frigate AI NVR로 마이그레이션: 성공적인 전환 가이드

    [HomeLabs] 기존 CCTV 시스템, Frigate AI NVR로 마이그레이션: 성공적인 전환 가이드

    [홈랩] Frigate 마이그레이션으로 기존 CCTV 시스템 전환하기

    기존 CCTV 시스템을 쓰다가 답답함을 느끼는 순간이 한 번쯤 오더라고요. 녹화는 되는데 검색이 불편하고, 알림은 많은데 정작 필요한 장면은 놓치고, 모바일 앱이나 웹 화면도 제약이 많고요. 저도 홈랩에서 자가 호스팅 CCTV를 오래 굴리다 보니 결국 Frigate 마이그레이션을 진지하게 검토하게 됐습니다. 특히 AI NVR(인공지능 네트워크 비디오 레코더) 방식으로 사람, 차량 같은 객체를 기준으로 이벤트를 다루고 싶었거든요. 이번 글에서는 기존 보안 카메라 환경을 Frigate로 옮길 때 어떤 순서로 접근하면 덜 헤매는지, 제가 직접 해보며 삽질했던 포인트까지 묶어서 정리해보겠습니다.

    핵심부터 말씀드리면, Frigate 설정은 단순히 컨테이너 하나 띄우는 작업이 아닙니다. 카메라 스트림, RTSP(실시간 스트리밍 프로토콜), 저장소, 하드웨어 가속, 객체 감지기(detector), 그리고 기존 CCTV 운영 습관까지 같이 바꿔야 하거든요. 그래서 처음부터 전체 구조를 보고 들어가는 게 훨씬 낫습니다.

    Frigate 마이그레이션을 위한 기존 CCTV와 AI NVR 아키텍처 이미지

    기존 NVR, PoE 스위치, IP 카메라, Frigate 서버, 저장소가 어떻게 연결되는지 한눈에 보여주는 개요 이미지입니다.

    1. 왜 기존 CCTV 시스템을 Frigate AI NVR로 바꾸게 되는가

    쉽게 말해 Frigate는 영상 파일 중심으로 보던 CCTV를, 이벤트 중심으로 다시 정리해주는 도구에 가깝습니다. 기존 장비형 NVR(Network Video Recorder, 네트워크 비디오 녹화기)은 안정적이긴 한데, 검색과 확장성에서 아쉬운 경우가 많습니다. 반면 Frigate는 자가 호스팅 CCTV 환경에서 유연성이 크고, Home Assistant 같은 도구와도 궁합이 좋기로 많이 알려져 있죠.

    제가 실제로 옮기려 했던 이유는 아래 네 가지였습니다.

    • 이벤트 검색성: 단순 시간대 탐색보다 객체 기준 탐색이 훨씬 편했습니다.
    • 운영 통합: 홈랩에 이미 있는 Docker, NAS, 리버스 프록시(reverse proxy, 역방향 프록시)와 붙이기 좋았습니다.
    • 알림 품질 개선: 움직임만 잡는 방식보다 실제 필요한 이벤트만 고르기 쉬웠습니다.
    • 벤더 종속 감소: 특정 카메라 제조사 앱에 덜 묶이게 되더라고요.

    물론 무조건 교체가 답은 아닙니다. 기존 NVR이 매우 안정적이고, 가족이 사용하는 환경이라 변경 리스크가 크다면 병행 운영 기간을 반드시 두셔야 합니다. 여기서 중요한 포인트! Frigate 마이그레이션은 기능 업그레이드이면서 동시에 운영 모델 변경입니다.

    2. Frigate 마이그레이션 전에 알아둘 핵심 개념

    저도 처음엔 이게 뭔가 싶었는데, 개념만 정리되면 훨씬 수월합니다.

    2-1. Frigate는 무엇을 담당하나

    Frigate는 오픈소스 기반의 NVR 소프트웨어로 많이 사용됩니다. 영상 스트림을 받아 녹화하고, 감지 결과를 이벤트 단위로 관리합니다. 여기서 중요한 건 Frigate가 카메라 자체를 제어한다기보다, 카메라가 보내는 스트림을 잘 받아서 분석하고 저장하는 쪽에 가깝다는 점입니다.

    2-2. RTSP, detect stream, record stream

    보안 카메라를 붙일 때 많이 헷갈리는 부분이 이겁니다. 하나의 카메라에서도 메인 스트림과 서브 스트림이 따로 나오는 경우가 많거든요.

    • record stream: 녹화 품질 위주 스트림입니다. 해상도가 높고 저장용에 적합합니다.
    • detect stream: 객체 감지용 스트림입니다. 보통 더 가볍고, 시스템 부담을 줄이는 데 유리합니다.
    • go2rtc: 카메라 스트림 중계나 재가공에 자주 쓰이는 구성 요소입니다. 환경에 따라 활용도가 높습니다.

    제가 직접 해보니 detect와 record를 같은 고해상도 스트림으로 밀어붙이면 CPU가 금방 올라가더라고요. 처음부터 역할을 분리하는 게 좋습니다.

    2-3. 객체 감지와 하드웨어 가속

    AI NVR의 핵심은 객체 감지입니다. 다만 모든 처리를 CPU로만 해결하려고 하면 금방 한계가 옵니다. 그래서 운영 환경에 따라 GPU 가속이나 전용 감지기(detector)를 붙이는 구성을 많이 검토합니다. 이 부분은 서버 사양과 운영 목적에 따라 차이가 커서, 무리해서 한 번에 완성형으로 가기보다 카메라 수와 해상도 기준으로 단계적으로 확장하는 게 안전했습니다.

    3. 마이그레이션 설계: 기존 CCTV를 바로 끄지 말아야 하는 이유

    여기서 많이들 실수합니다. 기존 CCTV 장비를 먼저 내리고 Frigate 설정부터 맞추려 하면, 문제 생겼을 때 되돌아갈 길이 없어집니다. 저도 예전에 비슷하게 접근했다가 야간 녹화 확인이 꼬여서 식은땀 흘린 적이 있거든요.

    제가 권장하는 순서는 이렇습니다.

    1. 기존 NVR은 그대로 유지합니다.
    2. 카메라 한두 대만 Frigate에 병행 연결합니다.
    3. 녹화, 감지, 저장 정책을 먼저 검증합니다.
    4. 문제가 없으면 카메라를 순차적으로 옮깁니다.
    5. 최종적으로 운영 화면과 알림 경로를 정리합니다.

    병행 운영 기간에는 특히 아래 항목을 꼭 체크하세요.

    점검 항목 기존 CCTV Frigate 전환 시 체크 포인트
    카메라 연결 방식 벤더 앱 또는 NVR 종속 RTSP 주소 확인, 인증 방식 점검
    녹화 보관 장비 내부 디스크 중심 저장 경로, 보존 기간, 디스크 사용량 확인
    이벤트 탐색 타임라인 중심 객체 기반 이벤트 흐름 검증
    성능 전용 장비 최적화 CPU, 메모리, 디코딩 부하 확인
    장애 대응 단일 장비 재부팅 위주 컨테이너 로그, 스트림 재연결, 저장소 상태 확인

    4. 실전 구현: Docker 기준 Frigate 설정 흐름

    이제 실전입니다. 아래 예시는 개념을 설명하기 위한 기본 형태입니다. 실제 환경에서는 장치 매핑, 저장소 경로, 하드웨어 가속 설정이 달라질 수 있습니다. 저는 처음엔 최소 구성으로 올리고, 그 다음 카메라를 하나씩 붙이는 방식으로 갔습니다. 이게 진짜 편하더라고요.

    4-1. 디렉터리 구조 준비

    mkdir -p ./frigate/config
    mkdir -p ./frigate/media
    mkdir -p ./frigate/db

    구성을 분리해두면 나중에 백업이나 롤백이 훨씬 편합니다. 특히 설정 파일과 미디어 저장 경로는 처음부터 분리해두세요.

    4-2. 기본 Compose 예시

    services:
      frigate:
        container_name: frigate
        image: ghcr.io/blakeblackshear/frigate:stable
        restart: unless-stopped
        privileged: true
        shm_size: "512mb"
        ports:
          - "5000:5000"
          - "8554:8554"
        volumes:
          - ./frigate/config:/config
          - ./frigate/media:/media/frigate
          - ./frigate/db:/db
          - /etc/localtime:/etc/localtime:ro
        environment:
          FRIGATE_RTSP_PASSWORD: "strong-password"

    여기서 shm_size는 영상 처리 시 꽤 중요할 수 있습니다. 너무 작으면 예상 못 한 문제가 생기기도 합니다. 그리고 운영 환경에 따라 privileged 사용 여부는 보안 정책에 맞춰 검토하셔야 합니다.

    4-3. 기본 설정 파일 예시

    mqtt:
      enabled: false
    
    ffmpeg:
      inputs: []
    
    cameras:
      front_door:
        enabled: true
        ffmpeg:
          inputs:
            - path: rtsp://user:{FRIGATE_RTSP_PASSWORD}@192.168.10.20:554/stream1
              roles:
                - record
            - path: rtsp://user:{FRIGATE_RTSP_PASSWORD}@192.168.10.20:554/stream2
              roles:
                - detect
        detect:
          enabled: true
        record:
          enabled: true
        snapshots:
          enabled: true

    처음엔 카메라 이름을 물리적 위치 기준으로 짓는 걸 추천합니다. 예를 들면 front_door, parking, hallway 같은 식이죠. 나중에 알림 규칙 짤 때 훨씬 안 헷갈립니다.

    Frigate 설정에서 detect와 record 스트림 분리를 설명하는 보안 카메라 구성 이미지

    record 스트림과 detect 스트림을 분리해 설정하는 예시를 시각적으로 이해할 수 있는 이미지입니다.

    4-4. 단계별 적용 절차

    1. 카메라 한 대의 RTSP 주소를 먼저 확인합니다.
    2. 서브 스트림이 있다면 detect용으로 우선 연결합니다.
    3. Frigate 웹 UI에서 스트림이 정상 수신되는지 확인합니다.
    4. 그 다음 record 스트림을 붙여 녹화가 잘 되는지 봅니다.
    5. 이벤트가 과하게 잡히면 감지 영역(zone)이나 마스크(mask)를 조정합니다.
    6. 카메라별로 설정이 안정되면 다음 카메라로 넘어갑니다.

    이 순서를 지키면 문제 발생 지점을 좁히기 쉽습니다. 반대로 카메라 여러 대를 한 번에 붙이면 어느 부분이 병목인지 파악하기가 어렵습니다.

    5. Frigate 설정에서 자주 막히는 부분과 트러블슈팅

    이 섹션은 진짜 경험담입니다. 보기엔 단순한데 실제로는 여기서 시간을 많이 씁니다. 삽질 좀 했습니다 ㅎㅎ

    5-1. ⚠️ RTSP는 열리는데 화면이 불안정한 경우

    증상은 다양합니다. 영상이 잠깐 나오다가 멈추거나, 특정 카메라만 끊기거나, 감지 이벤트는 있는데 녹화가 비는 경우도 있죠.

    • 원인 후보 1: 카메라가 내보내는 코덱(codec, 영상 압축 방식)과 디코딩 경로가 맞지 않는 경우
    • 원인 후보 2: 메인 스트림만 사용해서 서버 부하가 과한 경우
    • 원인 후보 3: 네트워크 품질이나 PoE 스위치 상태 문제

    제가 직접 해보니 이럴 땐 무조건 Frigate 문제라고 보면 안 되더라고요. 카메라 웹 관리 화면에서 스트림 프로파일을 먼저 점검하고, 해상도와 프레임레이트(frame rate, 초당 프레임 수)를 보수적으로 잡는 게 효과적이었습니다.

    5-2. ⚠️ 감지가 너무 많이 뜨는 경우

    바람에 흔들리는 나뭇잎, 차량 라이트, 비 오는 날 반사 때문에 이벤트가 쏟아질 수 있습니다. 이건 AI NVR이라고 해서 자동으로 완벽해지진 않더라고요.

    • 카메라 각도 조정: 생각보다 중요합니다.
    • 감지 영역 분리: 현관, 주차 구역처럼 의미 있는 구역을 나눕니다.
    • 불필요 영역 마스킹: 도로, 나무, 하늘을 제외하면 훨씬 깔끔해집니다.

    혹시 이런 경험 있으신가요? 분명 사람 알림만 받고 싶은데 새벽마다 그림자 알림이 울리는 상황이요. 이건 설정만이 아니라 설치 위치와 화각 문제인 경우도 많습니다.

    5-3. ⚠️ 저장소가 빨리 차는 경우

    Frigate 마이그레이션 후 가장 체감되는 운영 이슈 중 하나가 저장소입니다. 기존 CCTV 장비는 내부 정책이 숨겨져 있어서 덜 의식하게 되는데, 자가 호스팅 CCTV는 내가 직접 책임져야 하거든요.

    record:
      enabled: true
      retain:
        days: 7
      events:
        retain:
          default: 14

    예시처럼 보존 기간을 분리해두면 운영이 편합니다. 연속 녹화는 짧게, 이벤트는 조금 더 길게 가져가는 식이 현실적이더라고요. 단, 정확한 값은 카메라 수와 해상도에 따라 달라서 무조건 정답은 없습니다.

    5-4. ⚠️ 기존 CCTV와 사용자 경험이 달라서 혼란스러운 경우

    이건 기술 이슈 같지 않지만 실제론 굉장히 큽니다. 가족이나 동료가 기존 앱 사용에 익숙하면, Frigate 웹 UI나 새 알림 흐름이 오히려 불편하게 느껴질 수 있거든요. 그래서 저는 완전 전환 전에 누가 어떤 화면으로 어떤 작업을 하는지부터 다시 정리했습니다. 이걸 안 하면 기술적으로는 성공인데 운영은 실패합니다.

    6. 검증 방법: 성공적인 Frigate 마이그레이션인지 어떻게 판단할까

    전환이 끝났다고 바로 기존 시스템을 철거하면 안 됩니다. 최소 며칠은 병행하면서 아래 기준으로 검증해보세요.

    1. 실시간 보기: 주요 카메라가 지연 없이 보이는가
    2. 이벤트 품질: 필요한 사람/차량 이벤트를 놓치지 않는가
    3. 녹화 신뢰성: 특정 시간대 영상 누락이 없는가
    4. 저장소 안정성: 디스크 사용량이 예상 범위 내인가
    5. 운영 편의성: 검색, 다운로드, 확인 흐름이 이전보다 나아졌는가

    저는 특히 야간, 우천 시, 역광 시간대를 따로 봤습니다. 낮에는 잘 되는데 밤에만 오탐이 늘거나 영상이 지저분해지는 경우가 있거든요. 실제로 써보니까 낮 테스트만으로는 절대 안심하면 안 되겠더라고요.

    Frigate 마이그레이션 결과를 확인하는 AI NVR 대시보드 이미지

    객체 이벤트 목록, 타임라인, 카메라 미리보기를 통해 전환 결과를 검증하는 모습을 보여주는 이미지입니다.

    검증 항목 확인 질문 통과 기준 예시
    이벤트 정확도 중요 이벤트가 빠지지 않았는가 현관/주차 구역 이벤트 확인 가능
    오탐 비율 의미 없는 알림이 과도하지 않은가 조정 후 체감상 감소
    리소스 사용량 서버가 과부하 없이 유지되는가 재생/감지 중에도 시스템 안정
    복구 용이성 스트림 장애 시 원인 파악이 쉬운가 로그와 설정 기준으로 추적 가능

    드디어 됐다! 싶은 시점은 단순히 화면이 뜰 때가 아니라, 필요한 순간에 원하는 장면을 안정적으로 찾을 수 있을 때입니다.

    7. 기존 CCTV 대비 Frigate 전환의 장단점 정리

    아무리 좋아 보여도 단점은 분명히 있습니다. 멘토처럼 솔직하게 말씀드리면, Frigate는 편한 만큼 책임도 따라옵니다.

    • 장점: 유연한 구성, 이벤트 중심 탐색, 자가 호스팅 CCTV와의 높은 궁합
    • 장점: 홈랩 자동화와 연계하기 좋음
    • 단점: 초기 설정 난이도 존재
    • 단점: 저장소와 성능 튜닝을 직접 관리해야 함
    • 단점: 카메라별 RTSP 품질 차이로 삽질 가능성 높음

    결국 선택 기준은 명확합니다. 내가 운영을 직접 챙길 의지가 있는가입니다. 벤더 일체형이 주는 편의성 대신, Frigate는 더 세밀한 제어권을 줍니다.

    8. 마무리: Frigate 설정은 설치보다 운영이 더 중요합니다

    이번 글에서는 기존 CCTV 시스템을 Frigate 마이그레이션하는 흐름을 큰 그림부터 실전 구성, 검증 포인트까지 정리해봤습니다. 제가 직접 해보니 제일 중요한 건 화려한 기능보다도 안정적인 스트림 확보, 보존 정책, 그리고 단계적 전환이었습니다. 사실 처음엔 컨테이너만 띄우면 끝날 줄 알았는데, 막상 해보면 카메라별 특성이 다르고 네트워크 상태도 달라서 생각보다 손이 많이 갑니다. 근데 그 과정을 한번 넘기면 운영 만족도가 꽤 올라가더라고요.

    특히 AI NVR, 보안 카메라, 자가 호스팅 CCTV 조합에 관심 있으신 분이라면, 무작정 전체 교체부터 하지 마시고 작은 파일럿부터 돌려보세요. 그게 시간을 가장 아끼는 길입니다.

    기존 CCTV와 Frigate 마이그레이션 전후 비교를 보여주는 자가 호스팅 CCTV 이미지

    전환 전후의 검색 방식, 운영 편의성, 확장성 차이를 직관적으로 비교해 보여주는 요약 이미지입니다.

    9. 정리 FAQ

    Frigate 마이그레이션은 어떤 환경에 특히 잘 맞나요?

    직접 서버를 운영하고, Docker나 NAS 기반 환경에 익숙한 분들께 잘 맞습니다. 홈랩 사용자라면 만족도가 높을 가능성이 큽니다.

    기존 NVR을 완전히 버려도 되나요?

    처음부터는 권하지 않습니다. 일정 기간 병행 운영하면서 녹화 누락, 이벤트 품질, 사용자 경험을 꼭 비교해보세요.

    Frigate 설정에서 가장 먼저 볼 것은 뭔가요?

    카메라 RTSP 스트림 품질, detect/record 역할 분리, 저장소 보존 정책 이 세 가지입니다.

    다음 글에서는 Frigate 설정을 조금 더 깊게 들어가서, 감지 영역(zone) 설계와 홈 자동화 연동 포인트를 따로 다뤄볼 예정입니다. 이전 글에서 다뤘던 홈랩 네트워크 분리나 리버스 프록시 구성과도 연결해서 보시면 훨씬 이해가 잘 되실 겁니다.

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

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

    [홈랩] 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, 리버스 프록시) 구성 이야기를 보셨다면, 그 위에 얹는 방식으로 생각하시면 이해가 훨씬 쉬우실 겁니다. 홈랩 보안, 천천히 하나씩 쌓아가면 됩니다. 급하게 가면 꼭 다시 뜯게 되더라고요.