scrcpy:Android 投屏到电脑免费开源方案,35ms 低延迟键鼠操控完整指南
【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy
scrcpy(screen copy)是一款免费开源的 Android 投屏到电脑工具:通过 USB 或 Wi-Fi 把手机画面与声音镜像到桌面,用电脑键鼠直接操控手机,端到端延迟 35~70ms,帧率 30~120fps,分辨率 1920×1080 以上。不需要 root,手机上不安装任何 App,运行结束后不留下任何痕迹。
一分钟看懂:scrcpy 能做什么
先说结论:它能做的比"投屏"多得多。
它是什么。scrcpy 是运行在 Linux、Windows、macOS 上的本地客户端,把安卓设备当作一台"外接显示器加外设"来用。
一句话原理。画面侧:设备端通过 ADB 通道把屏幕画面编码为 H.264/H.265 视频流送回电脑实时解码;操控侧:客户端把你的按键与鼠标事件反向注入设备。投屏、录屏、虚拟显示、手机当摄像头、手柄映射,都是这条通道的不同用法。
版本与前置条件。设备至少 API 21(Android 5.0);声音转发要求 Android 11(API 30)及以上,系统更旧时画面投屏不受影响。电脑上只需开启 USB 调试这一项前置开关。
能力版图(每项在后文有展开):
- 画面与声音同时转发,屏幕可熄灭(省电、隐私)
- 录屏/录音频,时间戳在设备端生成,不受网络波动影响
- 虚拟显示:投屏跑在独立虚拟屏上,主屏互不干扰
- 摄像头镜像(Android 12+)与 V4L2 手机变摄像头(Linux)
- HID 物理键鼠/手柄模拟、OTG 免 USB 调试模式、双向剪贴板
三步上手:打开 USB 调试、安装、一条命令
第 1 步,打开 USB 调试。设置 → 关于手机,连点"版本号" 7 次进入开发者模式,再到"开发者选项"中开启"USB 调试"。数据线连上电脑,弹窗"允许 USB 调试吗?"选"始终允许"。
第 2 步,安装 scrcpy。Linux 直接走包管理器:
sudo apt install scrcpy # 或 sudo pacman -S scrcpyWindows 与 macOS 下载对应平台预编译包,解压即用;跟随最新代码可执行git clone https://gitcode.com/GitHub_Trending/sc/scrcpy后自行构建。
第 3 步,一条命令启动。终端输入:
scrcpy约 1 秒后手机画面出现在窗口里,鼠标拖动、键盘输入都会实时作用到真机。
⚠️ 部分品牌(尤其小米/红米)需要在"开发者选项"中单独再开一项"USB 调试(安全设置)",它与"USB 调试"是两个独立开关;改完需重启设备一次,否则键鼠无法控制(详见 排坑表)。
场景配方书:按用途抄命令
下表覆盖五种高频场景,参数均按项目默认值设定(默认码率 8Mbps、设备原始分辨率)。
| 使用场景 | 推荐命令 | 预期效果 |
|---|---|---|
| 日常流畅 | scrcpy | 设备原始分辨率、8Mbps,日常操作零配置 |
| 高清演示/剪辑 | scrcpy -b 16M | 码率翻倍,画面细节更锐利 |
| 无线投屏 | scrcpy -b 4M --max-fps 30 | 降码率降帧率,防卡顿与发热 |
| 省电护隐私 | scrcpy -m 720 -S | 分辨率压到 720 宽并立即熄屏,投屏继续 |
| 边投边录屏 | scrcpy -r demo.mp4 | 本地生成 mp4,时间戳在手机端,文件不受网络波动影响 |
三个参数各一句话说清:-b是视频码率(越大越清晰、带宽占用越高);-m限制镜像分辨率的最大边长;--max-fps限制采集帧率上限,对观感影响小、对发热影响明显。画质细节见 视频文档,录屏机制见 录屏文档。
无线投屏怎么开
前提:手机与电脑在同一 Wi-Fi。先插线开端口,再换网线为 Wi-Fi:
# 1. USB 连接状态下开启无线调试端口 adb tcpip 5555 # 2. 断开数据线,改用 Wi-Fi 连接(换成手机实际 IP) adb connect 192.168.x.x:5555 # 3. 正常启动投屏 scrcpy懒得查 IP 就用一步到位:插着 USB 执行scrcpy --tcpip,它会自动探测地址、开端口并完成连接。Android 11+ 还有系统级"无线调试",连 USB 都可以省。无线模式延迟略升,建议配合-b 4M --max-fps 30组合;用完执行adb disconnect断开。完整流程见 连接文档。
键鼠操控:快捷键速查与 HID 物理键鼠
默认修饰键是左Alt(部分系统为Super,即 Windows/Cmd 键),可用--shortcut-mod=rctrl等改为其他键。常用组合如下:
| 想做的事 | 按键 |
|---|---|
| 切换全屏 | Alt+f |
| 回到桌面(HOME) | Alt+h或鼠标中键 |
| 返回上一级(BACK) | Alt+b或鼠标右键 |
| 熄屏但保持投屏 | Alt+o |
| 亮屏 | Alt+Shift+o |
| 旋转设备屏幕 | Alt+r |
| 左右旋转画面 | Alt+←/Alt+→ |
| 暂停/恢复画面 | Alt+z/Alt+Shift+z |
| 音量加减 | Alt+↑/Alt+↓ |
| 模拟双指缩放 | Ctrl+按下并拖动鼠标 |
| 复制/剪贴板粘贴(Android 7+) | Alt+c/Alt+v |
完整清单(含镜像翻转、通知栏、FPS 计数等)见 快捷键文档。
HID 物理键鼠模拟
uhid模式让安卓把电脑键鼠识别为真实插入的外设,而不是虚拟输入:
scrcpy --keyboard=uhid --mouse=uhid # 简写:scrcpy -K -M游戏原生支持键位,部分限制虚拟键盘的 App 也能正常输入。键盘与鼠标细节见 键盘文档、鼠标文档。
排坑速查表:现象 → 原因 → 解法
| 现象 | 原因 | 解法 |
|---|---|---|
报INJECT_EVENTS permission错误 | 部分品牌(小米/红米等)默认拦截输入注入 | 开发者选项中单独开启"USB 调试(安全设置)",重启设备一次 |
| 画面正常但电脑听不到声音 | 声音转发要求 Android 11+(API 30+) | 系统版本不足属正常现象,画面投屏不受影响;升级系统后自动获得 |
| 无线模式卡顿、设备发热 | Wi-Fi 带宽与编码压力偏高 | 降码率降帧率:-b 4M --max-fps 30 |
| 老设备/低分辨率下掉帧明显 | 原始分辨率采集开销大 | 限制分辨率:scrcpy -m 1024 |
| 首次连接窗口长时间不出画面 | ADB 隧道首次建立慢或驱动异常 | 重新插拔数据线、确认 USB 调试授权弹窗 |
进阶能力:虚拟显示、V4L2 与 OTG
每项给一条命令,细节点进对应文档。
- 虚拟显示:投屏跑在一块独立虚拟屏上,手机主屏可继续干别的事:
scrcpy --new-display=1920x1080 --start-app=org.videolan.vlc(虚拟显示文档) - 手机变摄像头(V4L2,仅 Linux):摄像头画面直接喂给电脑的
/dev/video设备:scrcpy --video-source=camera --v4l2-sink=/dev/video0(V4L2 文档) - OTG 模式:不走 adb,不需要 USB 调试,插上即用纯键鼠/手柄模拟:
scrcpy --otg(OTG 文档) - 游戏手柄映射:电脑上的手柄映射到手机,
-G即开(手柄文档) - 摄像头镜像(Android 12+):把手机摄像头当视频源,
--video-source=camera(摄像头文档)
一页速查卡
| 类别 | 命令 / 参数 |
|---|---|
| 最简启动 | scrcpy |
| 无线(一步式) | scrcpy --tcpip |
| 无线(手动三步) | adb tcpip 5555→adb connect <IP>:5555→scrcpy |
| 高清演示 | -b 16M |
| 流畅/降热 | -b 4M --max-fps 30 |
| 省电护隐私 | -m 720 -S |
| 录屏 | -r demo.mp4 |
| 物理键鼠 | -K(键盘)、-M(鼠标) |
| 手柄 | -G |
| 虚拟显示 | --new-display=1920x1080 --start-app=<包名> |
| 手机当摄像头 | --video-source=camera --v4l2-sink=/dev/video0 |
| 默认值速记 | 码率 8M、设备原始分辨率、延迟 35~70ms、首帧约 1 秒 |
| 查看全部参数 | scrcpy --help |
【免费下载链接】scrcpyDisplay and control your Android device项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考