RK3576 Frigate NVR セットアップ

最終更新:

概要

Frigate は、ローカルでの映像監視と物体検出向けのオープンソースのネットワークビデオレコーダー(NVR)です。reComputer RK3576 は Rockchip NPU を搭載しており、互換性のある OS とドライバを使用すれば、Frigate の RKNN 検出器による物体検出の高速化に利用できます。

この RK3576 Frigate NVR インストールガイドでは、Seeed Studio reComputer RK3576 上で Docker Compose と stable-rk イメージを使用します。設定とメディアの保存、初回の管理者ログイン、HTTPS Web インターフェースへのアクセスを説明します。

ハードウェアとソフトウェアの要件

項目要件
ハードウェアreComputer RK3576 開発キット、または互換性のある RK3576 搭載デバイス
OS64 ビット Linux。後でハードウェアアクセラレーションを使用する場合は Rockchip ドライバが必要
コンテナ実行環境Docker Engine と Docker Compose プラグイン
ネットワークFrigate イメージを取得するインターネット接続と、Web インターフェースにアクセスする同一 LAN 上の PC
ストレージイメージ、設定、今後の録画に十分な空き容量
カメラここで説明するインストールと Web インターフェースの確認には不要

後で RKNN と RKMPP による高速化を行うには、Frigate の Rockchip インストールガイドに従い、互換性のある Rockchip BSP カーネルと RKNPU、rkvdec2 などのドライバを確認してください。Web インターフェースが開くだけでは、これらのドライバが検証されたことにはなりません。

手順 1:RK3576 の環境を確認する

SSH で reComputer RK3576 に接続し、次を実行します。

bash
uname -m
uname -r
cat /etc/os-release

docker --version
docker compose version

df -h

システムが 64 ビット ARM Linux(aarch64)で、Docker と Docker Compose を利用できることを確認します。Docker が未インストールの場合は、ディストリビューションに適した Docker Engine の公式手順に従ってインストールしてから進めてください。

後で NPU を接続するために、Rockchip のデバイスとドライバを確認することもできます。

bash
ls -l /dev/dri/
ls -l /dev/dma_heap/
sudo cat /sys/kernel/debug/rknpu/version

デバイス名や利用できるノードはシステムイメージによって異なります。これらのコマンドでエラーが出る場合は、ハードウェアアクセラレーションによる検出を有効にする前に調査してください。エラーがあっても、基本的な Frigate Web インターフェースは起動できる場合があります。

手順 2:プロジェクトディレクトリを作成する

設定とメディア保存用のディレクトリをそれぞれ作成します。

bash
mkdir -p ~/frigate-rk/config ~/frigate-rk/storage
cd ~/frigate-rk

プロジェクト構成は次のとおりです。

text
frigate-rk/
├── docker-compose.yml
├── config/
└── storage/

config ディレクトリには Frigate の設定とデータベースを保存します。storage ディレクトリは録画とスナップショット用です。長期間録画する場合は、eMMC に依存せず SSD や NVMe ドライブの使用を検討してください。

手順 3:Docker Compose を設定する

Compose ファイルを作成します。

bash
nano docker-compose.yml

次の初期構成を書き込みます。

yaml
services:
  frigate:
    container_name: frigate
    image: ghcr.io/blakeblackshear/frigate:stable-rk
    restart: unless-stopped
    stop_grace_period: 30s

    # For initial Rockchip hardware compatibility testing only.
    privileged: true

    # Example allocation for initial testing; recalculate when adding cameras.
    shm_size: "256mb"

    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
      - ./storage:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000

    ports:
      - "8971:8971"

設定について:

  • 汎用の stable イメージではなく、Rockchip 向けの stable-rk タグを使用します。
  • privileged: true は初期のハードウェア動作確認用の一時的な設定です。本番環境では、必要最小限のデバイスマッピングと権限に置き換えてください。
  • 共有メモリ 256mb は設定例であり、ベンチマーク結果ではありません。カメラを追加する前に、検出用ストリームの解像度とカメラ台数に基づき、Frigate の SHM 計算方法で適切な値を算出してください。
  • 初回の Web インターフェース確認では、ポート 8971 のみを公開します。RTSP/WebRTC ポートは必要に応じて後で追加できます。デバイスは信頼できるローカルネットワークで使用してください。

Compose ファイルの構文を確認します。

bash
sudo docker compose config -q

何も出力されなければ、Compose ファイルの検証に成功しています。

手順 4:Frigate を取得して起動する

プロジェクトディレクトリで次を実行します。

bash
cd ~/frigate-rk
sudo docker compose pull
sudo docker compose up -d

初回の管理者パスワード: Frigate は初回起動時にランダムなパスワードを生成して admin アカウントを作成します。パスワードはアカウント作成時の起動ログに出力されます。共通の既定パスワードはなく、通常のコンテナ再起動では初回パスワードは再生成されません。Web インターフェースへ進む前に、初回起動の直後に取得し、安全に保存してください。

コンテナが起動したら、すぐにログを確認します。

bash
sudo docker logs frigate 2>&1 | grep -iE 'password|admin'

該当する行が表示されたら、生成されたパスワードを非公開で保管します。フィルタで何も表示されない場合は、既定パスワードを推測せず、元の起動ログを確認してください。

bash
sudo docker logs frigate 2>&1 | less

参照できるログに初回パスワードが残っていない場合は、Frigate の公式認証・復旧ドキュメントを参照してください。インストールをやり直すために config フォルダやデータベースを削除しないでください。

コンテナの状態を確認します。

bash
sudo docker ps --filter name=frigate

Frigate コンテナが実行中であることを確認します。

手順 5:Frigate Web インターフェースを開く

RK3576 のローカル IP アドレスを調べます。

bash
hostname -I

同じネットワーク上のコンピュータで次の URL を開きます。

text
https://<RK3576_IP>:8971

Frigate は既定で自己署名 HTTPS 証明書を使用します。自分の LAN 上で識別を確認したデバイスでも、ブラウザが証明書を信頼できないと警告する場合があります。これは証明書の信頼に関するもので、Docker のインストールエラーを意味しません。本番環境やリモートアクセスでは、正しく信頼された証明書を設定してください。

管理者アカウントでログインする

次を入力します。

  • Username: admin
  • Password: 初回の起動ログから取得して保存したランダムなパスワード

reComputer RK3576 上の Frigate 管理者ログイン画面

ログイン後、Settings → Users で管理者パスワードを変更します。

手順 6:Frigate ダッシュボードを確認する

カメラを追加していない場合、ダッシュボードには No Cameras Configured と Add Camera ボタンが表示されます。この段階では正常な状態です。

No Cameras Configured と System is healthy を表示する Frigate ダッシュボード

この画面から、Web インターフェースにアクセスでき、Frigate コンテナが応答していることを確認できます。カメラ入力、録画、RKNN 検出、RKMPP デコードは、それぞれ別途設定して検証する必要があります。