scrcpy導入備忘録
検証環境
- MacBook Pro(M1 2020)macOS Montrey 12.4
- OPPO Reno A(Android バージョン9)
- scrcpy v1.24
インストール
MacではHomebrewを使用してコマンドラインから簡単にインストールできるようなのでbrew
でインストールを進める。
Ubuntuなど他のOSでも多様なパッケージマネージャに対応しているようである。
scrcpy本体のインストール
$ brew install scrcpy
途中以下のようなメッセージが表示された。
At runtime, adb must be accessible from your PATH.
You can install adb from Homebrew Cask:
brew install --cask android-platform-tools
どうやらadb
からパスを通す必要があるらしい。
リポジトリのREADMEにもあるようにandroid-platform-tools
をインストールすることにする。
android-platform-toolsのインストール
オプション--cask
を明示的につけてインストールを行う。
$ brew install --cask android-platform-tools
android-platform-tools was successfully installed!
と表示され無事にインストールできた。
実行
scrcpy
と実行することでscrcpyが実行されるらしい。
$ scrcpy
scrcpy 1.24 <https://github.com/Genymobile/scrcpy>
起動したがここでAndroid端末がPCに接続されていないとadbが見つからないとのエラーメッセージが表示される。
「デバッグモード」を有効にした状態で端末を接続しもう一度コマンドを実行してみる。
$ scrcpy
/opt/homebrew/Cellar/scrcpy/1.24/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 75.5 MB/s (41159 bytes in 0.001s)
上記のメッセージが表示されたあとすぐにAndroid側の画面がPCへ出力された。
起動から1~2秒かからないうちに画面が出力されたことに驚いた。画質もVysorのフリープランよりいい気がする。
Vysorと同じくスマホ側、PC側両方から操作が可能となっている。画面の描画はわずかに遅延するがそこまで気になることが使える範囲だった。残像やちらつきもなく鮮明に表示されていて無料でここまでミラーリングできるのはすごいと感じた。
オプションも豊富に用意されており、scrcpy --help
で確認できる。
特にscrcpy --max-size 1024
のように初期から画面サイズを指定して起動できるのが便利だと感じた。
ウインドウをマウスで毎回縮小する手間が減るだけでもかなり便利になる。初期からフルスクリーン表示などもオプションで簡単にできるのが便利。
オプション組み合わせることで常に画面最前面にウインドウを表示 & 画面サイズ固定のようなことも簡単に実現できる。
# 画面を最前面に固定し1024で出力する例
$ scrcpy --always-on-top -m 1024
iTerm2の手前に回り込む形で表示されていることがわかる
ワイヤレス接続
有線でのミラーリングだけでもかなり便利なのだが 、scrcpyは完全ワイヤレスでのミラーリングにも対応する。VysorでのワイヤレスミラーリングはProプラン以上で使える機能だったので簡単に実現できるという意味ではscrcpyに軍配が上がりそうである。
方法は簡単でadb tcpip 5555
と実行しTCP modeを有効にしてワイヤレス接続を行うというもの。
事前にAndroid端末側のIPアドレスを調べておく必要あり。
# TCP/IPを介したadbを有効化
$ adb tcpip 5555
restarting in TCP mode port: 5555
接続する際は端末の有線接続を解除し以下のコマンドを実行するだけでペアリングが完了する。
$ db connect Android端末側のIPアドレス:5555
この状態でscrcpy
を実行することでワイヤレスでのミラーリングが実現できる。
ワイヤレスではあるが同じネットワーク内で動作させているということもあり大きな遅延は確認できなかった。画質も有線とほぼ変わらないように感じる。これは驚いた。
所感
scrcpyを初めて触ったが使用方法とても簡単だった。環境さえ整えてしまえばscrcpy
をターミナルから実行するだけで実現するという手軽さは唯一無二だと感じる。基本の操作がコマンドベースということもありオプションを探すのもいろんな発見がありとても楽しかった。
VysorだとProプラン以上でしか実現できなかった高画質ミラーリングとワイヤレスミラーリングを無料で実現できるという点ではかなり評価できると思う。Vysorの無料プランでのミラーリングの画質はお世辞にもいいとは言えなかったので画質がいいことの感動は大きかった。
懸念事項として音声のミラーリングはscrcpy単体では不可(外部ツールと組み合わせて実現可能な模様)であることを除けばかなり万能なツールだと感じる。
執筆時点2022年7月中旬時点でscrcpyのGitHubリポジトリのスター数は67,000を有に超えておりコミュニティの活気の良さを感じた。scrcpyはOSSということもあり、GUIを実現したものや音声出力を実現するものなどscrcpyをラップしたツールが多く存在するというのも人気の高さを象徴していると思う。
scrcpyはAndroidミラーリングを簡単に実現するという部分で優位性を感じているので他のエコシステムにもっと触れてみたいと感じた。