最近有web远程查看和控制Android手机的需求,研究了一下scrcpy,发现还是比较容易实现远程控制,所以自己就用flask写了一个web远程控制的scrcpy,算是推荐一下自己的作品,作品地址:https://github.com/baixin1228/web-scrcpy,求个星星。
介绍
scrcpy的工作原理是在Android端启用了一个java服务进行屏幕录制,然后通过adb将h264流传输到PC端进行解码显示。结构图如下所示:
web-scrcpy是利用了scrcpy原生服务端自己实现了PC客户端将流通过websocket传输到远程前端,架构如下:
除了视频流传输之外,scrcpy还有音频传输和触摸按键传输,实际上一共是三条管道,音频用得不多,我没有实现,欢迎各位大佬添加功能在github上给我提pull-request
运行
- 安装adb,确保adb在path环境变量中,并且Android设备已连接并启用调试模式
- 安装Python 3.7+和pip
- 安装源码:
- 克隆项目仓库:
git clone https://github.com/baixin1228/web-scrcpy.git
- 进入项目目录:
cd web-scrcpy
- 安装依赖:
pip3 install -r requirements.txt
- 启动运行:
python3 app.py
- 克隆项目仓库:
- 打开一个浏览器,访问
http://server-ip:5000
,即可看到scrcpy的控制界面