-
Notifications
You must be signed in to change notification settings - Fork 19
Interactive Control.zh CN
megumiss edited this page Aug 14, 2026
·
1 revision
在总览页的画面预览卡片里直接操作游戏:点击 控制 按钮后,JPEG 轮询预览会替换为 ws-scrcpy 实时视频流,可以在浏览器里点击、拖拽、滑动游戏画面,右侧还带有控制栏(电源、音量、导航键、截图、全屏、键盘等)。
使用前请确认满足以下全部条件,否则控制按钮会处于禁用状态(鼠标悬停可查看原因):
| 限制 | 说明 |
|---|---|
| 仅模拟器实例 | 客户端平台必须为 ADB (模拟器),PC 端(Windows)实例不可用 |
| Serial 不能为 auto | ws-scrcpy 按固定 Serial 连接设备,模拟器 Serial 必须手动填写为固定值(如 127.0.0.1:16384、192.168.x.x:5555) |
| 需要自行部署 ws-scrcpy | NKAS 不内置该服务,部署方式见下文 |
| 网络要求 | NKAS 后端所在机器必须能访问 ws-scrcpy 地址(页面与静态资源经后端代理转发);同时浏览器也要能直连该地址(视频流 WebSocket 由浏览器直连,使用反向代理时需支持 WebSocket 转发) |
其他注意事项:
- 互动模式期间,画面预览的 JPEG 轮询会暂停,退出控制后恢复。
- 码率 / 帧率设置只在建立连接时生效,修改后需要退出控制再重新进入。
- 在画面右上角 ⋮ 菜单里手动保存过的画质设置优先级高于 NKAS 下发的初始设置。
- 脚本运行中手动操作游戏可能干扰脚本的画面识别,请谨慎使用。
NKAS 适配的是 n1n3b1t/ws-scrcpy 这个分支,可以直接使用 Docker 镜像 megumiss/ws-scrcpy 部署。
version: '3.8'
services:
ws-scrcpy:
image: megumiss/ws-scrcpy:latest
container_name: ws-scrcpy
restart: unless-stopped
ports:
- "8000:8000"
volumes:
- ./config.yaml:/app/config.yaml:ro
- /dev/bus/usb:/dev/bus/usb
- /run/udev:/run/udev:ro
- ./adb-keys:/root/.android
device_cgroup_rules:
- 'c 189:* rwm'
environment:
- NODE_ENV=production
# 容器内 adb 自动重连循环:按需修改为你的模拟器/redroid 地址
command: >
sh -c "
adb start-server;
(
while true; do
adb connect 192.168.31.216:5555 > /dev/null 2>&1;
sleep 60;
done
) &
npm start
"模板说明:
-
网络:通过
ports把容器的 8000 端口映射到宿主机,访问地址为http://<宿主机IP>:8000。跨网段或有特殊需求时也可以改用 macvlan 等网络模式,参考 Docker 文档。 -
USB 相关挂载(
/dev/bus/usb、/run/udev、device_cgroup_rules)只对 USB 直连设备有必要;纯网络 adb(redroid、模拟器)可以删除这几项。 - adb-keys:挂载 adb 密钥目录,避免设备上反复弹授权框;首次连接仍需在设备上确认授权(勾选"始终允许")。
-
自动重连:
command里的循环每 60 秒对列表中的设备执行一次adb connect,防止 redroid/模拟器重启后掉线,按实际设备增删地址。 - config.yaml:ws-scrcpy 自身配置(端口、认证等),可参考项目仓库说明;不需要可去掉该挂载。
浏览器打开 http://<宿主机IP>:8000,能看到设备列表即部署成功。设备必须出现在列表里(即容器内 adb devices 可见),NKAS 的互动控制才能连上。
💡 也可以用 Nginx 等反向代理把 ws-scrcpy 暴露到统一域名/端口(可顺带加 Basic 认证),配置里直接填反代地址即可,但反代必须支持 WebSocket 升级。
主侧边栏进入 实例 → 选择实例 → NKAS(⚙️ 图标)分组 → 模拟器,在页面底部找到 互动控制 分组:
| 设置项 | 说明 |
|---|---|
| ws-scrcpy 地址 | ws-scrcpy 服务的访问地址,如 http://192.168.1.100:8000 或反代地址 https://scrcpy.example.com,留空则关闭互动模式 |
| 视频码率 | 初始连接的视频码率(bps),默认 16000000。码率越高画面越清晰,带宽占用越大;局域网内保持默认即可 |
| 视频帧率 | 初始连接的帧率上限,默认 60
|
💡 初始分辨率上限固定为 1280,码率/帧率之外的画质参数可在控制画面右上角的 ⋮ 菜单中调整。
- 进入实例的 任务总览 页,展开右侧的 画面预览 卡片。
- 点击卡片头部的 指针图标(控制)进入互动模式,画面会切换为实时视频流。
- 直接用鼠标点击、拖拽操作游戏;点 侧栏图标 可以收起/展开右侧控制栏。
- 再次点击指针图标退出互动模式,恢复普通预览。