好奇问一下 scrcpy 是如何做到 p2p 远程投屏的?

2024-07-30 16:06:18 +08:00
 MissTang

不是广告,就是想了解到底是怎么实现的

有没有类似的开源代码 测了一下确实可以 把安卓设备跨网投屏,还可以操作 用的是 scrcpy

laixi.app 应该是用易语言写的?

2028 次点击
所在节点    问与答
20 条回复
MissTang
2024-07-30 16:10:12 +08:00
想用类似这个技术来做云手机出租
AoEiuV020JP
2024-07-30 16:36:08 +08:00
scrcpy 本身就是开源的,
https://github.com/Genymobile/scrcpy
dsgvsn
2024-07-30 16:48:27 +08:00
只要有 root ,让 adb 监听某个端口,然后内网穿透或者 ipv6 之类的就可以了
MissTang
2024-07-30 16:58:44 +08:00
他这个不需要 root 插上数据线就可以
所以 应该是修改了 scrcpy 添加上了打洞?
tool2dx
2024-07-30 16:59:07 +08:00
scrcpy 是用 adb 协议推了一个服务端 jar 到手机上运行,不断的抓屏打包成 H264/H265 ,通过 adb 协议发回到电脑。

但其实代码不复杂,大部分国内厂商都魔改过,去掉了 adb 协议,直接走 tcp 。这样手机都不用开 adb 。
MissTang
2024-07-30 16:59:21 +08:00
@AoEiuV020JP 是的 开源的 但是他仅限于本机 USB 连接或者同一个局域网
MissTang
2024-07-30 17:00:33 +08:00
@tool2dx 连 ADB 都不需要打开吗? 那如何把这个 jar 推送到手机运行
zbinlin
2024-07-30 17:04:24 +08:00
我自己用,Wireguard 组网,手机 `adb tcp ip 5555`,在电脑上先用 `adb connect` 连上,然后使用 scrcpy 操作。
MissTang
2024-07-30 17:06:27 +08:00
@zbinlin 我是想做个 p2p 方案 用于 云手机出租业务
他这个 2 端都没有组网 两端只需要安装他的软件就可以
想找找类似的开源项目看看
tool2dx
2024-07-30 17:09:41 +08:00
@MissTang adb 推送一次 scrcpy-server.jar 就可以了,github 有魔改的版本是让你自己复制 jar 并运行。

官方视频流都走 adb 协议,不是很合理。最好还是走 tcp 。
MissTang
2024-07-30 17:11:16 +08:00
@tool2dx 也就是说 还是需要 USB 调试权限,先推送一次 然后再关闭 USB 调试
但是 如果关闭 USB 调试 那会自动结束掉 scrcpy-server.jar 的进程吧?
zbinlin
2024-07-30 17:11:37 +08:00
@MissTang 两端安他的软件不也类似组网的
MissTang
2024-07-30 17:15:35 +08:00
@zbinlin 安装目录下看到了 kcp.dll
应该是 UDP 打洞了
LLaMA2
2024-07-30 17:36:32 +08:00
不需要 root,手机用数据线插电脑

scrcpy 可以直接使用 adb 连接到手机

adb 本身与可以使用 tcp 连接

usb 接口又可以使用网络 usb 完成映射
kimzn33251
2024-07-31 11:00:31 +08:00
“把安卓设备跨网投屏,还可以操作 用的是 scrcpy”
怎么确定是用的 scrcpy ?有什么痕迹么
非 root 方案就是录屏加推流,touch 事件再开个通道传输
云手机方案现在很成熟了,直接上机箱的
MissTang
2024-07-31 16:13:13 +08:00
@kimzn33251 是 scrcpy 因为安卓进程列表里有 scrcpy 的包名
MissTang
2024-07-31 16:14:06 +08:00
@kimzn33251 录屏的话,会容易被杀后台吧
context1997
2024-09-13 13:57:55 +08:00
@MissTang scrcpy 启动的是有 adb 权限的进程,抓的是 surface 的内容,不会被杀
MissTang
2024-09-14 18:33:45 +08:00
@cd605426287 通过 ADB 启动了 scrcpy 后
再关闭 USB 调试功能
scrcpy 还会处于运行状态吗?
context1997
2024-09-15 11:21:57 +08:00
@MissTang 不行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1061228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX