Android画面の低遅延ミラーリングソフト「scrcpy」の紹介をします。
概要
「scrcpy」はGenymobileがオープンソースで公開しているWindows/Mac/Linuxを対象としたソフトウェアで、Androidに特別なapkをインストールすることなく、PC上に画面をミラーリングすることができます。また、PC上から画面を操作することができ、キーボード入力も可能です。
今までの画面ミラーリングソフトウェアは多くがroot権限を要求するものであるのに対して、「scrcpy」はUSBケーブルでPCと接続するだけ、しかも設定によってUSB接続すら不要(TCP/IP経由)になる1という画期的なソフトウェアです。さらに、最近のビルドでは別途録画ソフトを使用しなくても録画することができるようになりました。
ただし、内部音声は仕様上出力されません。別途ライン入力等でPCに取り込み、PC上でMIXさせる必要があります。Linuxでは「USBaudio」を使うことを推奨しています。
対応するAndroidバージョンはAPIの関係で5.0以上となっています。
追記
Android 10からはAudioPlaybackCapture API が導入されたため、それを利用することで音声も取り込めるようになりました。ただし、現在ベータ版なので正常に動作しない場合があります。詳細は「sndcpy」を参照。
すごいところ
- root化不要
- adb環境の構築不要(最初からアーカイブに入っている)
- PC側で操作可能
- 極めて遅延が少ない
- 録画ソフトなしで録画可能(旧バージョンでは不可)
- Android 10からは音声も取り込める(β版、アプリインストール必須)
だめなところ
使い方
以下、全て1つだけのAndroid端末をPCに接続することを想定している。
画面をPCに映す
- GithubリポジトリからWindows用のZipアーカイブをダウンロードする。自分でビルドしたいかたはこちら。

32bitか64bitか選択してインストール - Zipアーカイブを解凍し、任意のフォルダに配置する。
- USBデバッグを有効にしたAndroid端末をUSB接続した後、
scrcpy.exeを実行する。

apkをインストールする。
apkファイルをドラッグアンドドロップするだけ。
画面を録画する
- 「scrcpy」の実行はコマンドプロンプトもしくはPowerShellから行う。
scrcpy.exeのあるファイル内でShiftキーを押しながら右クリックでコマンドプロンプトかPowerShellを管理者権限で起動する。 - Android端末を接続してコマンド
scrcpy -r (任意のファイル名.拡張子)を実行する。PC画面に出力させたくない場合はコマンドscrcpy -Nr (任意のファイル名.拡張子)を実行する。出力はmp4とmkvファイルに対応している。 - 録画を終了するときは必ずUSBケーブルを抜いて強制終了させる。
Ctrl+Cでは動画が破損する。
録画したものをYoutubeにアップロードした。Android端末もPC側もOBSのような高スペックは要求されずに1080p、60fpsで録画できた。
Recording Test 1 [ Xperia X Performance (SO-04H) ]
無線で接続する
- adb環境を自前で構築する。
- 「scrcpy」に付属する
adb.exeをリネームするか削除して無効し、強制的に構築したadb環境を利用できるようにする。
利用できなくする - PCとAndroid端末を同Wi-Fi環境に置く(モバイル回線環境でもできるが第三者に遠隔操作される可能性が極めて高いので非推奨)。
- USBデバッグを有効にしたAndroid端末をUSB接続し、
adb tcpip 5555を実行する。 - USBケーブルを外し、
adb connect (IP):5555を実行する(例えば、Android端末のIPアドレスが192.168.1.15ならコマンドはadb connect 192.168.1.15:5555)。 scrcpy.exeを実行する。
画面サイズを変更したり、ビットレートを変更するなどの、より多くの操作はリポジトリのREADME.mdを読むか、コマンドscrcpy --helpもしくはscrcpy -hを実行すると確認できます。
さらに細かい制御を知りたい方はこちらを確認してください。遅延を最小限に抑える方法などが載ってます。