アーキテクチャ
Home Assistant NVR:カメラ、録画、Frigate、Scrypted
ONVIFカメラ、ライブストリーム、クリップ録画、FrigateまたはScryptedを使ってHome Assistant NVRを構築し、ストレージ、コーデック、セキュリティを明確に設計します。

要点:オーケストレーションと保持を分ける
Home AssistantのCameraインテグレーションは、ほかのデバイスインテグレーションから提供される構成要素です。カメラエンティティをダッシュボードや自動化で利用できるようにし、対応ストリームの再生、スナップショットの取得、camera.recordによるライブ映像の録画作成ができます。この録画アクションにはStreamインテグレーションが必要で、出力先は書き込み可能かつHome Assistantのファイル設定で許可されていなければなりません。Streamインテグレーションは、HLSまたは低遅延HLSを使用してHome Assistant経由で対応ライブ映像をプロキシします。
これらのアクションは便利ですが、連続映像、ストレージ保持、検索可能な録画タイムラインを備えた専用レコーダーとは運用モデルが異なります。Home Assistantを自動化とダッシュボードの層として使用し、連続録画または長期確認が必要な場合はNVRを選択してください。
3つのHome Assistantカメラ構成
| 構成 | カメラ経路 | 録画と確認 | 設定要件 | 適した用途 |
|---|---|---|---|---|
| Home Assistant Camera + Stream | Cameraインテグレーションがエンティティを提供し、Streamが対応H.264またはH.265をHLS/LL-HLSへプロキシ | スナップショット、ライブ表示、アクションで作成する録画 | Streamインテグレーション、camera.record用の書き込み可能かつ許可済み出力先、ブラウザ対応コーデックと音声 | ダッシュボードとカメラ自動化 |
| Frigate + Home Assistant | Frigateがカメラを録画・解析し、公式インテグレーションがHome Assistantへエンティティを公開 | 月、日、カメラ、時刻別の録画。Media Browser内の物体録画とスナップショット | 同じブローカー上のMQTT、HACSインテグレーション、Frigate URL、Media Browser用のmedia_source | ローカルAIと専用NVR保持 |
| Scrypted + Home Assistant | Scryptedがカメラストリームを受信し、そのインターフェースをHome Assistantへ統合 | Scrypted NVR CameraカードとEvent Reelカードが録画インターフェースを提供 | Home Assistant add-onを使用する場合でも、HACS経由のScryptedカスタムコンポーネントが必要 | 低遅延のスマートホームカメラ表示とScrypted NVR |
コーデック対応は表示側クライアントにも影響します。Home Assistantは、多くのブラウザがH.265に対応しておらず、StreamインテグレーションがPCM音声に対応しないと説明しています。そのため、H.265カメラや非対応音声トラックは、ダッシュボードやデバイスによって動作が異なる場合があります。幅広いクライアントでの再生が重要なら、対応音声を使用するH.264プロファイルを優先してください。
ONVIFカメラを正しく接続する
Home Assistantの公式ONVIFインテグレーションはONVIF Profile S準拠デバイスに対応し、FFmpegインテグレーションを必要とします。Home Assistantによる自動検出と、手動でのインテグレーション追加の両方が可能です。資料では、管理者アカウントを使い回さず、カメラに専用の標準ユーザーを作成することを推奨しています。
インテグレーションには、映像エンコードがH.264である対応プロファイルが追加されます。Home Assistantで「No usable cameras were found」と表示された場合は、少なくとも1本のカメラストリームをH.264に設定してください。メインストリームをH.265のままにし、サブストリームをH.264にする方法が実用的です。デバイスの対応状況によっては、ONVIFから動体検知やその他のイベントセンサー、デバイススイッチ、選択可能なRTSPトランスポート、PTZアクションも利用できます。
Frigateの実際の要件を明確にして導入する
FrigateのHome Assistantインテグレーションでは、Home Assistant MQTTをインストールし、手動で設定する必要があります。多くのインテグレーションエンティティを動作させるには、FrigateでMQTTを有効にし、同じブローカーへ接続する必要があります。インテグレーションはHACS経由でインストールし、Media Browserを使うにはmedia_sourceを有効にします。
カメラについて、Frigateの現行ハードウェアガイドでは、FrigateとHome Assistantとの互換性を最大化するため、H.264映像とAAC音声を推奨しています。複数のサブストリームを使うと、再エンコードせずに検出、ライブ表示、録画で異なる解像度を利用できるため便利です。本番ワークロードには専用検出器が推奨されますが、Google Coralである必要はありません。現行資料では複数の検出器ファミリーに対応し、ほとんどの新規導入でCoralを推奨しなくなっています。
Home Assistantから到達できるFrigate URLも必要です。別のローカルマシンで動作するFrigateについて、公式インテグレーションガイドは認証付きポート8971を推奨しています。認証のない内部ポートを信頼できないネットワークに公開せず、TLSと証明書に関するガイドに従ってください。
ストレージ、セキュリティ、検証のチェックリスト
削除、ディスク上限、セグメントの健全性、復旧の管理主体を明確にするため、録画の保持はレコーダー層で管理します。Home Assistantは自動化と状態表示に使用し、ダッシュボードカードだけでなく、NVRタイムラインまたはMedia Browserからも録画を確認してください。
- 専用の標準ONVIFカメラユーザーを作成します。
- Home Assistantで利用できるH.264プロファイルがあることを確認します。
- ライブ映像と
camera.recordアクションをテストします。 - Frigateでは、MQTTエンティティとMedia Browserの録画を確認します。
- Home Assistant、レコーダー、カメラ1台を別々に再起動します。
- ストレージを使い切る前に、保持処理で古い映像が削除されることを確認します。
- Home Assistantとレコーダーの間は、認証済みまたはプライベートな接続を使用します。
プロトコル設計については、RTSPとONVIFの比較をご覧ください。製品レベルの詳細については、OmniNVRとFrigateの比較またはOmniNVRとScrypted NVRの比較に進んでください。
よくある質問
Frigateを使わずにHome Assistantでカメラ映像を録画できますか?
できます。カメラとStreamインテグレーションが対応していれば、公式Cameraインテグレーションでcamera.recordを利用できます。Streamを設定し、Home Assistantで許可された書き込み可能な出力先を使用して、結果をテストしてください。連続録画、管理された保持、レコーダー向けタイムラインが必要な場合は、専用NVRを使用してください。
FrigateにはGoogle Coralが必要ですか?
必要ありません。Frigateは複数種類の検出器に対応しています。現行ハードウェアガイドでは、特に低消費電力が必要な環境や代替アクセラレーターを利用できないハードウェアを除き、ほとんどの新規導入でCoralを推奨していません。
Home Assistant ONVIFで使用可能なカメラがないと表示されるのはなぜですか?
Home AssistantのONVIFインテグレーションはH.264映像プロファイルを探します。少なくとも1本のカメラストリームをH.264に設定してください。多くの場合、メインストリームはH.265のままにして、H.264のサブストリームを使用できます。
参考資料
- Home Assistant — Camera integration
- Home Assistant — record camera feed action
- Home Assistant — Stream integration
- Home Assistant — ONVIF integration
- Frigate — official local AI NVR documentation
- Frigate — official hardware and detector guidance
- Frigate — official Home Assistant integration
- Scrypted — official open-source platform overview
- Scrypted — official Home Assistant integration