Scrcpy - 基礎(chǔ)使用

Scrcpy

這個應(yīng)用程序提供了USB(或TCP/IP)上連接的Android設(shè)備的顯示和控制。它不需要任何根訪問,它適用于GNU/Linux、Windows和macOS

它專注于:

  1. 精致 (本機(jī),僅顯示設(shè)備屏幕)
  2. 性能 (30 ~ 60 fps)
  3. 質(zhì)量 (1920 × 1080或以上)
  4. 低延遲 (35 ~ 70毫秒)
  5. 快速啟動 (顯示第一張圖片約1秒)
  6. 非侵入性 (不在設(shè)備上安裝任何軟件)

需求

Android設(shè)備至少需要API 21 (Android 5.0)

確保在設(shè)備上啟用adb調(diào)試

在某些設(shè)備上,還需要啟用一個附加選項來使用鍵盤和鼠標(biāo)控制它

獲取

Linux

關(guān)于Debian和Ubuntu (20.04)

apt install scrcpy

也可以自己編譯

Windows

對于Windows,為了簡單起見,可以使用預(yù)構(gòu)建的存檔,其中包含所有依賴項(包括adb)

scrcpy-win64-v1.14.zip

也可以使用Chocolatey進(jìn)行安裝

choco install scrcpy
choco install adb # 如果你還沒有

Scoop

scoop install scrcpy
scoop install adb # 如果你還沒有

macOS

該應(yīng)用程序可以在Homebrew中使用,可以直接安裝它

brew install scrcpy

您需要ADB,并且可以從系統(tǒng)路徑PATH訪問它,如果你還沒有

brew cask install android-platform-tools

運(yùn)行

插入一個Android設(shè)備,然后執(zhí)行

scrcpy

它接受命令行參數(shù)

scrcpy --help

特性

獲取配置

減少尺寸

有時,將Android設(shè)備鏡像成低分辨率是很有用的,可以提高性能

將寬度和高度限制為某個值 (例如1024)

scrcpy --max-size 1024
scrcpy -m 1024  # 短的版本

計算另外一邊以保證設(shè)備的高寬比被保留,例如 1920×1080的設(shè)備鏡像為1024×576

改變碼率

默認(rèn)的比特率是8mbps,改變視頻比特率 (例如:2mbps)

scrcpy --bit-rate 2M
scrcpy -b 2M  # 短的版本

限制幀率

捕獲幀速率可以被限制

scrcpy --max-fps 15

這是Android 10以來的官方支持,但在更早的版本上可能也可以工作

裁切

設(shè)備屏幕可以裁剪成只反映屏幕的一部分

這是有用的,例如反映只有一只眼睛的虛擬現(xiàn)實(shí)眼鏡

scrcpy --crop 1224:1440:0:0   # 1224x1440 偏移量 (0,0)

如果--max-size也指定了,則在裁剪之后應(yīng)用調(diào)整大小

鎖定視頻方向

鎖定鏡像的方向

scrcpy --lock-video-orientation 0   # 自然方向
scrcpy --lock-video-orientation 1   # 逆時針90°
scrcpy --lock-video-orientation 2   # 180°
scrcpy --lock-video-orientation 3   # 順時針90°

這會影響錄制方向

錄屏

可以在鏡像時錄屏

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

在錄屏?xí)r禁用鏡像

scrcpy --no-display --record file.mp4
scrcpy -Nr file.mkv
# 用Ctrl+C中斷錄制

“跳過的幀”被記錄,即使它們沒有實(shí)時顯示(出于性能原因)

幀是設(shè)備上的時間戳,因此包延遲變化不會影響記錄的文件

連接

無線

Scrcpy使用adb與設(shè)備通信,adb可以通過TCP/IP連接到設(shè)備

  1. 將設(shè)備連接到與計算機(jī)相同的Wi-Fi
  2. 獲取設(shè)備IP地址(設(shè)置→關(guān)于手機(jī)→狀態(tài))
  3. 在設(shè)備上通過TCP/IP啟用adb adb tcpip 5555
  4. 拔掉設(shè)備
  5. 連接到您的設(shè)備 adb connect DEVICE_IP:5555 ,其中DEVICE_IP為設(shè)備ip地址
  6. 像往常一樣運(yùn)行scrcpy

減少比特率可能會有用

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

多設(shè)備

如果adb設(shè)備中列出了多個設(shè)備,則必須指定序列

scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef  # 短的版本

如果設(shè)備通過TCP/IP連接

scrcpy --serial 192.168.0.1:5555
scrcpy -s 192.168.0.1:5555  # 短的版本

可以為多個設(shè)備啟動多個scrcpy實(shí)例

SSH隧道

要連接到遠(yuǎn)程設(shè)備,可以將本地adb客戶機(jī)連接到遠(yuǎn)程adb服務(wù)器 (前提是它們使用相同版本的adb協(xié)議)

adb kill-server    # 在5037端口上關(guān)閉本地adb服務(wù)器
ssh -CN -L5037:localhost:5037 -R27183:localhost:27183 your_remote_computer
# 保持開放

從另一個終端

scrcpy

為了避免啟用遠(yuǎn)程端口轉(zhuǎn)發(fā),可以強(qiáng)制一個轉(zhuǎn)發(fā)連接 (注意 -L 而不是 -R )

adb kill-server    # 在5037端口上關(guān)閉本地adb服務(wù)器
ssh -CN -L5037:localhost:5037 -L27183:localhost:27183 your_remote_computer
# 保持開放

從另一個終端

scrcpy --force-adb-forwrad

就像無線連接一樣,降低視頻質(zhì)量或許會更好用

scrcpy -b2M -m800 --max-fps 15

窗口配置

標(biāo)題

默認(rèn)情況下,窗口標(biāo)題是設(shè)備模型,它是可以改變的

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

全屏

應(yīng)用程序可以直接在全屏啟動

scrcpy --fullscreen
scrcpy -f  # 短的版本

然后可以用 ctrl + f 動態(tài)切換全屏

旋轉(zhuǎn)

窗口可以旋轉(zhuǎn)

scrcpy --rotation 1
  • 0: 不旋轉(zhuǎn)
  • 1: 逆時針旋轉(zhuǎn)90度
  • 2: 旋轉(zhuǎn)180度
  • 3: 順時針旋轉(zhuǎn)90度

還可以通過 Ctrl + ←Ctrl + → 動態(tài)更改旋轉(zhuǎn)

其他鏡像選項

只讀

禁用控件 (可以與設(shè)備交互的所有東西,如輸入鍵、鼠標(biāo)事件、拖放文件)

scrcpy --no-control
scrcpy -n

顯示

如果有多個顯示器可用,可以選擇要鏡像的顯示器

scrcpy --display 1

可以檢索顯示id列表

adb shell dumpsys display   # 在輸出中查找我的顯示id

只有當(dāng)設(shè)備至少運(yùn)行Android 10時才能控制輔助顯示(否則以只讀方式鏡像)

關(guān)閉屏幕

可以使用命令行選項關(guān)閉設(shè)備屏幕

scrcpy --turn-screen-off
scrcpy -S

或在任何時候按 Ctrl + o

Ctrl + Shift + o (或者 POWER, Ctrl + p) 恢復(fù)

它還可以防止設(shè)備休眠

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

顯示觸摸

對于演示,顯示物理觸摸(在物理設(shè)備上)可能很有用

Scrcpy提供了一個選項來在啟動時啟用該特性,并在退出時恢復(fù)初始值

scrcpy --show-touches
scrcpy -t

輸入控制

旋轉(zhuǎn)設(shè)備的屏幕

Ctrl + r 在縱向和橫向模式之間切換

注意,它只在前臺應(yīng)用程序支持所請求的方向時才旋轉(zhuǎn)

復(fù)制粘貼

可以在計算機(jī)和設(shè)備之間雙向同步剪貼板

  • Ctrl + c 將設(shè)備剪貼板復(fù)制到計算機(jī)剪貼板
  • Ctrl + Shift + v 將電腦剪貼板復(fù)制到設(shè)備剪貼板(如果設(shè)備運(yùn)行Android >= 7則粘貼)
  • Ctrl + v 將計算機(jī)剪貼板粘貼為文本事件序列

此外,每當(dāng)Android剪貼板發(fā)生變化時,它都會自動同步到計算機(jī)剪貼板

文件拖動

安裝APK

要安裝APK,請將APK文件(以.apk結(jié)尾)拖放到scrcpy窗口

推送文件到設(shè)備

要將文件推送到設(shè)備上的 /sdcard/,請將一個(非apk)文件拖放到scrcpy窗口

目標(biāo)目錄可以在啟動時更改

scrcpy --push-target /sdcard/foo/bar/

快捷鍵

Action 快捷鍵 快捷鍵 (macOS)
切換全屏模式 Ctrl+f Cmd+f
向左旋轉(zhuǎn)屏幕 Ctrl+ (left) Cmd+ (left)
向右旋轉(zhuǎn)屏幕 Ctrl+ (right) Cmd+ (right)
將窗口大小調(diào)整為1:1 Ctrl+g Cmd+g
調(diào)整窗口大小以移除黑色邊框 Ctrl+x | Double-click1 Cmd+x | Double-click1
點(diǎn)擊 HOME Ctrl+h | Middle-click Ctrl+h | Middle-click
點(diǎn)擊 BACK Ctrl+b | Right-click2 Cmd+b | Right-click2
點(diǎn)擊 APP_SWITCH Ctrl+s Cmd+s
點(diǎn)擊 MENU Ctrl+m Ctrl+m
點(diǎn)擊 VOLUME_UP Ctrl+ (up) Cmd+ (up)
點(diǎn)擊 VOLUME_DOWN Ctrl+ (down) Cmd+ (down)
點(diǎn)擊 POWER Ctrl+p Cmd+p
開機(jī) Right-click2 Right-click2
關(guān)閉設(shè)備屏幕 Ctrl+o Cmd+o
點(diǎn)亮設(shè)備屏幕 Ctrl+Shift+o Cmd+Shift+o
旋轉(zhuǎn)設(shè)備屏幕 Ctrl+r Cmd+r
展開通知面板 Ctrl+n Cmd+n
折疊通知面板 Ctrl+Shift+n Cmd+Shift+n
將設(shè)備剪貼板復(fù)制到計算機(jī) Ctrl+c Cmd+c
將電腦剪貼板粘貼到設(shè)備上 Ctrl+v Cmd+v
將計算機(jī)剪貼板復(fù)制到設(shè)備并粘貼 Ctrl+Shift+v Cmd+Shift+v
啟用/禁用幀率顯示 Ctrl+i Cmd+i

自定義路徑

要使用特定的adb二進(jìn)制文件,在環(huán)境變量adb中配置其路徑

ADB=/path/to/adb scrcpy

要覆蓋scrcpy-server文件的路徑,需要在SCRCPY_SERVER_PATH中配置它的路徑

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容