TECH · HOMELAB · HOMELAB

第6章 補足:Google Nest Cam × go2rtc 連携の詳細手順(再現用)

Google Nest Cam の映像を go2rtc 経由で自宅サーバに取り込む手順。GCP OAuth 設定から Device Access Console、トークン取得、go2rtc での映像再生確認まで。

tech 2026-01-19 17 min read by ちらりん
cover · 1024×1024

はじめに

本記事は、第6章 本編で触れた 「Google Nest Cam × go2rtc 連携」 の詳細手順をまとめた補足記事です。

実際の画面スクリーンショットを差し込みながら書くと想定以上に長くなったため、本編から切り出しています。

なお、Cloudflare公開・ブログ埋め込み・配信ON/OFF運用・事故防止などは本編に記載済みのため、本記事では省略します。


この記事でできるようになること

Google Nest Cam の映像を go2rtc 経由でブラウザから直接視聴できるようになります。

通常、Nest Cam の映像は Google Home アプリからしか見られません。 しかし、Google の Smart Device Management (SDM) API と go2rtc を組み合わせることで、自前のサーバ経由で映像をリアルタイム配信できるようになります。

なぜ go2rtc を使うのか

  • WebRTC / MSE / HLS など複数プロトコルに対応 – ブラウザ埋め込みが簡単
  • Nest Cam の WebRTC セッション確立を内部で自動処理 – SDM API の複雑な部分を吸収してくれる
  • 軽量な Docker コンテナ1つで完結 – LXC や小型VMでも余裕で動く
  • 音声あり/なしの切り替え複数ストリーム定義が設定ファイル1つで管理できる

前提条件とコスト

項目内容
GoogleアカウントNest Cam がセットアップ済みの Google Home に紐づいているもの
Google Home アプリカメラが登録済みで映像が見えている状態
GCP アカウントGoogle Cloud Platform にアクセスできること
Device Access ConsoleGoogle の Nest 開発者コンソール(後述)
go2rtcDocker で動作(本編で構築済みの前提)
登録費用5ドル(1回のみ) – Device Access Console の利用料

全体の流れ(5ステップ)

全体像を先に把握しておくと迷いにくくなります。

Step 1: Google Cloud Platform (GCP) の設定

GCP上でプロジェクトを作成し、Smart Device Management API を有効化します。 OAuth 同意画面の構成と、認証情報(クライアントID / シークレット)の発行を行います。

📦 GCP OAuth 設定のスクリーンショット付き詳細手順は 有料コンテンツ: 自宅サーバ構築シリーズ に含まれています。

Step 2: Device Access Console の設定

Nest デバイスへの API アクセス権を管理するコンソールを設定します。 5ドルの登録料を支払い、プロジェクトを作成して Project ID(UUID形式) を取得します。

📦 Device Access Console の詳細な設定手順は 有料コンテンツ: 自宅サーバ構築シリーズ に含まれています。

Step 3: アクセストークンの取得(OAuth 2.0 フロー)

ブラウザで認可コード(Authorization Code)を取得し、curl でアクセストークン / リフレッシュトークンに交換します。 ここが最も技術的なパートで、URL構築やリダイレクト後の code 取得など、細かい手順があります。

📦 認可コードURL構築方法・curl コマンド全量は 有料コンテンツ: 自宅サーバ構築シリーズ に含まれています。

Step 4: API の動作確認(デバイス情報が取れるか)

取得したアクセストークンを使って devices.list API を叩き、Nest Cam のデバイス情報が取得できるか確認します。 ここで取得できる Device ID が、go2rtc の設定ファイルに必要になります。

📦 devices.list の curl コマンドとレスポンスの読み方は 有料コンテンツ: 自宅サーバ構築シリーズ に含まれています。

Step 5: go2rtc で映像が見えるか最終確認

go2rtc コンテナの起動状態を確認し、WebUI から Nest Cam の映像がリアルタイム再生できるか検証します。

📦 go2rtc の設定・起動・確認手順は 有料コンテンツ: 自宅サーバ構築シリーズ に含まれています。


補足: WebRTC セッションについて

Home アプリ移行世代の Nest Cam は WebRTC が基本プロトコル です。 SDM API で WebRTC を使う場合は GenerateWebRtcStream を利用しますが、SDP Offer の送信が必要で手作業での再現はかなり手間がかかります。

go2rtc を使えば、この WebRTC セッション確立を go2rtc が内部で自動処理 してくれるため、ユーザーは設定ファイルに認証情報を書くだけで映像を取得できます。


成功の判定基準

最終的に、以下の2つが揃っていれば「Nest Cam × go2rtc 連携」は完了です。

  1. devices.list が成功する – Google 側の認証 / 権限 / Project ID が正しい
  2. go2rtc の WebUI で映像が再生できる – go2rtc が WebRTC を確立できている

運用方針として、音声なし(nest_silent)を常用し、必要時のみ音声あり(nest_sound)に切り替えるのが扱いやすいです。 音声ありは AAC 変換が入るため、環境によっては負荷が上がることがあります。


ここまでのまとめ

  • Google Nest Cam の映像を go2rtc 経由で取り込むには、GCP + Device Access Console + OAuth 2.0 の3層の設定が必要
  • 5ドルの登録料以外はランニングコストなし
  • go2rtc が WebRTC セッション確立を自動処理してくれるので、設定ファイルに認証情報を書くだけで映像取得が可能
  • 「devices.list の成功」と「WebUI での映像再生」の2つで完了を判定できる

本編に戻って、Cloudflare経由の公開やブログ埋め込みの設定に進んでください。

← 本編に戻る: 第6章


自宅サーバ運用の全体像は 自宅サーバ運用の完全ガイド — Proxmox + Cloudflare Tunnel + Docker で個人ブログを公開し続ける にまとめています。Proxmox クラスタ・公開経路・Docker 本番化・障害対応までを 1 ページで通読できる Pillar ガイドです。

· · ·

コメント