Android 设备镜像与操控神器 scrcpy 正式发布 4.0 版本。此次更新最核心的改动是将底层图形库从 SDL2 全面迁移至 SDL3,并带来弹性虚拟显示、相机变焦、窗口宽高比锁定等一众实用功能。

scrcpy 是一款开源的 Android 屏幕镜像工具,支持通过 USB 或 TCP/IP 将 Android 设备的画面实时投射到电脑屏幕,并允许键盘鼠标进行操控。其以低延迟、高性能和跨平台著称,是开发者调试和日常使用的利器。
本次 4.0 版本最重磅的变更是 SDL3 迁移。SDL(Simple DirectMedia Layer)是 scrcpy 的底层多媒体框架,从 SDL2 升级到 SDL3 意味着项目可以享受到更活跃的上游维护、更及时的 bug 修复以及持续的版本迭代支持。与此同时,FFmpeg 升级至 8.1.1,SDL 升级至 3.4.8,dav1d 升级至 1.5.3,adb 升级至 37.0.0,整体技术栈焕然一新。
在功能层面,弹性虚拟显示(flex display)是本次更新的一大亮点。用户现在可以通过 --flex-display(或 -x)参数创建可随客户端窗口动态调整大小的虚拟显示屏。这对于需要在电脑上灵活调整 Android 应用显示尺寸的场景非常实用,例如配合 --start-app 启动特定应用时,窗口可以像原生桌面应用一样自由缩放。
相机功能也获得显著增强。4.0 版本新增了相机手电筒和变焦支持,快捷键分别为 MOD+t 开关手电筒、MOD+↑ 和 MOD+↓ 进行变焦。启动时也可以通过 --camera-torch 和 --camera-zoom=1.5 等参数直接设定初始状态。
窗口体验方面,scrcpy 4.0 开始强制保持窗口宽高比,避免拖动窗口大小时出现难看的黑边。如果用户偏好旧版行为,可使用 --no-window-aspect-ratio-lock 关闭。此外,默认背景色从纯黑改为深灰色,视觉观感更加柔和,也支持通过 --background-color 自定义任意颜色。
新增的 --keep-active 参数会定期向系统发送用户活动信号,防止设备在镜像过程中自动息屏,且无需修改全局设置,拔下数据线后依然有效。连接断开时,窗口也不会立刻消失,而是先显示 2 秒断开图标,让用户明确知道连接状态变化。
快捷键也有补充:F11 现在可以直接切换全屏(与 MOD+f 等效),MOD+q 则用于快速退出程序。对于 Meta Quest 用户,此前固件升级导致的画面闪烁问题也已修复。
值得一提的是,开发团队还修复了一个颇为有趣的 bug:当播放静音音频时,由于 OPUS 重采样中的非正规浮点数(denormals)问题,CPU 占用反而比播放有声内容更高。随着 FFmpeg 8.1.1 的升级,这一问题也迎刃而解。
参考来源:
- scrcpy 4.0 发布说明:https://github.com/Genymobile/scrcpy/releases/tag/v4.0
- scrcpy 项目仓库:https://github.com/Genymobile/scrcpy