win下Android开源投屏工具——scrcpy的使用介绍

前言

scrcpy是一款可通过WindowsLinuxmacOS平台来操控 安卓手机的开源项目
具有以下优点:

  • 性能(30~60fps)
  • 画质(1920×1080或以上)
  • 低延迟35~70ms
  • 启动时间短(~1秒显示第一张图像)
  • 非侵入性(设备上未安装任何东西)
  • 设备要求:Android 5.0以上

备注:本文适用于scrcpy v1.12.1

图片引自官方



流程概述

  1. 手机端开启adb(Android Debug Bridge)
  2. PC端下载scrcpy&adb连接工具,连接手机

1. 手机开启开发者模式,在开发者模式中打开adb调试

百度百科:华为手机如何开启开发者模式
百度百科:小米手机如何开启开发者模式

然后在开发者模式中打开USB调试开关

图片来自网络

小米手机还需要打开USB调试(安全设置),否则PC端无法控制手机

2. 下载scrcpy&adb

官方提供的release,选择对应自己PC版本的压缩包,另外adb工具也包含在此release中,无需另外下载
如果打不开可以学鲤鱼王使用水溅跃,反正自己想办法

因为本人比较穷,买不起mac和带显示器的Linux,所以只演示windows下的操作

  • 解压文件夹并打开,搜索栏输入cmd打开cmd
    搜索栏输入cmd

2.1. 正常来说输入adb应该可以跳出这么一大串
如果没出现应该是你cmd的路径错误

2.2. 手机连上PC,允许USB调试(有信心的话可以勾选始终允许该设备)
然后cmd中输入adb devices,你的手机应该会出来如下画面
表示手机已经通过adb模式与PC建立了连接

  • 输入scrcpy 打开scrcpy

    大功告成,播放视频的情况下资源占用并不高
3. 补充操作

3.1. 希望PC端播放手机的声音
scrcpy是无法实现该功能的,但可以通过sndcpy
3.1.1. 首先,下载sndcpy,如果没有PC上没有adb,或者不知道前面那句话什么意思的建议下载sndcpy-with-adb-windows-v1.1.zip该版本的release
3.1.2. 和scrcpy相同,手机端需要开启开发者模式和USB调试,并且开启USB安装
3.1.3. 在sndcpy的文件夹下输入cmd,然后输入sndcpy

cmd

sndcpy

手机端会提醒安装一个app,同意就是了
但此时会出现warning并中断cmd中的程序,因为还差一步
3.1.4. PC端安装VLC播放器,然后再次在cmd窗口输入sndcpy
不出意外的话应该就是上图cmd显示的内容了
3.1.5. 如果还是失败可以尝试通过powershell来启用sndcpy
因为我当时也遇到该情况,在issue中找到该对应方法

该程序的原理是通过在手机端安装sndcpyapp,拦截手机端的声音,再通过adb转发到PC端,再通过VLC播放器播放声音

3.2. 通过wifi连接
如果你希望使用wifi来与手机连接,那么在确保你的PC与手机是同一网络(同一wifi),执行以下操作

3.2.1. 通过cmd获取手机的wifi ip,adb shell ifconfig
通常情况下,你应该寻找的是wlan0的ip,如下图,那么ip便是192.168.2.104

3.2.2. 然后cmd中再输入adb tcpip 6666开启远程连接,6666代表端口号,可自定义
(源生安卓系统可通过开发者模式来打开远程调试的,但是国行的大多数rom都屏蔽了这个功能)

3.2.3. 拔掉usb,然后cmd中输入adb connect 192.168.2.104:6666,此处的ip应该换成你手机的ip
如cmd出现connected to 192.168.2.104:6666则表示成功连接,出现无法连接的情况,请检查手机与PC是否在同一网络

3.2.4 最后一步,连接到手机.在cmd中输入scrcpy --tcpip=192.168.2.104:6666(注意修改相应的ip,这个是我的测试环境).顺利的话应该可以看见手机画面

可以做个bat脚本,方便开启

无线可能不如有线那样,卡顿会很明显,可以通过参数设置,降低屏幕尺寸以提高操作性能
scrcpy --tcpip=192.168.2.104:6666 --max-size=480 --turn-screen-off
其中--max-size=480即降低显示尺寸,--turn-screen-off为远程控制时关闭屏幕

4. 其他

个人是不太喜欢sndcpy这种带有侵入性的程序,而且实际安装问题也挺多的,不推荐使用
scrcpy主要是应对多屏协作(这篇文章最早写的时候华为还没出这功能)
同时,scrcpy也可以像多屏协作那样,直接把文件拖到手机端,默认会保存到手机的\Download\路径下
但因为是通过adb传入的,很大概率不会被手机立刻扫描,也就无法通过最近照片来快速找到

image.png


(虽然我觉得下面这段没啥用但还是保留了)
以下补充转自https://blog.csdn.net/aa464971/article/details/83349215

#帮助
scrcpy --help

#设置码率(默认8M)
scrcpy -b 8M

#限制投屏尺寸
scrcpy -m 1024

#裁剪投屏屏幕(长:宽:偏移x:偏移y)
scrcpy -c 800:800:0:0

#投屏并录屏
scrcpy -r file.mp4

#不投屏只录屏
scrcpy -Nr file.mp4

#手指触摸的时候显示轨迹球
scrcpy -t

#一些快捷键 (scrcpy1.2后修改了操作,建议去github原帖查看快捷键)
切换全屏模式 Ctrl+f
将窗口调整为1:1(完美像素) Ctrl+g
调整窗口大小以删除黑色边框 Ctrl+x | 双击黑色背景
设备HOME键 Ctrl+h | 鼠标中键
设备BACK键 Ctrl+b | 鼠标右键
设备任务管理键 Ctrl+s
设备 菜单 键 Ctrl+m
设备音量+键 Ctrl+↑
设备音量-键 Ctrl+↓
设备电源键 Ctrl+p
点亮手机屏幕 鼠标右键
复制内容到设备 Ctrl+v
启用/禁用FPS计数器(stdout) Ctrl+i
安装APK 将apk文件拖入投屏
传输文件到设备 将文件拖入投屏(非apk)

-- 全文完 --

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容