「记录」Deepin-V20.1编译并使用Scrcpy将手机屏幕投放至电脑

原创

本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。

apt 仓库没有,snap 商店下载太慢,qtscrcpy 更新不及时,guiscrcpy 杀马特。
直接从源码编译,体积小、速度快、效率高。
自己动手,丰衣足食。

简化版

2021.04.18

安装依赖:

# for Debian/Ubuntu
sudo apt install ffmpeg libsdl2-2.0-0 adb wget \
gcc git pkg-config meson ninja-build \
libavcodec-dev libavformat-dev libavutil-dev libsdl2-dev

克隆仓库、执行安装脚本:

git clone https://github.com/Genymobile/scrcpy
cd scrcpy
./install_release.sh
$ scrcpy -v
scrcpy 1.17

dependencies:
- SDL 2.0.9
- libavcodec 58.35.100
- libavformat 58.20.100
- libavutil 56.22.100

后续更新仓库、重新安装:

git pull
./install_release.sh

如需卸载:

sudo ninja -Cbuild-auto uninstall

自编译安装 Scrcpy

安装所需依赖

sudo apt install adb ffmpeg libsdl2-2.0.0 make gcc pkg-config meson ninja-build \
libavcodec-dev libavformat-dev libavutil-dev libsdl2-dev

获取源码

wget https://github.com/Genymobile/scrcpy/releases/download/v1.17/scrcpy-server-v1.17
mv scrcpy-server-v1.17 scrcpy-server-v1.17.jar

wget https://github.com/Genymobile/scrcpy/archive/master.zip
unzip master.zip

安装服务

sudo install scrcpy-server-v1.17.jar /usr/local/bin/scrcpy-server.jar

编译并安装

cd scrcpy-master
meson build --buildtype release --strip -Db_lto=true -Dprebuilt_server=../scrcpy-server-*.jar

cd build
ninja

sudo ninja install

查看版本信息

scrcpy -v
scrcpy 1.17

dependencies:
- SDL 2.0.9
- libavcodec 58.35.100
- libavformat 58.20.100
- libavutil 56.22.100

1.17 版 Scrcpy 修复了不少 Android 11 上的问题。

Scrcpy 简单使用

手机启用开发者模式,打开 USB 调试,USB 数据线连接电脑,运行 scrcpy ,手机弹出权限申请窗口,允许调试。

有线连接即便使用高画质也能保证画面流畅。

鼠标左键点按,右键返回,中键 home 。

手机按照常规方式选中一段文字,电脑 Ctrl + C 可以直接穿透复制。

为防止烧屏(OLED)、残影(LCD),通常加上 -S 参数,熄灭手机屏幕,仅将画面投射至电脑屏幕。


无线连接需要先使用 adb tcpip 5555 开启 TCP/IP 端口进行无线调试。

然后拔掉数据线。

adb connect 192.168.xx.xx:5555 如果手机连的 WiFi ,直接在 WIFI 设置里面应该能看见对应的 IP 地址;如果是手机开热点(建议手动指定 5 G 频率,如果可用……),可能需要 Termux 运行 ifconfig 查看手机的局域网 IP 地址。

adb devices 查看是否显示设备序列号。

同上,scrcpy 获取并输出手机屏幕。

如果无线速度比较捉急,加上参数 -b 4M 限制码率,--max-fps 15 限制帧率。

如果有多个设备,scrcpy -s ip:5555 或者 scrcpy -s abcdefg 指定需要输出的设备。

……

详见 官方 README 中文译版


补充:如果不想每次先有线再无线,且手机有 root 的话,可以安装并使用 ADB WIFI ,再进行 adb connect ip:5555 。

遇到的问题

  1. 剪切板穿透不起效,电脑这边复制的文字,不能直接粘贴进手机。之前用 snap install scrcpy 安装的时候是可以的。

本文作者:青菜芋子

本文链接: https://loafing.cn/posts/Build-and-Use-Scrcpy-on-DeepinOS.html

文章默认采用 CC BY-NC-SA 4.0 许可协议,如有转载请注意遵循。

评论

您所在的地区可能无法访问 Disqus 评论系统,请切换网络环境再尝试。