WebRTC Camera。RTSP ストリームの遅延を 1 秒以内(場合によってはミリ秒単位)まで低減でき、双方向音声にも対応します。
以下、詳しいインストールと使用方法のチュートリアルです:
ステップ1:準備
- Home Assistant がすでにインストールされ、動作していること。
- HACS(Home Assistant Community Store)がインストール済みであること。
- HACS をインストールしていない場合は、先にインストールしてください。サードパーティ製プラグインを管理するための必須ツールです。
カメラの RTSP アドレス(例:rtsp://admin:password@192.168.1.x:554/stream)、または HA にすでに追加済みのカメラエンティティ(Entity ID)。
ステップ2:連携をインストールする(HACS 経由)
- Home Assistant 左側メニューの HACS を開きます。
- Integrations(連携)をクリックします。
- 右下の Explore & Download Repositories(リポジトリを閲覧してダウンロード)をクリックします。
- 検索ボックスに WebRTC と入力します。
- WebRTC Camera(作者は AlexxIT)を見つけ、クリックして開きます。
- 右下の Download をクリックしてダウンロードします。
- ダウンロード完了後、必ず Home Assistant を再起動してください。
ステップ3:連携を設定する
- 再起動が完了したら、HA 左側メニューの 設定 (Settings) -> デバイスとサービス (Devices & Services) に進みます。
- 右下の 連携を追加 (Add Integration) をクリックします。
- WebRTC Camera を検索します。
- クリックして追加します。通常は追加設定は不要で、そのまま送信すれば完了です。バックグラウンドで go2rtc サーバー(これが中核となるストリーミングサービスです)を自動的にインストールして起動します。
ステップ4:ダッシュボードで使用する(フロントエンドカードの設定)
ここが最も重要なステップで、監視映像を Lovelace ダッシュボードに追加する必要があります。
- ダッシュボードのページに入り、右上の 三点メニュー -> ダッシュボードを編集 (Edit Dashboard) をクリックします。
- 右下の カードを追加 (Add Card) をクリックします。
- 一番下までスクロールし、手動 (Manual) カードを選択します(または Custom: WebRTC Camera を検索します)。
- コードエディタに以下の YAML 設定を入力します。
シナリオ A:RTSP アドレスを直接使用する(推奨、遅延が最小)
カメラの RTSP アドレスが分かっている場合は、そのまま入力するのが最も効果的です。
type: custom:webrtc-cameraurl: rtsp://admin:password@192.168.1.10:554/h264/ch1/main/av_stream
(注意:url はご自身のカメラの実際のアドレスに置き換えてください)
シナリオ B:既存の HA カメラエンティティを使用する
HA で Onvif などを使ってすでにカメラを接続している場合は、エンティティ ID を直接使えます。
type: custom:webrtc-cameraentity: camera.living_room_camera
(注意:entity は HA のカメラエンティティ ID に置き換えてください)
シナリオ C:高度な設定(パン・チルト制御、スタイル調整)
カメラがパン・チルト(PTZ)に対応している場合は、操作ボタンを追加できます:
type: custom:webrtc-cameraurl: rtsp://admin:password@192.168.1.10:554/stream
# 开启 PTZ 控制 (需要摄像头支持 Onvif 并且 HA 已配置)
ptz:
service: onvif.ptz
data_left:
entity_id: camera.my_camera
pan: LEFT
data_right:
entity_id: camera.my_camera
pan: RIGHT
data_up:
entity_id: camera.my_camera
tilt: UP
data_down:
entity_id: camera.my_camera
tilt: DOWN
ステップ5:応用と外部ネットワークからのアクセス(重要)
LAN 内では、上記の設定は通常そのまま使えます。しかし、外部ネットワーク(モバイル回線や会社の Wi-Fi)から自宅の HA にアクセスし、低遅延の監視映像を見たい場合は、NAT トラバーサルの問題が発生します。
WebRTC プロトコルは UDP 接続に依存していますが、ルーターは通常これらの接続を遮断します。
解決方法:ポートマッピングを設定する
この連携は既定で 8555 ポートを映像ストリームの転送に使用します。
- ルーターの管理画面にログインします。
- ポート転送 (Port Forwarding) の設定を見つけます。
- ルールを 1 件追加します:
- 外部ポート: 8555
- 内部 IP: あなたの Home Assistant の IP アドレス
- 内部ポート: 8555
- プロトコル: TCP + UDP
Docker で HA を運用している場合は、Docker コンテナ起動時に 8555 ポートをマッピングしていることを確認してください(-p 8555:8555/tcp -p 8555:8555/udp)。
よくあるトラブルシューティング (FAQ)
1. 画面に “WebRTC” ではなく “MSE” と表示され、遅延もある?
- これは WebRTC 接続に失敗し、MSE モードにフォールバックしていることを示します。通常はネットワークの問題(外部ネットワークで UDP ポートが開放されていないなど)か、ブラウザが対応していないことが原因です。
- H.265 エンコードの問題:WebRTC はほとんどのブラウザ(特に Chrome/デスクトップ)で H.265 (HEVC) エンコードに対応していません。カメラの管理画面に入り、映像エンコードを H.264 に変更してください。
2. スマートフォンの App で表示できない?
- Home Assistant App が最新版に更新されていることを確認してください。
- iOS の場合は、ローカルネットワークの権限が有効になっているか確認してください。
3. 双方向音声を有効にするには?
- これにはカメラが双方向音声規格に対応している必要があり、設定も比較的複雑です(通常は go2rtc.yaml ファイルを編集する必要があります)。映像を見るだけであれば、基本設定で十分です。
4. 画面がずっと緑色になったり崩れたりする?
- 90% はカメラが H.265 形式で出力していることが原因です。必ず H.264 に変更してください。
まとめ
中心となる流れは、HACS でインストール -> 再起動 -> 連携を追加 -> ダッシュボードに custom:webrtc-camera カードを追加、です。設定が成功すれば、映像はほぼリアルタイムになり、体験は飛躍的に向上します。