【scrcpy】AndroidスマホをPCにミラーリング・かつ操作可能なソフト

この記事では、USB接続したAndroidスマホの画面をマウス操作可能な状態でWindows(PC画面)上にミラーリング(投影)するコマンドラインツール「scrcpy」について書きます。
AndroidとPCのマウス操作可能のミラーリングでこれ以上のものがあるか分からないほど個人的にはおすすめです。
ざっくりした手順は以下です。
- GitHubから必要ファイルをダウンロードする
- Androidスマホの開発者向けオプションを有効にして、USBデバッグをオンにする
- PCとAndroidスマホをUSB接続する
- ダウンロードしたフォルダー内の「scrcpy.exe」を起動する
- PC画面上にAndroid画面が表示される
大きな特徴は以下です。
- とにかく簡単
- 動作が軽い気がする。僕のPC環境に余裕があるだけかもだが…。
- ウィンドウサイズは自由自在に調整可能
- マウスクリックでタップ、キーボードで文字入力も可能。PC上でスマホ操作できる
- コマンドラインで画質、ビットレート、フレームレートなど自由に調整できる(1920×1080、120FPSなど)
- Root権限、アカウント作成など不要。広告もなし
- 音も一緒に転送してくれる。スマホから出ているゲーム音をPCで出せる
- 録音などにも対応
- ワイヤレス接続にも対応
画面出力はAndroid 5.0以上、音も一緒に出すにはAndroid 11以降、利用するにはUSB接続だけでなく開発者向けオプションを有効にしてUSBデバッグをオンにする…という細かい諸々の条件はありますが、それらをクリアすると簡単に投影できます。
ミラーリングソフトは他にも沢山ありますが、オープンソース・無料・広告やアカウント作成などのめんどくさい作業がないのは中々珍しいんじゃないかと思います。
リリース元:Genymobile(GitHub)
記事執筆時のバージョン:3.2(2025年03月29日)
ダウンロード方法
GitHubからダウンロードできます。
皆さんがアクセスした時点の最新版の「Assets」をクリックして展開します。
僕はWindows11を使っているので「scrcpy-win64-v〇〇.zip
」をクリックします。LinuxやMacOSによってダウンロードするファイルが異なります。

圧縮ファイルになっているので解凍ソフトを使って解凍します。僕は「CubeICE」を使っています。

解凍したフォルダーは好きな場所に配置します。
scrcpyを使う前の事前準備
USBコードを用意する
PCとAndroidスマホを接続するためのUSBコードを用意します。

僕の家にはデータ通信に対応しているUSB Type-Aコードが全然見つからなかったので、代わりにどっちもUSB Type-Cの「CIO 240W CtoC シリコンケーブル」コードを使いました。
充電専用じゃなくてデータ転送対応ならType-AだろうがType-Cだろうが何でもいいと思います。「Anker USB Type C ケーブル」とかでもいけるんじゃないかと思います。転送速度によってはラグや遅延が出やすいみたいな問題があるかもです。
有線接続が一番楽です。
ワイヤレスの無線接続にも対応していますが、余計な手間・作業が発生し、うまくいったとしても有線と比べるとクオリティ(ラグ、画質など)が少なからず落ちる可能性があります。
ただし、うまくできた時は文字通りUSBから解放されるので、慣れてきたらワイヤレスを試すのもありかなと思います。僕は実際無線で接続しています。
USBだとどうしてもちょっとスマホもってトイレ行きたい時やスマホで写真撮影したい時などにいちいち取り外す手間が発生します。
できなかった時の原因特定も難しいので、まずは有線で自分のスマホとPCが無事に使えるか確認して、そこからやりたい方だけワイヤレスに挑戦する流れがおすすめです。
Androidスマホの開発者向けオプションを有効にする
既に有効にしている場合は飛ばしてOKです。
僕が2025年3月に購入した「Xiaomi 15 Ultra」だと、設定→デバイス情報→OSバージョンを連打で有効にできます。

USBデバッグを有効にする
開発者向けオプション内にある「USBデバッグ」をオンにします。

Xiaomiの場合、合わせてちょっと下にある「USBデバッグ(セキュリティ設定)」もオンにしないとダメかもしれません。
scrcpyでPCとAndroidをミラーリングする方法
AndroidとPCをUSB接続する
PCにいつも通り繋げます。
USBデバッグをオンにした状態で初めてのPCに繋いだ時、スマホ側に「常にアクセスすることを許可しますか?」とか「このPCを信頼しますか?」的な何かしらのポップアップが出ます。
許可/OKをタップします。

接続モードはファイル転送
デフォルトでは「充電のみ」になっています。これだとうまくできないので「ファイル転送」モードに切り替えます。

最初から「ファイル転送」モードにしたい場合は以下記事を参考にしてみてください。
scrcpyでミラーリング
scrcpyフォルダーを開いて、中にある「scrcpy.exe」をダブルクリックします。

コマンドプロンプトが起動して処理が開始されます。数秒で終わります。
「daemon not running; starting now at tcp:〇〇」みたいなのが表示されていたら正常にADBが開始されています。

初回はWindowsセキュリティのアクセス許可が表示されるかもしれません。

僕は「許可」を押してしまいましたが、もしかしたら「表示数を増やす」を押してプライベートネットワークにしたほうが良かったかもです。
あとからコントロールパネルからadbをプライベートネットワークに変更したんですが、すぐにパブリックのadbも作成されてしまいどうにもできなかったのであきらめました。
うまく接続できていたら専用のウィンドウが立ち上がり、Android画面が表示されます。

半分コマンドラインツールと言えど難しいコマンドを知らなくてもすぐに使える点が本製品の良さかなと思います。
もし表示されない場合は、こちらが参考になるかもです。

キー入力、マウスクリックできる
マウスで画面クリックでき、キーボードで文字入力もできます。

僕がこれまで使ってきたミラーリングソフトだと、そもそも画面操作は反応せずただただ画面をPCに映すだけ…ってのが多かったです。
仮に対応していても、画面操作するためにはAndroid側のユーザー補助でアプリにアクセス権限(画面読み取りや操作の自動化など)を許可する必要がありました。
できるにはできるけど、できるようにするための手順(ステップ)が多いと、躓いた時にどこが原因なのか特定するのが難しくなります。
scrcpyだとUSBデバッグをオンにすればユーザー補助などの権限を付与しなくてもすぐに画面操作できます。ステップが少ないので嬉しいです。まぁUSBデバッグをオンにすること自体が結構リスクあるとは思いますが…。
余談ですが、おま環なのかそういう仕様なのかは分かりませんが、僕が試したモンストアプリ内だとタスクバーのIME状態が「A(半角英数)」でも入力すると日本語になりました。scrcpy内ではそうなるのかもです。
逆に「お、タスクバーのIME状態がAってなっているから日本語入力するために半角/全角キー押そ」で日本語入力に切り替えると、scrcpy内でキー入力しても反応してくれなくなりました。
scrcpy内で文字入力する時はタスクバーのIMEアイコンを気にすることなく入力すればいいのかなと思います。おま環だったらすみません。
音も出る
音を出すための前提条件であるAndroid 11以降…みたいな諸々の条件をクリアしている場合は、音もPCからでます。
ウィンドウとして独立しているので、音量ミキサーで個別に調整できます。今はちょっとミュートしたい…って時に素早くミュートできます。

上記画像は「EarTrumpet」を使っていますが、Windows11にも既にアプリごとで音量調整できるミキサーが実装されているはずです。
ウィンドウの移動・サイズ変更
Windowsの他ソフト同様タイトルバーを掴んで移動することで好きな場所に配置できます。

四隅を掴んでサイズ変更できます。

ウィンドウだからありがたい
Alt+Tabでフォーカスを切り替えられるし、最小化もできるし、タスクバーにアイコンが表示されるのでクリックですぐに最大化できるし、PowerToysのAlways On Topで最前面に固定化もできます。

こちらで紹介しているようにオプションを使うことでも最前面固定化できますが、それだと一時的に解除したい時、一度終了する手間が発生するので僕はPowerToysを使っています。
終了する方法
Windowsはデータをやりとりしていなかったらすぐに抜いても大丈夫な設計になっている…。とは聞いたことありますが、僕みたいな心配な方は以下の手順で取り外します。
- scrcpyのウィンドウ・コマンドプロンプトを右上の「×」で閉じる
- Android側で転送モードを「ファイル転送」から「充電のみ」にする
- WindowsのタスクバーにあるシステムトレイからUSBアイコン→「接続したAndroidの取り外し」をクリック
- もし「ADB Interface」デバイスをまだ使用しているため~と表示されたら、コマンドプロンプトを起動して「
adb kill-server
」コマンドを実行する
Microsoftが「ハードウェアの安全な取り外し」を行わなくてもUSBを取り外してOKと認める(2019)https://t.co/NXi9q3lVYD
— GIGAZINE(ギガジン) (@gigazine) April 8, 2020
ウィンドウを閉じる
ウィンドウ右上の「×」をクリックします。コマンドプロンプトが起動している場合はそちらも終了します。

基本的にはこれでもう引き抜いてもいいとは思うんですが、僕は以下の手順もやっています。確実だと思います。
Androidのファイル転送を充電のみに戻す
Androidスマホの転送モードが「ファイル転送」のままだと、裏でデータをやりとりしている可能性が無きにしも非ずです。
よって安全に取り外すために「充電のみ」に戻します。
システムトレイからUSB取り外し
タスクバーにあるシステムトレイのUSBアイコンをクリック→接続しているAndroidスマホの取り出しをクリックします。

ハードウェアの取り外し(コンピューターから安全に取り外すことができます)通知が表示されたらOKです。

ADB Interfaceデバイスをまだ使用しているため
取り外す際、下記画像のエラーメッセージが表示されることがあります。

scrcpyは裏でADBを使っていて、そのADBがまだ繋がっている状態だと発生します。
この場合は、コマンドプロンプトを起動して「adb kill-server
」を貼り付けてEnterで実行します。特に成功メッセージなどは表示されませんが、次の行が表示されたらOKです。

この状態で再度取り外しを実行するとうまく外せると思います。
scrcpyに限らず、ADBコマンドを使ってプリインストールされたAndroidアプリを削除した後なんかもこうなります。
頻繁に操作する場合は、IMEの単語登録やクリップボードの定型文に保存しておくと次回以降「adb kill-server
」を呼び出しやすくなります。
コマンドラインオプションで設定変更
沢山のオプションが用意されています。コマンドプロンプト上で操作する必要があるためちょっと上級者向けですが、慣れたら大丈夫だと思います。
画質を調整した状態で起動したり、映像はなしで音声のみ出力するようにしたり、あれこれできます。
コマンドプロンプトから起動する
scrcpyフォルダーにある「open_a_terminal_here.bat
」をダブルクリックで起動します。

コマンドプロンプトが起動します。
AndroidとPCを接続した状態で、以下のコマンドを実行すると「scrcpy.exe」を起動した時と同じ設定状態でミラーリングが開始されます。
scrcpy

別のコマンドオプションを実行したい場合は、一度scrcpyウィンドウを閉じる必要があります。
僕が使っているオプション
僕が2025年5月13日時点で使っているオプションは以下です。今後変わる可能性もあります。
scrcpy --max-size=0 --video-bit-rate=100M --max-fps=120 --video-codec=h265 --capture-orientation=@0 --window-title=scrcpy --stay-awake --shortcut-mod=lctrl

最初に「scrcpy」を書いて、その後半角空白を入れてそれぞれオプションを付けていくって構図です。
上記は以下の意味になっています。
scrcpyで使えるオプション | 意味 |
---|---|
–max-size=0 | 解像度の調整。0は制限しない |
–video-bit-rate=100M | ビットレート(クオリティ)の調整。100Mは高い品質 |
–max-fps=120 | フレームレート(FPS)の調整。可能なら120FPSにするって意味 |
–video-codec=h265 | ビデオコーデックの調整。h265は高い品質 |
–capture-orientation=@0 | 画面の向き。「@ 」は固定、「0」はデフォルト状態。つまり縦画面固定 |
–window-title=scrcpy | ウィンドウタイトルの変更。デバイス名じゃなくて「scrcpy」にする |
–stay-awake | 画面をスリープさせない |
–shortcut-mod=lctrl | ショートカットキーの有効化。キーは左Ctrl |
僕の場合、繋ぐために使っているType-Cコードがいいのか、AndroidやPCのスペックがいいのか分かりませんが、最高画質・品質・FPSにしても全くラグやストレスを感じなかったので、「なら最高画質でいいや」で上記にしています。
低スペック方向けのオプション
例えば、デフォルト状態で重たく感じる、反応速度、ラグがひどい…みたいな場合は、以下のようなオプションを使えば改善されるかもしれません。僕が使っている上記のオプションとは真逆です。
scrcpy --max-size=640 --video-bit-rate=1M --max-fps=15 --video-codec=h264 --capture-orientation=@0
解像度を640に制限して、ビットレートも1Mと低くして、FPSも15に制限する…という形です。
実行したら分かると思いますが、明らかに画質・解像度が悪いです。FPSも制限しているのでカックカクです。その分ラグや安定性が向上します。

いくら何でもって場合は「--max-size=1024
」、「--max-fps=60
」にして、「--video-bit-rate=1M
」のほうを徐々に「2M」とかにあげていって自分のスペック的に快適な数値を見つけるといいかもです。
scrcpy --max-size=1024 --video-bit-rate=1M --max-fps=60 --video-codec=h264 --capture-orientation=@0
毎回決まったオプションで起動する方法
そういう専用のBATファイルを作成してもOKですし、実行ファイルのショートカットアイコンを作成して「リンク先」にオプションを付与してもOKです。ここでは前者を紹介します。
「open_a_terminal_here.bat
」のコピーを作成します。

右クリック→「メモ帳で編集」をクリックします。

記載されている内容(@cmd
)を全削除します。
「scrcpy --〇〇 --〇〇
」という形でコマンドを作成して上書き保存します。

次回以降コピーした「open_a_terminal_here.bat
」を起動すると、指定のオプションを付与した状態で起動します。
僕はアプリランチャー「CLaunch」に登録してワンクリックで起動できるようにしています。タスクバーとかデスクトップにショートカットアイコン配置するのもありだと思います。
画面の向き
僕は「--capture-orientation=@0
」を使って画面の向きを縦固定にしています。
scrcpy --capture-orientation=@0
デフォルトでは設定されていないので、Androidスマホ側を横画面にしたらscrcpy上も回転します。ウィンドウサイズが縦長から横長になります。

僕の場合、完全に比率は縦長固定にしてほしかったので、上記オプションを設定しています。Androidスマホ側が横向きになってもscrcpy上は縦固定になります。中身の画面は変わります。

FPSを出力する
FPSをコマンドプロンプト上に表示するオプションです。
scrcpy --print-fps
常にコマンドプロンプトが更新されてFPSが表示されます。今どのくらいでているのか検証したい方向けかなと思います。

フレームレートの調整
イコールの後の数字を好きなように調整します。
scrcpy --max-fps=120
注意点として、120にしたからといって必ず120がでるわけではないです。
使っているAndroidスマホが120に対応していないとダメです。対応していても使っているアプリ側で制限されていたらダメです。
僕がプレイしているモンストは60FPSが上限っぽいので、「Xiaomi 15 Ultra」が120対応でもプレイ中はでてくれません。
音のみ出力
映像はなしにして音のみの出力にします。
scrcpy --no-video

映像のみ出力
映像のみにして音はなしにします。
scrcpy --no-audio
画面録画
ミラーリング開始と同時に画面録画してくれます。
scrcpy --record=file.mp4
拡張子と名前は好きなように変更できます。
保存されるタイミングはscrcpyウィンドウを閉じた時で、保存場所はscrcpyと同じフォルダー内です。

映像出力のオプション(scrcpy --no-audio
)と組み合わせることで映像のみ画面録画できます。
最前面固定化
起動したscrcpyウィンドウを最前面固定化します。
scrcpy --always-on-top
僕は常時固定化したいわけではないので、コマンドは使わずPowerToysを使っています。
ウィンドウタイトルの名前
デフォルトでは接続しているAndroidスマホのデバイス名になっています。

大抵の方はそれでもいいと思いますが、Alt+Tabやタスクバーのプレビューで見る時にちょっと分かりにくい、AutoHotKeyなどのウィンドウタイトルを指定して操作するソフトを使いたい…みたいな方はタイトルを変更すると便利です。
scrcpy --window-title=scrcpy(Androidミラーリング)
例えば、僕はこちらの方法でスマホ側の画面をオフにするショートカットキーを使っています。デフォルトだと指定したキー(僕は左Ctrl)+Oですが、これだとお互いの場所が遠くて左手で押しにくいです。
AutoHotKeyを使って左手で押しやすいキーに変更しています。Ctrl+Qを押した時にCtrl+OとCtrl+Shift+Oを切り替えるコードです。これで一つのショートカットキーでAndroidの画面オフ、オンを切り替えられます。
;scrcpy
#IfWinActive ahk_exe scrcpy.exe
toggle := false
^q::
toggle := !toggle
if (toggle) {
Send ^o
} else {
Send ^+o
}
return
上記はウィンドウタイトル関係なしに実行ファイルで指定していますが、タイトルで指定する場合は変更して固定したほうが何かと便利です。
ウィンドウ枠の削除
注意点として枠がなくなるのでマウスで掴んで拡大縮小、移動ができなくなります。
scrcpy --window-borderless

スリープさせない
Android側のスリープを一時的に無効にします。
scrcpy --stay-awake
例えばXiaomiの場合、設定→ロック画面→「スリープ」の時間を「15秒間操作が行われなかった場合」にしていると、15秒間操作がなかったら最初に画面が暗くなって15秒後に画面がロックされます。
その設定をした状態で、「--stay-awake
」を実行するとscrcpyでAndroidとWindowsを接続している間は、15秒経過してもスマホ側を画面ロックしなくなります。
画面自体は暗くなります。ロックがされなくなります。あくまで一時的なので、PCと接続解除したら元通り15秒後に画面ロックします。
放置ゲームや、操作はしないけどずっと画面は見ておきたい時に便利だと思います。
スマホ側の画面をオフにする
接続している間、Androidスマホ側の画面をオフにします。
scrcpy --turn-screen-off
デフォルトではミラーリングしても元のAndroidスマホには画面がついたままです。PCとスマホで同じ画面が表示されている状態です。
「PCにミラーリングしてんだからスマホの画面は不要!」って方には超いいと思います。オフにしたほうが多分消費電力的な意味でもいいと思います。
僕はミラーリングしているからにはPCで操作することが多いけど、いざという時はスマホでも操作したいので使っていません。
「scrcpy --stay-awake --turn-screen-off
」のように組み合わせることで、接続した瞬間スマホの画面を切ってかつ画面ロックはさせない環境にできます。
独自ショートカットの有効化
scrcpyウィンドウ上で使えるショートカットキーを有効化します。
scrcpy --shortcut-mod=lctrl
上記は「lctrl
」=左Ctrlと用意されたキーを押すことで発動するようにできます。
他には以下を設定できます。右Altにしたい場合は「scrcpy --shortcut-mod=ralt
」にします。
設定できるキーオプション | 修飾キー |
---|---|
lctrl | 左Ctrl |
rctrl | 右Ctrl |
lalt | 左Alt |
ralt | 右Alt |
lsuper | 左Windows |
rsuper | 右Windows |
どんなショートカットキーが使えるかは公式のGitHubを参考にしてみてください。沢山あるので書ききれません。
例えば、「scrcpy --shortcut-mod=lctrl
」を実行した状態で、左Ctrl+Oを押すとスマホの画面がオフになります。左Ctrl+Shift+Oでオンにできます。
「--turn-screen-off
を実行すると常時画面オフになってしまうから困る!そうじゃなくて今は画面オフでいい時柔軟に切り替えたい!」って方に便利です。
左Ctrl+↑で音量アップ、左Ctrl+↓で音量ダウンです。
左Ctrl+Nで通知センターを表示して、その状態でもう一回Nを押すとクイック設定パネルを表示する…ってのも人によっては便利かもです。
なんかうまく表示されない場合
ありきたりなことしか書きませんが、まず何がひっかかっているのか考えましょう。
幸い本ソフトはAndroid画面を映し出すのはGUI(ソフト)ですが、操作や裏の処理はコマンドプロンプト上で行われているコマンドラインツールです。
同時に起動されるコマンドプロンプトに、できないならできないで、できない原因となるエラーメッセージが表示されます。
例えば以下です。
D:\ドキュメント\フリーソフト\scrcpy-win64-v3.2>scrcpy --max-size=1024
scrcpy 3.2 <https://github.com/Genymobile/scrcpy>
ERROR: Device is unauthorized:
ERROR: --> (usb) 〇〇 unauthorized
ERROR: A popup should open on the device to request authorization.
ERROR: Check the FAQ: <https://github.com/Genymobile/scrcpy/blob/master/FAQ.md>
ERROR: Server connection failed
D:\ドキュメント\フリーソフト\scrcpy-win64-v3.2>
「ERROR」の横に何でつまづいているのか親切に書かれています。今の時代、コピペして「ChatGPT」に聞けば一発です。まぁ上記くらいなら翻訳しても分かります。
原因はUSBデバッグはオンになっているけどデバイス(Android)側で承認作業をしていないことです。
USBデバッグをオンにした状態でPCに接続した時にスマホ側に表示される「このPCを信頼しますか?許可しますか?」ポップアップを処理しなかったらこうなります。
一旦USBを抜いて再接続するとポップアップが表示されるので、次はちゃんと許可とかはいとかを押しましょう。
他に考えられるのは、うまくADB環境が構築できていない、USBデバッグがオンになっていない、オンになっているけどXiaomiのもう一つのUSBデバッグ(セキュリティ設定)がオンになっていない…などなどです。
Androidのバージョンがちゃんと新しいかどうか、一旦スマホを再起動してみる、scrcpyではなくADBで何かしらコマンドを実行してみる…みたいなことも試すといいかもです。「adb --version
」とか「adb devices
」とかね。
ウィンドウが起動して画面は表示されるけど、あまりにラグ・遅延がひどい…みたいな場合は、こちらで紹介する画質やクオリティを落としてどうなるか試すといいかもです。
あるいは使っているコードがしょぼくないかもチェックです。
ワイヤレスで接続する方法
以下記事を参考にしてみてください。
感想
以上、WindowsにAndroidスマホの画面をマウス操作可能状態でミラーリングできるソフト・コマンドラインツール「scrcpy」についてでした。
この記事で利用したアイコン:Android – ソーシャルメディアとロゴ アイコン