scrcpy 是免费开源的投屏软件,支持将安卓手机屏幕投放在 Windows、macOS、GNU/Linux 上,并可直接借助鼠标在投屏窗口中进行交互和录制。
市面上主流的多屏协同软件都是基于 scrcpy 开发,套层皮,bug 几乎没改,推荐直接使用官方的 scrcpy。
本文以 Window 投屏为例,兼容 Win10 和 Win11。scrcpy 官方下载 scrcpy-win64-v1.25.zip,或使用国内搬运链接:https://wwz.lanzouf.com/iezWX03zx4de。
Scrcpy全称是Screen copy的缩写。
此应用程序提供对通过 USB 或TCP/IP连接的 Android 设备的显示和控制。它不需要任何根访问权限。它适用于GNU/Linux、Windows和macOS。
它着重于:
- 亮度:原生,仅显示设备屏幕
- 性能:30~120fps,取决于设备
- 画质:1920×1080或以上
- 低延迟:35~70ms
- 低启动时间:显示第一张图像约 1 秒
- 非侵入性:Android 设备上没有安装任何东西
- 用户利益:无帐户、无广告、无需互联网
- 自由:免费和开源软件
其特点包括:
- 记录
- 在Android 设备屏幕关闭的情况下进行镜像
- 双向复制粘贴
- 可配置的质量
- Android 设备作为网络摄像头 (V4L2)(仅限 Linux)
- 物理键盘模拟 (HID)
- 物理鼠标模拟 (HID)
- OTG模式
- 和更多…
运行条件:
1)Android 设备至少需要 API 21 (Android 5.0)。
2)确保在您的设备上启用 adb 调试。
3)在某些设备上,您还需要启用一个附加选项来使用键盘和鼠标来控制它。
一、运行。
1、开启手机开发者选项里的USB调试
2、下载Scrcpy,解压安装。新版本Scrcpy自带adb环境,所以不用刻意安装adb。
【
- Linux:
apt install scrcpy
- 苹果系统:
brew install scrcpy
】
3、将该安装路径直接加入环境变量。
4、将手机通过USB出厂数据线连接到电脑USB端。
5、双击上图里的scrcpy.exe文件。等待数秒后,查看是否有界面弹出。
第二种运行方式:Dos环境下,
1、通过windows键 + R键,输入CMD并回车。
2、再输入adb version查看,环境变量是否正常设置,会出现:
首次连接,手机会弹窗确认,如果没有弹窗,需要将手机开发者选项打开。各手机开发者选项的点击,参考百度。
3、出现上述提示,说明环境是OK的。接着输入scrcpy,即可通过命令参数打开自定义的手机界面了。
注意:需要在scrcpy的安装路径下输入命令。
第三种运行方式:无线、无网络、无账号环境下运行。
无线投屏的前提是,电脑与手机处于同一局域网。
完成后打开 PowerShell (~ cmd),依次操作。
1)进入scrcpy安装目录,地址栏输入cmd并回车
2)在手机端开启「开发者选项」及「USB 调试」,然后使用数据线将手机和电脑连接并允许 USB 调试,开启手机端口
# 如果输入adb devices显示 no device 或未启动 adb,需检查「USB 调试」是否开启,或更换数据线。
# 此外,一些手机需选择「文件传输」模式方能使用 adb。
3)cmd下输入如下指令
scrcpy --tcpip=192.168.1.1 # default port is 5555
scrcpy --tcpip=192.168.1.1:5555
4)断开手机数据线,开始无线投屏。(192.168.2.15 为手机端的 WIFI 局域网 ip,需更改)
5)输入如下指令,ip需对应手机IP,端口为前置步骤所设置tcp端口
adb connect 192.168.2.xx:5555
6)启动 scrcpy.exe,输入如下指令scrcpy
scrcpy
7)连接多个设备,报错提示`failed to get feature set: more than one device/emulator`,则指定连接 tcpip 设备
scrcpy --serial=0123456789abcdef
scrcpy -s 0123456789abcdef # short version
如有其它各种异常,请将安装目录中间的中文改成英文,且不留空格。
二、运行命令。
捕获移动端配置:
1)缩小尺寸
将宽度和高度都限制为某个值(例如 1024):
scrcpy --max-size=1024
scrcpy -m 1024 # short version
2)改变比特率
默认比特率是 8 Mbps。要更改视频比特率(例如更改为 2 Mbps):
scrcpy --bit-rate=2M
scrcpy -b 2M # short version
3)限制帧率
可以限制捕获帧速率:
scrcpy --max-fps=15
这从 Android 10 开始得到官方支持,但可能适用于更早的版本。
实际的捕获帧率可能会打印到控制台:
scrcpy --print-fps
4)裁剪
设备屏幕可能会被裁剪为仅镜像屏幕的一部分。
这很有用,例如,仅镜像 Oculus Go 的一只眼睛:
scrcpy --crop=1224:1440:0:0 # 1224x1440 at offset (0,0)
如果--max-size还指定,则在裁剪后应用调整大小。
5)锁定视频方向
scrcpy --lock-video-orientation # initial (current) orientation
scrcpy --lock-video-orientation=0 # natural orientation
scrcpy --lock-video-orientation=1 # 90° counterclockwise
scrcpy --lock-video-orientation=2 # 180°
scrcpy --lock-video-orientation=3 # 90° clockwise
这会影响录制方向。
窗口也可以独立旋转。
捕获:
6)记录
可以在镜像时录制屏幕:
scrcpy --record=file.mp4
scrcpy -r file.mkv
要在录制时禁用镜像:
scrcpy --no-display --record=file.mp4
scrcpy -Nr file.mkv
# interrupt recording with Ctrl+C
“跳帧”会被记录下来,即使它们没有实时显示(出于性能原因)。帧在设备上带有时间戳,因此数据包延迟变化不会影响记录的文件。