macOS 使用 scrcpy 实现控制和投屏 Android 手机
2024-12-05 tech chrome mac 4 mins 2 图 1541 字
安装
brew install scrcpy
brew install --cask android-platform-tools
安装之后,android手机启用“开发者选项”和“USB调试”之后,就可以投屏到macOS上了,如下图:
scrcpy --select-usb -m 1024 -b 20M --no-audio --max-fps=15 --always-on-top --turn-screen-off
投屏命令参考
1、连接手机
通过 USB 连接,并且只有一台手机的时候:
scrcpy --select-usb
通过 WiFi 连接,并且只有一台手机的时候:
scrcpy --select-tcpip
也可以指定 IP 地址和端口:
scrcpy --select-tcpip=http://192.168.1.1:5555/
2、设置投屏分辨率
分辨率设置稍微小一点,可以提高性能,使投屏更加流畅。
scrcpy -m 1024
3、设置比特率
比特率设置高一点,视频会更加流畅一点,默认的 8Mbps。
scrcpy -b 20M
4、设置帧率
scrcpy --max-fps=15
5、设置编码格式
编码格式有三种,分别是 h264(默认格式)、h265 和 av1,h265 可以提高视频质量,h264 可以提供更低的延迟,av1 格式目前在手机上还不是很普遍。
scrcpy --video-codec=h264
6、只投屏声音,不投图像
scrcpy --no-video
7、只投图像,不投声音
scrcpy --no-audio
8、获取麦克风的声音
默认情况下,投屏的是手机输出的声音,我们要可以投屏获取麦克风的声音。
scrcpy --audio-source=mic
9、录制屏幕
scrcpy -r record-file.mp4
10、投屏窗口置顶
scrcpy --always-on-top
11、投屏时关闭手机屏幕
scrcpy --turn-screen-off
更多的操作方式,可以查询 scrcpy 的官方文档。
直接操作命令/ADB 命令
一个简单的划屏操作:
#!/bin/bash
# 循环滑动次数
for i in {1..10}; do
echo "滑动第 $i 次"
adb shell input swipe 500 1500 500 500 300
sleep 1 # 每次滑动间隔 1 秒
done
随机划屏:
#!/bin/bash
for i in {1..10}; do
x1=$((RANDOM % 1080)) # 随机宽度,假设屏幕宽为 1080px
x2=$((RANDOM % 1080))
y1=$((RANDOM % 1920 + 1000)) # 假设屏幕高为 1920px,随机滑动大部分区域
y2=$((RANDOM % 1000))
duration=$((RANDOM % 200 + 200)) # 随机滑动时间 200ms 到 400ms
echo "滑动第 $i 次: 从 ($x1, $y1) 到 ($x2, $y2),持续 $duration 毫秒"
adb shell input swipe $x1 $y1 $x2 $y2 $duration
sleep 1
done