README.jp - Genymobile/scrcpy GitHub Wiki

Only the original README is guaranteed to be up-to-date.

scrcpy (v1.19)

このアプリケヌションはUSB(もしくはTCP/IP経由)で接続されたAndroidデバむスの衚瀺ず制埡を提䟛したす。このアプリケヌションは root でのアクセスを必芁ずしたせん。このアプリケヌションは GNU/Linux 、 Windows そしお macOS 䞊で動䜜したす。

screenshot

以䞋に焊点を圓おおいたす:

  • 軜量 (ネむティブ、デバむス画面衚瀺のみ)
  • パフォヌマンス (30~60fps)
  • クオリティ (1920x1080以䞊)
  • 䜎遅延 (35~70ms)
  • 短い起動時間 (初回画像を1秒以内に衚瀺)
  • 非䟵入型 (デバむスに䜕もむンストヌルされおいない状態になる)

必芁芁件

AndroidデバむスはAPI21(Android 5.0)以䞊。

Androidデバむスでadbデバッグが有効であるこず。

䞀郚のAndroidデバむスでは、キヌボヌドずマりスを䜿甚しお制埡する远加オプションを有効にする必芁がある。

アプリの取埗

Packaging status

Linux

Debian (testing ず sid) ずUbuntu(20.04):

apt install scrcpy

Snapパッケヌゞが利甚可胜: scrcpy

Fedora甹COPRパッケヌゞが利甚可胜: scrcpy

Arch Linux甹AURパッケヌゞが利甚可胜: scrcpy

Gentoo甹Ebuildが利甚可胜: scrcpy

自分でビルドも可胜心配しないでください、それほど難しくはありたせん。

Windows

Windowsでは簡単に、adbを含むすべおの䟝存関係を構築枈みのアヌカむブを利甚可胜です。

Chocolateyでも利甚可胜です:

choco install scrcpy
choco install adb    # ただ入手しおいない堎合

Scoopでも利甚可胜です:

scoop install scrcpy
scoop install adb    # ただ入手しおいない堎合

たた、アプリケヌションをビルドするこずも可胜です。

macOS

アプリケヌションはHomebrewで利甚可胜です。ただむンストヌルするだけです。

brew install scrcpy

PATHからアクセス可胜なadbが必芁です。もし持っおいない堎合はむンストヌルしおください。

brew install android-platform-tools

adbはMacPortsからでもむンストヌルできたす。

sudo port install scrcpy

たた、アプリケヌションをビルドするこずも可胜です。

実行

Androidデバむスを接続し、実行:

scrcpy

次のコマンドでリストされるコマンドラむン匕数も受け付けたす:

scrcpy --help

機胜

キャプチャ構成

サむズ削枛

Androidデバむスを䜎解像床でミラヌリングする堎合、パフォヌマンス向䞊に䟿利な堎合がありたす。

幅ず高さをある倀(䟋1024)に制限するには:

scrcpy --max-size 1024
scrcpy -m 1024  # 短瞮版

䞀方のサむズはデバむスのアスペクト比が維持されるように蚈算されたす。この方法では、1920x1080のデバむスでは1024x576にミラヌリングされたす。

ビットレヌト倉曎

ビットレヌトの初期倀は8Mbpsです。ビットレヌトを倉曎するには(䟋:2Mbpsに倉曎):

scrcpy --bit-rate 2M
scrcpy -b 2M  # 短瞮版

フレヌムレヌト制限

キャプチャするフレヌムレヌトを制限できたす:

scrcpy --max-fps 15

この機胜はAndroid 10からオフィシャルサポヌトずなっおいたすが、以前のバヌゞョンでも動䜜する可胜性がありたす。

トリミング

デバむスの画面は、画面の䞀郚のみをミラヌリングするようにトリミングできたす。

これは、䟋えばOculus Goの片方の目をミラヌリングする堎合に䟿利です。:

scrcpy --crop 1224:1440:0:0   # オフセット䜍眮(0,0)で1224x1440

もし--max-sizeも指定されおいる堎合、トリミング埌にサむズ倉曎が適甚されたす。

ビデオの向きをロックする

ミラヌリングの向きをロックするには:

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°時蚈回り

この蚭定は録画の向きに圱響したす。

りィンドりは独立しお回転するこずもできたす。

゚ンコヌダ

いく぀かのデバむスでは䞀぀以䞊の゚ンコヌダを持ちたす。それらのいく぀かは、問題やクラッシュを匕き起こしたす。別の゚ンコヌダを遞択するこずが可胜です:

scrcpy --encoder OMX.qcom.video.encoder.avc

利甚可胜な゚ンコヌダをリストするために、無効な゚ンコヌダ名を枡すこずができたす。゚ラヌ衚瀺で利甚可胜な゚ンコヌダを提䟛したす。

scrcpy --encoder _

キャプチャ

録画

ミラヌリング䞭に画面の録画をするこずが可胜です:

scrcpy --record file.mp4
scrcpy -r file.mkv

録画䞭にミラヌリングを無効にするには:

scrcpy --no-display --record file.mp4
scrcpy -Nr file.mkv
# Ctrl+Cで録画を䞭断する

"スキップされたフレヌム"は(パフォヌマンス䞊の理由で)リアルタむムで衚瀺されなくおも録画されたす。

フレヌムはデバむス䞊で タむムスタンプされる ため パケット遅延のバリ゚ヌション は録画されたファむルに圱響を䞎えたせん。

v4l2loopback

Linuxでは、ビデオストリヌムをv4l2ルヌプバックデバむスに送信するこずができたす。 v4l2loopbackのデバむスにビデオストリヌムを送信するこずで、Androidデバむスをりェブカメラのようにv4l2察応ツヌルで開くこずもできたす。

v4l2loopback モゞュヌルのむンストヌルが必芁です。

sudo apt install v4l2loopback-dkms

v4l2デバむスを䜜成する。

sudo modprobe v4l2loopback

これにより、新しいビデオデバむスが /dev/videoN に䜜成されたす。N は敎数 (耇数のデバむスや特定のIDのデバむスを䜜成するために、より倚くのオプションが利甚可胜です。 倚くのオプションが利甚可胜で耇数のデバむスや特定のIDのデバむスを䜜成できたす。

有効なデバむスを䞀芧衚瀺する:

# v4l-utilsパッケヌゞが必芁
v4l2-ctl --list-devices

# シンプルですが十分これで確認できたす
ls /dev/video*

v4l2シンクを䜿甚しおscrcpyを起動する。

scrcpy --v4l2-sink=/dev/videoN
scrcpy --v4l2-sink=/dev/videoN --no-display  # ミラヌリングりィンドりを無効化する
scrcpy --v4l2-sink=/dev/videoN -N            # 短瞮版

(N をデバむス ID に眮き換えお、ls /dev/video* で確認しおください) 有効にするず、v4l2察応のツヌルでビデオストリヌムを開けたす。

ffplay -i /dev/videoN
vlc v4l2:///dev/videoN   # VLCではバッファリングの遅延が発生する堎合がありたす

䟋えばですが OBSの䞭にこの映像を取り蟌めこずができたす。

Buffering

バッファリングを远加するこずも可胜です。これによりレむテンシヌは増加したすが、ゞッタヌは枛少したす。参照 #2464)

このオプションでディスプレむバッファリングを蚭定できたす。

scrcpy --display-buffer=50  # ディスプレむに50msのバッファリングを远加する

V4L2の堎合はこちらのオプションで蚭定できたす。

scrcpy --v4l2-buffer=500    # add 500 ms buffering for v4l2 sink

接続

ワむダレス

Scrcpy はデバむスずの通信にadbを䜿甚したす。そしおadbはTCP/IPを介しデバむスに接続するこずができたす:

  1. あなたのコンピュヌタず同じWi-Fiに接続したす。

  2. あなたのIPアドレスを取埗したす。蚭定 → 端末情報 → ステヌタス情報、もしくは、このコマンドを実行したす:

    adb shell ip route | awk '{print $9}'
  3. あなたのデバむスでTCP/IPを介したadbを有効にしたす: adb tcpip 5555

  4. あなたのデバむスの接続を倖したす。

  5. あなたのデバむスに接続したす: adb connect DEVICE_IP:5555 (DEVICE_IPは眮き換える)

  6. 通垞通りscrcpyを実行したす。

この方法はビットレヌトず解像床を枛らすのにおそらく有甚です:

scrcpy --bit-rate 2M --max-size 800
scrcpy -b2M -m800  # 短瞮版

マルチデバむス

もしadb devicesでいく぀かのデバむスがリストされる堎合、 シリアルナンバヌ を指定する必芁がありたす:

scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef  # 短瞮版

デバむスがTCP/IPを介しお接続されおいる堎合:

scrcpy --serial 192.168.0.1:5555
scrcpy -s 192.168.0.1:5555  # 短瞮版

耇数のデバむスに察しお、耇数の scrcpy むンスタンスを開始するこずができたす。

デバむス接続での自動起動

AutoAdbを䜿甚可胜です:

autoadb scrcpy -s '{}'

SSHトンネル

リモヌトデバむスに接続するため、ロヌカルadbクラむアントからリモヌトadbサヌバヌぞ接続するこずが可胜です(同じバヌゞョンの adb プロトコルを䜿甚しおいる堎合):

adb kill-server    # 5037ポヌトのロヌカルadbサヌバヌを終了する
ssh -CN -L5037:localhost:5037 -R27183:localhost:27183 your_remote_computer
# オヌプンしたたたにする

他の端末から:

scrcpy

リモヌトポヌト転送の有効化を回避するためには、代わりに転送接続を匷制するこずができたす(-Rの代わりに-Lを䜿甚するこずに泚意):

adb kill-server    # 5037ポヌトのロヌカルadbサヌバヌを終了する
ssh -CN -L5037:localhost:5037 -L27183:localhost:27183 your_remote_computer
# オヌプンしたたたにする

他の端末から:

scrcpy --force-adb-forward

ワむダレス接続ず同様に、クオリティを䞋げるず䟿利な堎合がありたす:

scrcpy -b2M -m800 --max-fps 15

りィンドり構成

タむトル

りィンドりのタむトルはデバむスモデルが初期倀です。これは倉曎できたす:

scrcpy --window-title 'My device'

䜍眮ずサむズ

りィンドりの䜍眮ずサむズの初期倀を指定できたす:

scrcpy --window-x 100 --window-y 100 --window-width 800 --window-height 600

ボヌダヌレス

りィンドりの装食を無効化するには:

scrcpy --window-borderless

垞に画面のトップ

scrcpyの画面を垞にトップにするには:

scrcpy --always-on-top

フルスクリヌン

アプリケヌションを盎接フルスクリヌンで開始できたす:

scrcpy --fullscreen
scrcpy -f  # 短瞮版

フルスクリヌンは、次のコマンドで動的に切り替えるこずができたす MOD+f

回転

りィンドりは回転するこずができたす:

scrcpy --rotation 1

蚭定可胜な倀:

  • 0: 回転なし
  • 1: 90° 反時蚈回り
  • 2: 180°
  • 3: 90° 時蚈回り

回転は次のコマンドで動的に倉曎するこずができたす。 MOD+←(å·Š) 、 MOD+→(右)

scrcpy は3぀の回転を管理するこずに泚意:

  • MOD+rはデバむスに瞊向きず暪向きの切り替えを芁求する(珟圚実行䞭のアプリで芁求しおいる向きをサポヌトしおいない堎合、拒吊するこずがある)
  • --lock-video-orientationは、ミラヌリングする向きを倉曎する(デバむスからPCぞ送信される向き)。録画に圱響したす。
  • --rotation (もしくはMOD+←/MOD+→)は、りィンドりのコンテンツのみを回転したす。これは衚瀺にのみに圱響し、録画には圱響したせん。

他のミラヌリングオプション

Read-only リヌドオンリヌ

制埡を無効にするには(デバむスず察話する党おのもの:入力キヌ、マりスむベント、ファむルのドラッグ&ドロップ):

scrcpy --no-control
scrcpy -n

ディスプレむ

いく぀か利甚可胜なディスプレむがある堎合、ミラヌリングするディスプレむを遞択できたす:

scrcpy --display 1

ディスプレむIDのリストは次の方法で取埗できたす:

adb shell dumpsys display   # search "mDisplayId=" in the output

セカンダリディスプレむは、デバむスが少なくずもAndroid 10の堎合にコントロヌル可胜です。(それ以倖ではリヌドオンリヌでミラヌリングされたす)

起動状態にする

デバむス接続時、少し遅れおからデバむスのスリヌプを防ぐには:

scrcpy --stay-awake
scrcpy -w

scrcpyが閉じられた時、初期状態に埩元されたす。

画面OFF

コマンドラむンオプションを䜿甚するこずで、ミラヌリングの開始時にデバむスの画面をOFFにするこずができたす:

scrcpy --turn-screen-off
scrcpy -S

もしくは、MOD+oを抌すこずでい぀でもできたす。

元に戻すには、MOD+Shift+oを抌したす。

Androidでは、POWERボタンはい぀でも画面を衚瀺したす。䟿宜䞊、POWERがscrcpyを介しお(右クリックもしくはMOD+pを介しお)送信される堎合、(ベスト゚フォヌトベヌスで)少し遅れお、匷制的に画面を非衚瀺にしたす。ただし、物理的なPOWERボタンを抌した堎合は、画面は衚瀺されたす。

このオプションはデバむスがスリヌプしないようにするこずにも圹立ちたす:

scrcpy --turn-screen-off --stay-awake
scrcpy -Sw

タッチを衚瀺

プレれンテヌションの堎合(物理デバむス䞊で)物理的なタッチを衚瀺するず䟿利な堎合がありたす。

Androidはこの機胜を 開発者オプション で提䟛したす。

Scrcpy は開始時にこの機胜を有効にし、終了時に初期倀を埩元するオプションを提䟛したす:

scrcpy --show-touches
scrcpy -t

(デバむス䞊で指を䜿った) 物理的な タッチのみ衚瀺されるこずに泚意しおください。

スクリヌンセヌバヌ無効

初期状態では、scrcpyはコンピュヌタ䞊でスクリヌンセヌバヌが実行される事を劚げたせん。

これを無効にするには:

scrcpy --disable-screensaver

入力制埡

デバむス画面の回転

MOD+rを抌すこずで、瞊向きず暪向きを切り替えたす。

フォアグラりンドのアプリケヌションが芁求された向きをサポヌトしおいる堎合のみ回転するこずに泚意しおください。

コピヌ-ペヌスト

Androidのクリップボヌドが倉曎される床に、コンピュヌタのクリップボヌドに自動的に同期されたす。

Ctrlのショヌトカットは党おデバむスに転送されたす。特に:

  • Ctrl+c 通垞はコピヌしたす
  • Ctrl+x 通垞はカットしたす
  • Ctrl+v 通垞はペヌストしたす(コンピュヌタずデバむスのクリップボヌドが同期された埌)

通垞は期埅通りに動䜜したす。

しかしながら、実際の動䜜はアクティブなアプリケヌションに䟝存したす。䟋えば、Termux は代わりにCtrl+cでSIGINTを送信したす、そしお、K-9 Mail は新しいメッセヌゞを䜜成したす。

このようなケヌスでコピヌ、カットそしおペヌストをするには(Android 7以䞊でのサポヌトのみですが):

  • MOD+c COPYを挿入
  • MOD+x CUTを挿入
  • MOD+v PASTEを挿入(コンピュヌタずデバむスのクリップボヌドが同期された埌)

加えお、MOD+Shift+vはコンピュヌタのクリップボヌドテキストにキヌむベントのシヌケンスずしお挿入するこずを蚱可したす。これはコンポヌネントがテキストのペヌストを蚱可しない堎合(䟋えば Termux)に有甚ですが、非ASCIIコンテンツを壊す可胜性がありたす。

è­Šå‘Š: デバむスにコンピュヌタのクリップボヌドを(Ctrl+vたたはMOD+vを介しお)ペヌストするこずは、デバむスのクリップボヌドにコンテンツをコピヌしたす。結果ずしおどのAndoridアプリケヌションもそのコンテンツを読み取るこずができたす。機密性の高いコンテンツ(䟋えばパスワヌドなど)をこの方法でペヌストするこずは避けおください。

プログラムでデバむスのクリップボヌドを蚭定した堎合、䞀郚のデバむスは期埅どおりに動䜜したせん。--legacy-pasteオプションは、コンピュヌタのクリップボヌドテキストをキヌむベントのシヌケンスずしお挿入するため(MOD+Shift+vず同じ方法)、Ctrl+vずMOD+vの動䜜の倉曎を提䟛したす。

ピンチしおズヌムする

"ピンチしおズヌムする"をシミュレヌトするには: Ctrl+クリック&移動

より正確にするには、巊クリックボタンを抌しおいる間、Ctrlを抌したたたにしたす。巊クリックボタンを離すたで、党おのマりスの動きは、(アプリでサポヌトされおいる堎合)画面の䞭心を基準ずしお、コンテンツを拡倧瞮小および回転したす。

具䜓的には、scrcpyは画面の䞭倮を反転した䜍眮にある"バヌチャルフィンガヌ"から远加のタッチむベントを生成したす。

テキストむンゞェクション環境蚭定

テキストをタむプした時に生成される2皮類のむベントがありたす:

  • key events はキヌを抌したずきず離したこずを通知したす。
  • text events はテキストが入力されたこずを通知したす。

初期状態で、文字はキヌむベントで挿入されるため、キヌボヌドはゲヌムで期埅通りに動䜜したす(通垞はWASDキヌ)。

しかし、これは問題を匕き起こすかもしれたせん。もしこのような問題が発生した堎合は、この方法で回避できたす:

scrcpy --prefer-text

(しかしこの方法はゲヌムのキヌボヌドの動䜜を壊したす)

キヌの繰り返し

初期状態では、キヌの抌しっぱなしは繰り返しのキヌむベントを生成したす。これらのむベントが䜿われない堎合でも、この方法は䞀郚のゲヌムでパフォヌマンスの問題を匕き起す可胜性がありたす。

繰り返しのキヌむベントの転送を回避するためには:

scrcpy --no-key-repeat

右クリックず真ん䞭クリック

初期状態では、右クリックはバックの動䜜(もしくはパワヌオン)を起こし、真ん䞭クリックではホヌム画面ぞ戻りたす。このショヌトカットを無効にし、代わりにデバむスぞクリックを転送するには:

scrcpy --forward-all-clicks

ファむルのドロップ

APKのむンストヌル

APKをむンストヌルするには、(.apkで終わる)APKファむルを scrcpy の画面にドラッグ&ドロップしたす。

芋た目のフィヌドバックはありたせん。コン゜ヌルにログが出力されたす。

デバむスにファむルを送る

デバむスの/sdcard/Downloadディレクトリにファむルを送るには、(APKではない)ファむルを scrcpy の画面にドラッグ&ドロップしたす。

芋た目のフィヌドバックはありたせん。コン゜ヌルにログが出力されたす。

転送先ディレクトリを起動時に倉曎するこずができたす:

scrcpy --push-target=/sdcard/Movies/

音声転送

音声は scrcpy では転送されたせん。sndcpyを䜿甚したす。

issue #14も参照ください。

ショヌトカット

次のリストでは、MODでショヌトカット倉曎したす。初期状態では、(left)Altたたは(left)Superです。

これは--shortcut-modで倉曎するこずができたす。可胜なキヌはlctrl、rctrl、lalt、 ralt、 lsuperそしおrsuperです。䟋えば:

# RCtrlをショヌトカットずしお䜿甚したす
scrcpy --shortcut-mod=rctrl

# ショヌトカットにLCtrl+LAltたたはLSuperのいずれかを䜿甚したす
scrcpy --shortcut-mod=lctrl+lalt,lsuper

Superは通垞WindowsもしくはCmdキヌです。

アクション ショヌトカット
フルスクリヌンモヌドぞの切り替え MOD+f
ディスプレむを巊に回転 MOD+← (å·Š)
ディスプレむを右に回転 MOD+→ (右)
りィンドりサむズを倉曎しお1:1に倉曎(ピクセルパヌフェクト) MOD+g
りィンドりサむズを倉曎しお黒い境界線を削陀 MOD+w | ダブルクリック¹
HOMEをクリック MOD+h | 真ん䞭クリック
BACKをクリック MOD+b | 右クリック²
APP_SWITCHをクリック MOD+s | 4クリック³
MENU (画面のアンロック)をクリック MOD+m
VOLUME_UPをクリック MOD+↑ (侊)
VOLUME_DOWNをクリック MOD+↓ (例)
POWERをクリック MOD+p
電源オン 右クリック²
デバむス画面をオフにする(ミラヌリングしたたた) MOD+o
デバむス画面をオンにする MOD+Shift+o
デバむス画面を回転する MOD+r
通知パネルを展開する MOD+n | 5ボタンクリック³
蚭定パネルを展開する MOD+n+n | 5ダブルクリック³
通知パネルを折りたたむ MOD+Shift+n
クリップボヌドぞのコピヌ³ MOD+c
クリップボヌドぞのカット³ MOD+x
クリップボヌドの同期ずペヌスト³ MOD+v
コンピュヌタのクリップボヌドテキストの挿入 MOD+Shift+v
FPSカりンタ有効/無効(暙準入出力䞊) MOD+i
ピンチしおズヌムする Ctrl+クリック&移動

¹黒い境界線を削陀するため、境界線䞊でダブルクリック
²もしスクリヌンがオフの堎合、右クリックでスクリヌンをオンする。それ以倖の堎合はBackを抌したす.
³4ず5はマりスのボタンです、もしあなたのマりスにボタンがあれば䜿えたす.
⁎Android 7以䞊のみ.

キヌを繰り返すショヌトカットはキヌを離しお2回目を抌したら実行されたす。䟋えば「蚭定パネルを展開する」を実行する堎合は以䞋のように操䜜する。

  1. MOD キヌを抌し、抌したたたにする.
  2. その埌に nキヌを2回抌す.
  3. 最埌に MODキヌを離す.

党おのCtrl+キヌ ショヌトカットはデバむスに転送されたす、そのためアクティブなアプリケヌションによっお凊理されたす。

カスタムパス

特定の adb バむナリを䜿甚する堎合、そのパスを環境倉数ADBで構成したす:

ADB=/path/to/adb scrcpy

scrcpy-serverファむルのパスを䞊曞きするには、SCRCPY_SERVER_PATHでそのパスを構成したす。

なぜ scrcpy?

同僚が私に、gnirehtetのように発音できない名前を芋぀けるように芁求したした。

strcpyはstringをコピヌしたす。scrcpyはscreenをコピヌしたす。

ビルド方法は?

BUILDを参照しおください。

よくある質問

FAQを参照しおください。

開発者

開発者のペヌゞを読んでください。

ラむセンス

Copyright (C) 2018 Genymobile
Copyright (C) 2018-2022 Romain Vimont

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

蚘事

⚠ **GitHub.com Fallback** ⚠