当前位置: 首页 > 工具软件 > scrcpy > 使用案例 >

Scrcpy - 基础使用

薛烈
2023-12-01

Scrcpy

这个应用程序提供了USB(或TCP/IP)上连接的Android设备的显示和控制。它不需要任何根访问,它适用于GNU/Linux、Windows和macOS

它专注于:

  1. 精致 (本机,仅显示设备屏幕)
  2. 性能 (30 ~ 60 fps)
  3. 质量 (1920 × 1080或以上)
  4. 低延迟 (35 ~ 70毫秒)
  5. 快速启动 (显示第一张图片约1秒)
  6. 非侵入性 (不在设备上安装任何软件)

需求

Android设备至少需要API 21 (Android 5.0)

确保在设备上启用adb调试

在某些设备上,还需要启用一个附加选项来使用键盘和鼠标控制它

获取

Linux

关于Debian和Ubuntu (20.04)

apt install scrcpy

也可以自己编译

Windows

对于Windows,为了简单起见,可以使用预构建的存档,其中包含所有依赖项(包括adb)

scrcpy-win64-v1.14.zip

也可以使用Chocolatey进行安装

choco install scrcpy
choco install adb # 如果你还没有

Scoop

scoop install scrcpy
scoop install adb # 如果你还没有

macOS

该应用程序可以在Homebrew中使用,可以直接安装它

brew install scrcpy

您需要ADB,并且可以从系统路径PATH访问它,如果你还没有

brew cask install android-platform-tools

运行

插入一个Android设备,然后执行

scrcpy

它接受命令行参数

scrcpy --help

特性

获取配置

减少尺寸

有时,将Android设备镜像成低分辨率是很有用的,可以提高性能

将宽度和高度限制为某个值 (例如1024)

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

计算另外一边以保证设备的高宽比被保留,例如 1920×1080的设备镜像为1024×576

改变码率

默认的比特率是8mbps,改变视频比特率 (例如:2mbps)

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

限制帧率

捕获帧速率可以被限制

scrcpy --max-fps 15

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

裁切

设备屏幕可以裁剪成只反映屏幕的一部分

这是有用的,例如反映只有一只眼睛的虚拟现实眼镜

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

如果--max-size也指定了,则在裁剪之后应用调整大小

锁定视频方向

锁定镜像的方向

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

在录屏时禁用镜像

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

“跳过的帧”被记录,即使它们没有实时显示(出于性能原因)

帧是设备上的时间戳,因此包延迟变化不会影响记录的文件

连接

无线

Scrcpy使用adb与设备通信,adb可以通过TCP/IP连接到设备

  1. 将设备连接到与计算机相同的Wi-Fi
  2. 获取设备IP地址(设置→关于手机→状态)
  3. 在设备上通过TCP/IP启用adb adb tcpip 5555
  4. 拔掉设备
  5. 连接到您的设备 adb connect DEVICE_IP:5555 ,其中DEVICE_IP为设备ip地址
  6. 像往常一样运行scrcpy

减少比特率可能会有用

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

多设备

如果adb设备中列出了多个设备,则必须指定序列

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

如果设备通过TCP/IP连接

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

可以为多个设备启动多个scrcpy实例

SSH隧道

要连接到远程设备,可以将本地adb客户机连接到远程adb服务器 (前提是它们使用相同版本的adb协议)

adb kill-server    # 在5037端口上关闭本地adb服务器
ssh -CN -L5037:localhost:5037 -R27183:localhost:27183 your_remote_computer
# 保持开放

从另一个终端

scrcpy

为了避免启用远程端口转发,可以强制一个转发连接 (注意 -L 而不是 -R )

adb kill-server    # 在5037端口上关闭本地adb服务器
ssh -CN -L5037:localhost:5037 -L27183:localhost:27183 your_remote_computer
# 保持开放

从另一个终端

scrcpy --force-adb-forwrad

就像无线连接一样,降低视频质量或许会更好用

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  # 短的版本

然后可以用 ctrl + f 动态切换全屏

旋转

窗口可以旋转

scrcpy --rotation 1
  • 0: 不旋转
  • 1: 逆时针旋转90度
  • 2: 旋转180度
  • 3: 顺时针旋转90度

还可以通过 Ctrl + ←Ctrl + → 动态更改旋转

其他镜像选项

只读

禁用控件 (可以与设备交互的所有东西,如输入键、鼠标事件、拖放文件)

scrcpy --no-control
scrcpy -n

显示

如果有多个显示器可用,可以选择要镜像的显示器

scrcpy --display 1

可以检索显示id列表

adb shell dumpsys display   # 在输出中查找我的显示id

只有当设备至少运行Android 10时才能控制辅助显示(否则以只读方式镜像)

关闭屏幕

可以使用命令行选项关闭设备屏幕

scrcpy --turn-screen-off
scrcpy -S

或在任何时候按 Ctrl + o

Ctrl + Shift + o (或者 POWER, Ctrl + p) 恢复

它还可以防止设备休眠

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

显示触摸

对于演示,显示物理触摸(在物理设备上)可能很有用

Scrcpy提供了一个选项来在启动时启用该特性,并在退出时恢复初始值

scrcpy --show-touches
scrcpy -t

输入控制

旋转设备的屏幕

Ctrl + r 在纵向和横向模式之间切换

注意,它只在前台应用程序支持所请求的方向时才旋转

复制粘贴

可以在计算机和设备之间双向同步剪贴板

  • Ctrl + c 将设备剪贴板复制到计算机剪贴板
  • Ctrl + Shift + v 将电脑剪贴板复制到设备剪贴板(如果设备运行Android >= 7则粘贴)
  • Ctrl + v 将计算机剪贴板粘贴为文本事件序列

此外,每当Android剪贴板发生变化时,它都会自动同步到计算机剪贴板

文件拖动

安装APK

要安装APK,请将APK文件(以.apk结尾)拖放到scrcpy窗口

推送文件到设备

要将文件推送到设备上的 /sdcard/,请将一个(非apk)文件拖放到scrcpy窗口

目标目录可以在启动时更改

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

快捷键

Action快捷键快捷键 (macOS)
切换全屏模式Ctrl+fCmd+f
向左旋转屏幕Ctrl+ (left)Cmd+ (left)
向右旋转屏幕Ctrl+ (right)Cmd+ (right)
将窗口大小调整为1:1Ctrl+gCmd+g
调整窗口大小以移除黑色边框Ctrl+x | Double-click¹Cmd+x | Double-click¹
点击 HOMECtrl+h | Middle-clickCtrl+h | Middle-click
点击 BACKCtrl+b | Right-click²Cmd+b | Right-click²
点击 APP_SWITCHCtrl+sCmd+s
点击 MENUCtrl+mCtrl+m
点击 VOLUME_UPCtrl+ (up)Cmd+ (up)
点击 VOLUME_DOWNCtrl+ (down)Cmd+ (down)
点击 POWERCtrl+pCmd+p
开机Right-click²Right-click²
关闭设备屏幕Ctrl+oCmd+o
点亮设备屏幕Ctrl+Shift+oCmd+Shift+o
旋转设备屏幕Ctrl+rCmd+r
展开通知面板Ctrl+nCmd+n
折叠通知面板Ctrl+Shift+nCmd+Shift+n
将设备剪贴板复制到计算机Ctrl+cCmd+c
将电脑剪贴板粘贴到设备上Ctrl+vCmd+v
将计算机剪贴板复制到设备并粘贴Ctrl+Shift+vCmd+Shift+v
启用/禁用帧率显示Ctrl+iCmd+i

自定义路径

要使用特定的adb二进制文件,在环境变量adb中配置其路径

ADB=/path/to/adb scrcpy

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



作者:roger_1279
链接:http://events.jianshu.io/p/0f24ab1b9fbe
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 类似资料: