scrcpy 投屏指南:把安卓设备变成电脑的低延迟外设,附常见问题清单
【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy
手机屏幕太小,却要在电脑上长时间操作它?scrcpy 通过 USB 或无线方式把 Android 设备的画面镜像到电脑窗口,并让键盘、鼠标直接控制手机,全程不需要在手机上安装任何应用。
项目定位:scrcpy 是什么,适合谁
scrcpy(读作"screen copy")是一个本地运行的原生程序:电脑上运行客户端,手机上运行一个由客户端自动推送的后台组件,两者通过 adb 建立通道。它不要求 root,退出后手机上不残留任何东西,也不需要账号、广告或联网。
适合它的用户大致有三类:需要在电脑上长时间操作手机的人(客服、测试、远程协助);想录制手机屏幕的人;以及需要把手机摄像头借给电脑当摄像头用的 Linux 用户。它不适合的场景是"把手机当电脑副屏"这类需求——它的设计目标是"显示并控制当前这台设备",仅此而已。
与常见替代方案的差异如下:
| 对比项 | scrcpy | 需要手机端 App 的投屏方案 | 传统 Miracast / 镜像硬件 |
|---|---|---|---|
| 手机端安装 | 不需要,无残留 | 需安装 App 并授予权限 | 不需要 |
| 电脑端操作 | 支持(键盘、鼠标、手柄) | 多数仅能看,交互受限 | 通常仅能看 |
| 延迟 | 约 35~70 ms | 普遍 100 ms 以上 | 帧级延迟,难以控制 |
| 画质与帧率 | 默认 1920×1080 起,30~120 fps 取决于设备 | 通常有压缩上限 | 取决于硬件 |
| 音频转发 | 支持(Android 11 起) | 视方案而定 | 少见 |
| 费用 | 免费开源(Apache 2.0) | 多数收费或含广告 | 硬件一次性成本 |
关键数字来自项目官方说明:镜像质量 1920×1080 或更高,帧率 30~120 fps 视设备而定,操作延迟 35~70 ms,启动到出第一帧画面约 1 秒。默认视频码率为 8 Mbps。
快速上手:三步完成首次投屏
- 安装软件包。Linux 可直接用包管理器,例如
sudo apt install scrcpy;Windows 和 macOS 的官方获取方式分别见 doc/windows.md 与 doc/macos.md。 - 在手机上启用 USB 调试(设置 → 开发者选项),用数据线连接电脑。
- 在电脑终端运行:
scrcpy约 1 秒后手机画面出现在电脑窗口里,用鼠标点按、键盘打字都可以直接作用到手机。首次连接时手机会弹出"允许 USB 调试"对话框,确认一次即可。
场景化功能拆解
远程操控手机办公
把手机上的应用当成电脑端程序来操作:键盘输入文字,鼠标右键触发"返回"、中键触发"主页",更多按键行为见 快捷键文档。配合参数可以省电——
scrcpy -S -w-S在投屏时关闭手机屏幕(物理按键仍可点亮它),-w让设备在充电状态下保持唤醒,两者组合适合"手机放在旁边亮屏、电脑干活"的长时操作。
录屏而不录到延迟抖动
需要一段干净的手机操作录像时,在投屏的同时录制:
scrcpy --record=file.mp4录制的时间戳在设备端打,所以网络抖动不会进入成品文件;容器格式按扩展名自动选择,支持 MP4、MKV、OPUS、FLAC、WAV。若只想留文件不留窗口,加--no-playback --no-window,用--time-limit=20可以限时 20 秒自动停止。
带上声音的镜像(Android 11 起)
音频转发是较新的能力:Android 11 及以上(API 30+)的设备,scrcpy 会把设备发出的声音同步到电脑播放;Android 10 及更早版本只有画面没有声音,这是系统限制而非配置问题,详见 doc/audio.md。
副屏跑应用:虚拟显示
虚拟显示是手机上新建的一块独立屏幕,与当前主屏互不影响:
scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc这条命令在 1920×1080 的虚拟屏里启动 VLC,主屏照常工作。适合需要一边用手机一边在后台跑应用的场景,机制说明见 doc/virtual-display.md。
进阶能力
- 虚拟摄像头(仅 Linux):通过 V4L2 接口把手机画面或手机摄像头暴露成电脑上的摄像头设备,会议软件可以直接选用它,实现方式见 doc/v4l2.md。
- OTG 模式:把电脑的键盘、鼠标以 USB 外设形式接到手机,Android 会把它们识别为物理设备。该模式甚至不需要 USB 调试,一条
scrcpy --otg即可,说明见 doc/otg.md。 - 游戏手柄:插在电脑上的手柄可以映射到手机上,
scrcpy -G启动,按键映射规则见 doc/gamepad.md。
避坑指南:连接失败怎么排查
- 设备一直 unauthorized:手机端有"允许 USB 调试"的授权弹窗,必须在手机上点确认;弹窗没出现时先拔掉重插一次。
- 多台设备连接时报错:scrcpy 无法自动选择时,用
scrcpy -s <序列号>指定设备,或用-d选 USB 设备、-e选 TCP/IP 设备,序列号可查自adb devices的输出。 - 能看不能控(小米等机型):在开发者选项里额外开启"USB 调试(安全设置)",开启后重启一次手机。
- adb 版本冲突(报 "server version doesn't match this client"):说明系统里有多个版本的 adb 在互相打架,统一版本,或用环境变量
ADB指定 scrcpy 使用某个路径下的 adb。 - 用着用着提示 Device disconnected:多为数据线或接口问题,换一根线、换一个 USB 口通常能解决。
更完整的常见问题整理在 FAQ.md。
文档与社区资源
- 连接:USB 与 TCP/IP 无线方式、多设备选择
- 视频:分辨率、码率、帧率、编码器、画面方向
- 音频:音频转发与缓冲
- 控制:双向剪贴板等
- 窗口:窗口与全屏行为
- 录制:格式与限时录制
- 快捷键:全部 MOD 组合键
- FAQ:按故障类型整理的排查手册
写在最后
scrcpy 的功能边界比较清晰:镜像、控制、录制,加上音频、虚拟显示和虚拟摄像头几块扩展。绝大多数使用场景一条基础命令加一两个参数就能覆盖,遇到怪问题时先查 FAQ,再考虑升级版本。
【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考