Gattxxa / PCからスマホゲームの画面共有する

Created Sun, 08 Jan 2023 13:20:58 +0900 Modified Sun, 01 Sep 2024 05:41:02 +0000
2174 Words

はじめに

環境 Windows11 iPhone SE 2020 AQUOS sence 4 Lite
HDMIを使用する方法に関しては言及しません。

iOS

適切なミラーリングソフトを使用します。
おすすめなのは Reflector(有料) か LetsView(無料) のどちらか。

音ズレについて

「遅延が少ない!」系の評判は参考にするべきではないです。

ミラーリングは基本的に映像も音声も遅れて見聞きすることになります。紹介していないミラーリングソフトも含め、データ通信の形式的に実際のゲーム画面に対して明確に遅延を感じるレベルの音ズレは必ず発生することを覚えておいてください。

ソフト個別の性能より、Wi-Fiの速度・安定性の方が大事。

Reflector

自分が使用しているミラーリングソフト(有料)
https://www.airsquirrels.com/reflector

ナンバリングが存在しているが、実際のところどれも性能に変わりはない。

ウィンドウの縁を非表示にすることができ、綺麗にゲーム画面を共有可能。

気になったらまずフリートライアルで触ってみるのをおすすめする。

LetsView

とりあえず無料で使いたいならコレ一択
https://letsview.com/jp/

OBSを使ってYouTubeなどで生配信する場合の最適解。

ただし、今回はDiscordでの画面共有想定なので評価は一つ落ちる。
理由としては、ウィンドウ/フルスクリーンのどちらでも黒縁が発生する点にある。


これが気にならないのであれば、十分な画質で画面共有できる。

無料で使えるミラーリングソフトは簡単に検索しても複数ヒットしますが、その中で一番マシなのがLetsViewです。

Android

複数ソフトを組み合わせます。
使用するのは scrsndcopy, OBS, ウマドの3つです。

何なのかを軽くして最後にセットアップ方法を説明します。

scrsndcpy

scrcpyとsndcpyを合体させたもの
https://github.com/amate/scrsndcpy/releases

ミラーリングと違い、映像と音声のプロセスが別になっており、これ単体だと画面共有した際に視聴している相手からすると音が何も出ていない状態となります。

ついでにPCからAndroidを操作できる。

OBS Studio

録画と生放送用のソフトウェア
https://obsproject.com/ja/download

別々となっている映像と音声をミックスするために使用する。

ウマド

任意のウィンドウのウィンドウサイズや位置を自動で変更できるツール
https://booth.pm/ja/items/2813085

無くても配信可能ではあるが、あると便利。

NaiNai

公式でタスクトレイ対応していないソフトをタスクトレイ対応させるツール
https://forest.watch.impress.co.jp/library/software/nainai/

これもあると便利。

完成系

1080p60fpsでの画面共有を、非Nitroが視聴する画面をキャプチャしたもの

セットアップ方法

1. USBデバッグを有効にする

開発者向けオプションを有効→USBデバッグを有効
https://developer.android.com/studio/command-line/adb.html#Enabling

2. scrsndcpyでPC上に映す

scrsndcpy.exe を起動して config をまず設定する。
自分は以下の内容で設定している

  • scrcpy
    • 最大サイズ: 1280
    • 最大FPS: 60
    • ビットレート: 50
    • 再生を遅らせるフレーム数: 0
    • ビデオバッファ: 50
    • 画面のリサイズを禁止:
  • sndcpy
    • バッファサイズの倍数: 2
    • バッファの最大サンプル数: 1000

Screen Sound Copy を押してちょっと待つと画面がPC上に映し出される。
音声が出ていない場合は manual sndcpy を押す。

3. OBS Studioの設定

OBS Studioを起動。

ソースの追加

ウィンドウキャプチャで [scrcpy]: My device
アプリケーション音声キャプチャで [scrsndcpy.exe]: scrsndcpy
それぞれソースに登録する。

音声モニタリングの設定

音声ミキサーを右クリック、オーディオの詳細プロパティを開く
アプリケーション音声キャプチャの音声モニタリングを モニターと出力 に変更する。

OBS Studioの出力デバイスを変更

Windowsの音量ミキサーを引き、OBSの出力デバイスを使用していないものに変更する。
(ミュート状態にしてあるモニターなど)
設定後、OBSを再起動

画面共有

OBS Studioのプレビュー部分を右クリックし、ウィンドウプロジェクター(プレビュー)
Discordでウィンドウプロジェクターを画面共有の対象にすると音ありの映像を共有できる。

画質と音量の調整

ぼやけてたり、音が(小さい|大きい)場合があるためそれの調整
scrcpy にはシャープとレンダリング遅延のフィルタを設定するといい感じになります

ウマドの活用

このままだと ウィンドウプロジェクター(プレビュー) のウィンドウが小さく、手動で大きさを変更しなければならない上に、大きくしても単純にウィンドウが作業の邪魔であるため、その部分をウマドで解決する。

ウマドを管理者権限で開く
対象アプリを ウィンドウプロジェクター(プレビュー) にする
詳細設定を開き、(縦長|横長)サイズの詳細設定をする

  • 横長サイズの詳細設定
    • X: 0
    • Y: 2160
    • W: 1920
    • H: 1080

OBS Studioの基本キャンバスサイズが 1920x1080 なので、それに合わせた
さらにウィンドウが邪魔なのでモニター上には表示されない位置を指定した

ウマドはタスクトレイのアイコンをクリックすることで、起動と格納をトグルで操作できる

NaiNaiの活用

最小化だとscrsndcpyのウィンドウがタスクバーに残ってしまうため、NaiNaiを使用してタスクトレイへ格納するようにする

タスクスケジューラの活用

OBS Studioとウマドはスタートアップを設定しておくと便利です。
shell:startupに管理者権限のショートカットを置いても意味ないので、タスクスケジューラを使用します。

タスクの作成から最上位の特権で実行するにチェックを入れた上で設定すればOKです

OBS Studioに関しては直接 obs64.exe を指定すると en-US.ini のエラーを吐くときがあるため、.batを介して起動するように設定すると良いです

cd "C:\Program Files\obs-studio\bin\64bit"
start obs64.exe --minimize-to-tray

まとめ

便利