前置き
おそらくこの記事を見てくれている人たちはスマホの画面を何かしらに利用したいのだと思います。Android端末ではWindows,Mac,Linuxがインストールされているパソコンに画面を転送することができます。
scrcpyという無料のソフトウェアをダウンロードしてコマンドを実行するだけで画面をパソコンに転送できるのでとても便利です。そこで今回はscrcpyの導入方法、またその使用例を紹介します。キャプチャーボード不要かつ無料でUSBケーブルさえあれば利用できます。
scrcpyの使い方
ADBを導入【導入していない場合のみ】
まずはADBを導入します。こちらのリンクから15 Seconds ADB Installerをダウンロードして実行します。
質問にはすべて(Y)、ドライバのインストールでもすべてはいを選択します。
scrcpyをダウンロード
次にscrcpyをダウンロードします。このリンクの下にあるAssetsのscrcpy-win64-v2.0.zipをダウンロードします。
ダウンロードできたらZipを解凍しましょう。
ここで必要な作業は終了ですが、利便性を高めるためにパスを通そうと思います。パスの追加は必須ではないので説明は割愛します。
これでどのディレクトリにいてもscrcpyが使えるようになりました。
Android側の設定
Android端末側では開発者オプションからUSBデバッグをONにした上でUSBケーブルでPCに接続します。
ここでポイントなのはできるだけ高速なUSBケーブルを利用することです。
USBケーブルんは種類があり、できるだけ転送速度が速いケーブルを使うことがポイントです。安定性が向上します。
USBデバッグのポップアップが表示されたら許可を選択しましょう。
scrcpyを実行
scrcpyを実行します。scrcpyがインストールされているディレクトリで「scrcpy」と入力しましょう。
画面が表示されました!常時表示ディスプレイの画面までキャプチャできるとは… すごいですね。
おすすめのコマンド
ここからはscrcpyをよりよく使うためのコマンドを紹介します。
キャプチャ中のフレームレートを見る
scrcpy --print-fps
「–print-fps」という引数をつけるとフレームレートが出力されるようになります。scrcpyの設定を決めるときの負荷の指標にしましょう。フレームスキップやfpsの低下が起きている場合その設定は適さないでしょう。
エンコーダーの一覧を見る
scrcpy --list-encoders
エンコーダの一覧を見ることができます。スマホによって使えるコーデックが違うのでチェックしておきましょう。同じh264, h265でも複数のエンコーダーがあるのでそれぞれ切り替えて確かめるのがベストです。
解像度を下げる
scrcpy --max-size=1024
解像度を下げることでスマホの負荷を下げパフォーマンスを向上させることができます。
FPSを下げる
scrcpy --max-fps=30
FPSを下げることでスマホの負荷を下げパフォーマンスを向上させることができます。
キャプチャの回転の向きを固定する
scrcpy --lock-video-orientation
このコマンドを使うことでキャプチャの向きを固定できます。このコマンドのあとに値=0,=1,=2,=3をそれぞれつけることで向きを指定できます。
映像コーデックを指定する
scrcpy --video-codec=h264 # default
scrcpy --video-codec=h265
scrcpy --video-codec=av1
映像コーデックの指定ができます。利用できるコーデックを確認してから設定しましょう。おすすめはh265ですが、対応していない場合はh264になります。h264の場合、指定する必要はありません。
音声コーデックを指定する
scrcpy --audio-codec=opus # default
scrcpy --audio-codec=aac
scrcpy --audio-codec=raw
音声コーデックの指定ができます。デフォルトはopusになっています。特別な事情がない限りopusで大丈夫です。rawを使うと高音質のまま音声を転送できますがopusも非常に高音質なので設定しなくてもよいでしょう。
ビットレート指定
scrcpy --audio-bit-rate=128K
scrcpy --video-bit-rate=20M
転送する際のビットレートを指定できます。「–video-bit-rate=40M」が映像ビットレートの限界だと思います。
バッファサイズを指定
scrcpy --audio-buffer=40
scrcpy --display-buffer=40
バッファサイズ(遅延)を設定できます。50がデフォルトです。
クロップ
scrcpy --crop=1080:1920:0:240
画面をクロップすることができます。
おすすめプリセット【FPSゲーム、音ゲー】
パソコンとAndroid端末側のスペックに余裕がある場合(Google Tensor Pixel 6a)
scrcpy --video-codec=h265 --display-buffer=35 --video-bit-rate=10M --audio-buffer=305
ミドルレンジスマホで使う場合 (Snapdragon 765 USB2.0の例)
scrcpy --display-buffer=35 --video-bit-rate=10M --audio-buffer=35 --audio-bit-rate=96k
おすすめプリセット【高画質・高音質】
パソコンとAndroid端末側のスペックに余裕がある場合(Google Tensor Pixel 6a)
scrcpy --video-codec=h265 --video-bit-rate=40M --audio-codec=raw
私はPixel 6aでこのコマンドを利用しています。ビットレートは限界が40Mbpsぐらいだったので「–video-bit-rate=40M」、という風になっています。
ミドルレンジスマホの場合 (Snapdragon 765 USB2.0の例)
scrcpy --video-codec=h265 --video-bit-rate=25M --audio-codec=raw
ミドルレンジスマホでは40Mbpsでフレームドロップが起きるので25Mbpsにしています。
ローエンドスマホの場合
scrcpy --video-codec=h264 --video-bit-rate=10M --max-fps=30 --max-size=1024 --audio-codec=opus
ローエンドスマホでは60fpsにすると負荷が大きく速度が低下するため「–max-fps=30 –max-size=1024」を加えています。
録画や配信、OBSの設定
scrcpyを使って録画やLIVE配信をしましょう。
scrcpy単体で録画
scrcpyには録画機能が備わっているので他のソフトウェアは必要ありません。
scrcpy --record="保存したいファイル名.mp4"
コーデックとビットレートを指定した後–record=”〇〇.mp4″や–record=”△△.mkv”などを加えると録画されます。拡張子でコンテナは自動で判別されるので気にする必要はありません。ここで、録画にプツプツ音が入ってしまわないか不安な人がいるかもしれませんが端末側で処理されているので気にする必要はありません。
mp4ファイルで保存する場合はAACコーデックを利用することをお勧めします。
mkvファイルではAACコーデック、Opusコーデックどちらでも大丈夫です。
また、録画の際に–audio-codec=raw を指定することはできません。
録画を停止したい場合はターミナルでCtrl+Cではなくscrcpyのウィンドウを閉じるようにしましょう。
もしウィンドウが邪魔なら
scrcpy -Nr "保存したいファイル名.mp4"
と指定するとウィンドウが表示されなくなります。録画を停止する際はCtrl+Cを押しましょう。
OBSで録画、配信
Linuxの場合はVideo4Linuxを利用してOBSに映像を取り込むことができるのですが、Windowsではそうもいきません。OBSに取り込む場合はウィンドウに一度映してからOBSに取り込む必要があります。
OBSに映像を取り込むことができましたね。
終わりに
いかがでしたか。便利なツールがたくさんあることは私がAndroidスマートフォンを愛用する一つの理由でもあります。当サイトではほかにもAndroidの活用法を紹介しているのでぜひ見てください。
コメント