OBS 連携(ブラウザソース配信)
オーバーレイはローカル HTTP で配信されます。OBS の「ブラウザソース」に URL を貼るだけで、ウィンドウキャプチャなしでオーバーレイを表示できます。 これがオーバーレイを配信に載せる既定の方法で、透過オーバーレイ窓は レイアウト編集用(ヘッダーの「オーバーレイを編集」で開く)に位置づけられています。
配信サーバを持つのは Recorder(記録を担当する常駐プロセス)です。配信中に 起動しておく必要があるのは Recorder だけで、Manager はレイアウトを編集するときだけ 起動すれば足ります。
オーバーレイの設定(テキスト・キャラ・レイアウト・勝敗)は Recorder の overlay-config.json 1 か所だけ に保存されます。Manager の画面も OBS も、 起動するとそこから設定を受け取って表示し、変更した項目だけを Recorder に送ります。 そのため Manager と Recorder をどの順番で起動・終了しても、設定が古い値に戻ることはありません。 「起動時に勝敗をリセット」「ゲーム起動検知時に勝敗をリセット」(どちらも日付が朝 5 時区切りで変わってから最初のときだけ)と、試合が終わったときの勝敗の自動加算 (「ライブ監視」タブの「オーバーレイ自動更新」)、BP で決まった自分の 4 キャラのカスタムエリアへの反映 (「リアルタイム解析」タブの「Starward 自動反映」)も Recorder が行うので、Manager を起動しない配信でも効きます。
旧版(設定を Manager 側に保存していた版)から更新したときは、最初の 1 回だけ Manager に残っている設定を Recorder に引き継ぎます。
Recorder が起動できない環境(強制起動を
WINGSTATS_NO_FORCE_RECORDER=1で 止めている場合など)では、従来どおり Manager 自身が配信します。
セットアップ
設定はすべて 設定 →「OBS 連携」タブにまとまっています(OBS を使わない場合は何もしなくて構いません)。同じタブにリプレイ自動録画と OBS Studio 設定ガイド(1920 × 1080 / 30 FPS)もあります。
- Recorder を起動する(配信サーバは既定で有効。Manager を起動すると Recorder も自動で起動します)
- URL をコピーする
- Recorder のトレイアイコン右クリック →「OBS 用 URL をコピー」、または
- Manager のヘッダーの「OBS 用 URL をコピー」ボタン(配信モードのときに出ます)、または
- Manager の 設定 →「OBS 連携」タブ →「OBS 連携(ブラウザソース)」(以前はオーバーレイ設定の「テーマ・OBS」にありました)
- 既定:
http://127.0.0.1:47832/overlay.html - 配信サーバが OFF のあいだは、ヘッダーのボタンは押せません(「設定 › OBS 連携 でブラウザソース配信を ON にすると使えます」と出ます)
- OBS で「ソース追加 → ブラウザ」を選び、URL に貼り付け、幅 1920 / 高さ 1080 を指定
旧来のウィンドウキャプチャ運用を続ける場合は、同じ「OBS 連携」タブの 「起動時にオーバーレイ窓を開く(旧ウィンドウキャプチャ運用向け。通常は OFF)」を ON にしてください。
隠しているオーバーレイ窓は、5 分たつと自動で閉じてメモリを返します(ブラウザソースへの配信・勝敗の自動加算は続きます)。 「オーバーレイを表示」で開き直すと、最新の設定と勝敗で作り直されます。
従来方式との比較
| ウィンドウキャプチャ(従来) | ブラウザソース(本機能) | |
|---|---|---|
| 画面上のウィンドウ | 必要(常駐) | 不要 |
| 透過 | クロマキー等の調整が必要 | ネイティブに透過 |
| OBS 設定 | キャプチャ対象指定・クロップ | URL 貼り付けのみ |
透過ウィンドウ自体は残っており、レイアウト編集(ドラッグ配置)やプレビューには 引き続き使えます。
仕組みと制約
- サーバーは 127.0.0.1 のみに bind し、外部からはアクセスできません(同一 PC の OBS 専用)
- Recorder を再起動しても、ブラウザソースは自動で再接続します(数秒〜最大30秒)
- Manager の設定セクションの状態表示・ポート変更は、Manager が Recorder に問い合わせて 反映します。Recorder が古くて応答できないときは「Recorder を更新してください」と表示されます
- ポートが他のアプリと衝突した場合は、設定セクションにエラーが表示されます。 ポートを変更して再試行してください
- 開発版(
yarn dev:electron)でdist/overlay.htmlが無い場合は、先にyarn buildが必要です - 設定セクションの「接続中: N」は WebSocket 接続数です。ブラウザソース 1 つにつき 状態同期用・イベント用の 2 接続を張るため、N はソース数の 2 倍になります
トラブルシューティング
- 何も映らない: Recorder が起動しているか(トレイアイコンがあるか)、設定 →「OBS 連携」で「配信中」になっているかを確認
- データ系ウィジェット(直近戦績・シーズン情報)が空: 「プレイヤー分析」タブの「分析対象のアカウント」でプロファイル(UID)が登録されているか確認(追加・ログインは「アカウント管理」タブ)
- UID は「既定(無ければ最初)のプロファイルの先頭 UID」が自動で使われます。タブ上の選択状態は影響しません
- 現在の解決値は「デバッグ・性能」タブの「プレイヤー識別」パネルで確認できます(「オーバーレイ設定」タブにプロファイル設定はありません)
- プロファイル登録後は、OBS のブラウザソースを右クリック →「再読み込み」で反映されます
- 状態が反映されない: OBS のブラウザソースを右クリック →「再読み込み」