liuzhuogood

MyWebScrcpy

MyWebScrcpy 是基于 Go 与 WebCodecs 的安卓投屏控制服务,浏览器打开即用无需装客户端,支持 H.264/H.265/AV1 解码、触控键鼠与文件管理。

v2026.10.28
发布于
17 小时前
8
星标
0
下载
同步于
15 小时前

最新版本

v2026.10.282026年10月28日 04:58
下载慢?可在上方随时切换镜像源

项目说明

项目概述

MyWebScrcpy 把一台安卓设备的画面与控制装进浏览器标签页:Go 服务端经 ADB 把内嵌的 scrcpy-server 推到设备,视频帧通过 WebSocket 传给浏览器,用 WebCodecs 硬解渲染,触控与键盘消息反向注入。访问端零安装,单二进制文件内嵌前端资源与 scrcpy-server。

项目 内容
形态 Go 单二进制服务 + 浏览器前端(Vue)
编解码 H.264 / H.265 / AV1,WebCodecs 硬解
访问端 Chrome 94+,无需安装客户端
接口 HTTP / WebSocket,内置 OpenAPI 清单
设备连接 ADB(USB 或网络)

手机连上 ADB,浏览器里就能投屏、点按、管文件。

核心能力

  • 投屏与操控:点击、拖拽、滚轮、右键返回、文本注入与快捷键,移动端浏览器支持触摸,一键旋转与全屏
  • 播放器检查器:取色坐标(HEX/RGB 加 240px 放大镜)、UI Automator XML 树与 XPath 元素定位联动、实时前台应用包名与 Activity 查询
  • ADB 终端:基于 xterm.js 与真实 PTY 的 Web Shell,支持 Tab 补全与方向键历史
  • 文件管理:浏览设备共享存储 /storage/emulated/0,上传下载、移动、重命名、批量删除与撤销
  • 受控录屏:复用当前 H.264 会话录制 MP4,自动停止时长 1 分钟至 8 小时,可录设备声音
  • 大屏监控:多设备同屏展示,小 / 中 / 大三档布局,支持画中画与自动重连
  • Python Vision:独立 WebSocket 供 Python 订阅视频会话,返回识别框与自动化动作叠加到画面

快速部署

git clone https://github.com/liuzhuogood/MyWebScrcpy.git
cd MyWebScrcpy
bash scripts/build.sh
./mywebscrcpy

浏览器打开 http://localhost:8080,点击设备即可投屏;投屏、监控、文件管理分别在 /player、/dashboard、/files。macOS 首次运行需执行 sudo xattr -rd com.apple.quarantine 放行未公证的 App。

API 与集成

服务启动后访问 /api-docs.html 查看全部接口,机器可读清单在 /api/openapi.json。录屏接口形如 POST /api/recordings?serial=...,查询、停止、下载与删除各有对应端点。

适用场景

  • 远程调试真机的前端与自动化工程师
  • 需要 UI 检查器与 XPath 定位的测试人员
  • 一台主机管多台设备的监控墙
  • 临时演示手机画面且不想装远控客户端

环境要求

项目 要求
服务端 Go 1.25.5+(构建)、ADB
浏览器 Chrome 94+(WebCodecs)
设备 已开启 USB 调试或网络 ADB

注意事项

  • 需要 ADB:设备必须以 USB 调试或网络 ADB 方式连到服务主机,并非无线投屏
  • 桌面壳开发中:v1.20 的 Tauri 桌面封装为实验特性,既有服务端用法保留
  • XML 快照是静态的:UI Automator 转储为瞬时状态,自绘界面可能无节点

历史版本

排序