大学などの授業でLINEbot
などを作ってみるといったハンズオン的な演習を行っていると実行結果で静止画を出してもあんまり反応が良くないので、リアルタイムな実行の画面を出してみたいなあと思っていたのですが、今回書いているscrcpy
を使用することで解決できそうです。思った以上に多機能だったので、その他にも用途はありそうです。例えばスマートフォンアプリの操作説明動画の作成でしょうか。あと、地味にすごいのはミラーリングされた表示のPC側からAndroidの操作ができる点です。
では設定してみます。
scrcpyのサイト
以下のサイトが公式のGitHub
になります。
日本語のREADMEはこちら
scrcpyをWindowsへインストール
Windowsへのインストールに関しては以下に記載があります。こちらからアーカイブを取得していくことになります。
https://github.com/Genymobile/scrcpy/blob/master/README.md#windows
Version1.25(2023.02.04現在最新)
https://github.com/Genymobile/scrcpy/releases/download/v1.25/scrcpy-win64-v1.25.zip
こちらにはadb
が含まれています。他のパッケージシステムのもの(例えばChocolatey
など)を使用するとadb
が含まれていないので別途インストールする必要があります。
アーカイブをダウンロードして任意のフォルダに展開を行います。
自分はC:\Program Files
にscrcpyフォルダ
を作成して展開を行いました。このエントリではこのフォルダ構成の想定で進めます。
起動にはデスクトップにscrcpy.exe
ショートカットを作っておくと便利です。ショートカットにはあとから起動オプションを追加することもできるので追加機能ごとに作ることもできます。
Android側の設定
起動するにはAndroid側は開発者向け機能をONにする必要があります。開発者向け機能をONにしたら、設定アプリを起動して
【システム】を選択して
システム画面になったら画面を下にスクロールして
【開発者向けオプション】を選択します。
【開発者向けオプションの使用】をONに設定して、
更に【USBデバッグ】もONにします。
これでAndroid端末側の設定は終了です。
起動
基本はscrcpy.exe
を実行するだけです。コンソールでも、ショートカットの起動でも問題ありません。忘れずにAndroid端末をUSBケーブルでPCと接続してから起動します。
コンソールの起動状態
実行(実行前にカレントパスの変更が必要)
> scrcpy.exe
起動した画面
ブラウザの起動
カメラ機能も使えます
便利そうな機能
使っていて便利だなと思った機能を抜粋してみます。
クリップボードの共有
scrcpy
で連携するとAndroid側でクリップボードのコピーをした内容がWindows側でも使用できます。
これは地味に良い機能です。
ビットレートの設定
> scrcpy -b 2M
フレームレートの制限設定
最大フレームレートを制限することができます。
> scrcpy --max-fps=15
フレームレートの表示
実行するとコンソール上にフレームレートが表示されます。デフォルトはヌルヌル動くと思いますが15fps程度でも実用上は問題はないと思います。
> scrcpy --print-fps
画面の回転
画面を回転して表示することができます。この回転はWndowsの持っている回転機能とは独立した機能になります。起動後にも画面回転はできます。
> scrcpy --lock-video-orientation # 初期状態(現在状態) > scrcpy --lock-video-orientation=0 # 通常状態 > scrcpy --lock-video-orientation=1 # 90° 左回転 > scrcpy --lock-video-orientation=2 # 180° 回転(反転) > scrcpy --lock-video-orientation=3 # 90° 右回転
90° 左回転(--lock-video-orientation=1)
180° 回転(--lock-video-orientation=2)
90° 右回転(--lock-video-orientation=3)
画面の録画機能
-r
でファイル名を指定することで録画を行う事ができます。mp4形式
以外にmkv形式
でも録画が可能です。また、録画時に画面表示を行わない事もできます。その際は-Nr
を使用します。
> scrcpy -r file.mp4 #録画 > scrcpy -Nr file.mp4 #画面表示せずに録画(コンソールは表示)
録画を中断する際は【Ctrl+C】で行います。
録画したファイルは問題なく再生できます。
ワイヤレスコネクション
adb
の設定でワイヤレス接続の設定を行ってあれば--tcpip
を使用することでワイヤレス接続を行うことが可能です。
自分はUSB接続時にscrcpy --tcpip
を実行した後無線接続ができました。このあたり設定の順番があるかもしれません。
> scrcpy --tcpip # USB接続時に一旦こちらを実行 > scrcpy --tcpip=192.168.1.1 # ポート指定がない場合にはデフォルトの5555Portが使用 > scrcpy --tcpip=192.168.1.1:5555
PCからの操作方法
PCからもAndroid端末の操作ができるので、ショートカットキーなどを記載しておきます。
操作 | ショートカット |
---|---|
ホームボタン | 【Alt+H】、またはマウスの中クリック |
戻るボタン | 【Alt+B】、またはマウスの右クリック |
画面の向きを変える | 【Alt+→】/【Alt+←】 |
タスクの切り替え | 【Alt+S】 |
メニューの表示 | 【Alt+M】 |
通知パネルの表示 | 【Alt+N】 |
通知パネルを閉じる | 【Alt+Shift+N】 |
ボリューム調節 | 【Alt+↑】/【Alt+↓】 |
電源ボタン(画面オフ) | 【Alt+P】 |
画面オン | マウスの右クリック |
コピー | 【Alt+C】 |
切り取り | 【Alt+X】 |
貼り付け | 【Alt+V】 |
おわりに
正直どれくらいのパフォーマンスのものかなと思っていたのですがかなりいい感じのアプリだと思います。scrcpy
を使用することでリアルタイムな実行結果をみることができるのは非常に良いのではないかと思います。iPhone
でも同じことができるアプリがフリーであるととてもいいのですが😓見つけられていないのでしょうか。(有料はあるんですけどね)
もしご存知の方がいらっしゃれば教えていただければと思います。