2021年7月17日土曜日

キャプボ不要でPS4のシェアプレイをOBSに取り込む

PS4でゲーム実況する場合、ゲームタイトルによってはシェアプレイを使うようお願いされていることがあります。

その場合、PS4専用カメラやUSBマイク等を繋いで、PS4単体での生配信もしくは録画データを使うことになります。が、VTuberが生配信を行うのは制約がいくつか生じてしまします。

PS4専用カメラ以外で映像を画面に取り込む方法がない。専用カメラ以外のUSBカメラやUVCクラスで動作するキャプボも動作しない。

・一度twitchやyoutubeに映像を送ったあとにPCのOBSで取り込む方法もあるが、遅延が10秒単位になり、ゲーム映像とVTuberアバター画像と声の同期が取れない

これらの問題を解決する方法はないかと探したところ、redditにてtwitchの映像を横取りしてPCのOBSに取り込む方法を見つけました。
Stream from your PS4(Xbox) to OBS directly, no capture card and without the dodgey remote play. : obs - reddit

図で表すとこうなります。

通常のシェアプレイ機能で生放送を行う場合


PS4からtwitch用の映像をPCのOBSに取り込んでyoutubeに配信する場合

配信用PCにtwitchのホスト名に対して配信用PCのIPアドレスを返すDNSサーバーと、映像を受信してOBSに送るサーバを立てます。
OBSは受け取った映像とVTuberのアバター映像、音声をミキシングしてyoutube配信サーバーへ送ります。
このとき、PS4はtwitchへシェアプレイの映像を送っているつもりですが、配信用PCで横取りしているためtwitchに映像が流れることはありません。

この方法であれば
・PS4の映像を取り込むHDMIキャプチャ機器が不要になる。
・HDMIキャプボ経由で映像を取り込んだときと違い、シェアプレイによる禁止区間の映像配信停止が適用されるようになるため、メーカーがシェアを許可している範囲だけに絞れる。
といったメリットがあります。
これは個人的な考えですが、シェアプレイ映像を使うときはOBSの配信先はyoutubeがtwitchに限定したほうが良いと思います。本来のシェアプレイはそれ以外の配信サービスには使えないためです。

セットアップ方法と動作させている様子はyoutubeの映像を参照してください。
ただし、ある程度パソコンの操作に慣れている(具体的には環境変数が設定できる)ことが必要です。


以下にセットアップで使うリンク等を列挙します。




・twitch推奨サーバーリスト
https://stream.twitch.tv/ingests/

・twitch inspector
https://inspector.twitch.tv/

・hostsファイルのパス
C:\Windows\System32\drivers\etc\hosts

 

-2021.07.18追記-

PS4もしくはPCからtwitchへ通常の配信を行う場合は、①CCProxyを停止させ、②hostsファイルに追記したアドレスの先頭を#でコメントアウトし、③PS4のDNS設定を自動に戻しましょう。

配信ができなくなります。配信する予定がなければそのままでも問題ありません。