目录
scrcpy——Android 投屏神器 (使用教程)
发表于 2019-08-18 分类于 实用工具 Valine: 4
scrcpy 简介
注意:拼写是 scrcpy,非 Python 爬虫框架 Scrapy。
简单地来说,scrcpy 就是通过 adb 调试的方式来将手机屏幕投到电脑上,并可以通过电脑控制您的 Android 设备。它可以通过 USB 连接,也可以通过 Wifi 连接(类似于隔空投屏),而且不需要任何 root 权限,不需要在手机里安装任何程序。scrcpy 同时适用于 GNU / Linux,Windows 和 macOS。
它的一些特性:
- 亮度(原生,仅显示设备屏幕)
- 性能(30~60fps)
- 质量(1920×1080 或以上)
- 低延迟(35~70ms)
- 启动时间短(显示第一张图像约 1 秒)
- 非侵入性(设备上没有安装任何东西)
此项目为开源项目,Github 地址:Genymobile/scrcpy: Display and control your Android device
使用 scrcpy 的要求
adb 调试的开启一般是多次点击手机系统版本,如我用的是 MIUI10,开启方法是 “设置”->” 我的设备”->” 全部参数”-> 点击 7 下 MIUI 版本,开启 “开发者选项”。然后在 “设置”->” 更多设置”->” 开发者选项” 中同时开启 USB调试
和 USB调试(安全设置)
。
注意:USB调试(安全设置)
必须开启,否则不可以使用电脑控制手机,即上述要求的第三条。
使用电脑连接手机
在 Android 手机中打开了 USB 调试后,我们即可在电脑中使用 adb 进行调试。
我使用的是 Windows10 系统,以下以 Windows 为例,MacOS 或 Linux 请点击这里。
程序使用了 Java 语言,我们需要在电脑中搭建 Java 运行环境,参考:Windows10 配置 Java 开发环境
首先下载 scrcpy,可去 releases
下载最新版本,目前最新版本为 2020-04-30 的 v1.13
。
下载地址:https://github.com/Genymobile/scrcpy/releases
往下拉到 Assets:
解压后的目录:
打开 cmd 定位到此目录(在地址栏中输入 cmd
回车),或者将该目录如 D:\Github_Run\scrcpy-win64-v1.10
加入到系统环境变量中,程序的使用都在 cmd 命令行中操作。
使用 USB 进行连接
此方式推荐使用,相对更加流畅。
- 手机通过 USB 连接到 PC 上,首次连接会弹出是否信任该电脑,点击始终信任即可。
- 运行
adb usb
查看是否连接成功
1 2 | D:\Github_Run\scrcpy-win64-v1.10>adb usb restarting in USB mode |
复制
- 运行
scrcpy
即可。
使用无线连接
可参考官方文档:Open Source Project - Scrcpy now works wirelessly
此连接方式更加方便快捷,若宽带速率高,使用效果更佳,使用方法也非常简单。
- 确保 PC 和手机在同一 Wifi 中
- 手机先通过 USB 与 PC 相连
- 在 PC 上运行 adb tcpip 服务端口,如端口为 5555
1 2
D:\Github_Run\scrcpy-win64-v1.10>adb tcpip 5555 restarting in TCP mode port: 5555
复制
- 拔下你的设备,断开 USB 连接
- 在 PC 上运行 adb connect 手机 IP: 服务端口(手机 IP 可通过手机的
状态信息
查看,或者登录路由器查看,一般以 192.168 开头)1 2
D:\Github_Run\scrcpy-win64-v1.10>adb connect 192.168.0.4:5555 connected to 192.168.0.4:5555
复制
- 运行 scrcpy,在 cmd 中输入
scrcpy.exe
这样弹出手机的屏幕,手机投屏成功!正如预期的那样,性能与 USB 不同,默认的 scrcpy 比特率是 8Mbps,这对于 Wi-Fi 连接来说可能太多了。根据使用情况,降低比特率和分辨率可能是一个很好的折中方案。
1 2 3 | scrcpy --bit-rate 2M --max-size 800 # 或者简写 scrcpy -b2M -m800 |
复制
若要切换回 USB 模式:adb usb
常用快捷键(重要)
描述 | 快捷键 |
---|---|
切换全屏模式 | Ctrl+f |
点击手机电源 | Ctrl+p |
返回 | Ctrl+b |
返回到 HOME | Ctrl+h |
多任务 | Ctrl+s |
更多操作 | 长按鼠标左键 |
显示最佳窗口 | Ctrl+g |
调节音量 | Ctrl + 上下键 |
关闭设备屏幕(保持镜像) | Ctrl+o |
将设备剪贴板复制到计算机 | Ctrl+c |
将计算机剪贴板粘贴到设备 | Ctrl+v |
Tips:查看已连接设备命令 adb devices
,显示 device
则表示已连接,显示 offline
则离线:
1 2 3 | D:\Github_Run\scrcpy-win64-v1.10>adb devices List of devices attached 192.168.0.4:5555 device |
复制
使用命令行选项在启动时镜像时可以关闭设备屏幕,这一点也挺实用:
1 2 | scrcpy --turn-screen-off scrcpy -S |
复制
这样我们就使用了两种方式(USB 连接和 Wifi 连接)使用 scrcpy,其它方法详见:README 如可直接拖拽 APK 进行安装,手机录屏等。
参考:使用 scrcpy 控制你的手机 - 暗无天日
Open Source Project - Scrcpy now works wirelessly
- 本文作者: ZhangYong
- 本文链接: scrcpy——Android投屏神器(使用教程) | YouForever
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
提交
4 评论
Anonymous Safari 14.0 macOS 10.15.7
2021-01-09回复
Mac 下怎么连接手机啊 必须用转接头吗
druoye Chrome 84.0.4147.105 Windows 10.0
2020-08-07回复
oppo手机中的 开发者选项>调试 中没有 USB 调试(安全设置)这一选项
在有线模式运行 scrcpy.exe时,结果如下
INFO: scrcpy 1.14 https://github.com/Genymobile/scrcpy
D:\progam files\scrcpy\scrcpy-server: 1 file pushed, 0 skipped. 28.6 MB/s (33142 bytes in 0.001s)
[server] INFO: Device: OPPO PCAM00 (Android 10)
INFO: Created renderer: direct3d
INFO: Renderer: direct3d
INFO: Initial texture: 1080x2336
ERROR: SDL failed to get a vertex buffer for this Direct3D 9 rendering batch!
ERROR: Dropping back to a slower method.
ERROR: This might be a brief hiccup, but if performance is bad, this is probably why.
ERROR: This error will not be logged again for this renderer.
[server] ERROR: Exception on thread Thread[main,5,main]WARN: Device disconnected
java.lang.IllegalStateException
at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2826)
at com.genymobile.scrcpy.ScreenEncoder.encode(ScreenEncoder.java:108)
at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:89)
at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:55)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:76)
at com.genymobile.scrcpy.Server.main(Server.java:225)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:338)
Press any key to continue…
有啥办法吗,如果有回复真是太好了,xx
Anonymous Chrome 80.0.3987.122 Windows 10.0
2020-03-05回复
现在Github上有一款GUI版本了。
Anonymous Chrome 80.0.3987.122 Windows 10.0
2020-03-05回复
@Anonymous , 请问作者的英文字体是怎么设置的,挺别致的呢
Anonymous Edge 18.18362 Windows 10.0
2020-03-01回复
请问手机没有usb调试(安全模式)导致电脑无法点击手机的投屏应该怎么解决呢?我的是oppo手机,vivo手机也有这个问题。@a452987549@126.com
Anonymous QQBrowser 10.5.3863.400 Windows 10.0
2020-03-03回复
@Anonymous , 设置 关于手机 快速点击5下手机内核版本 进入开发者选项 即可找到USB调试
Powered By Valine
v1.4.18