Demo Client · 联调台
浏览器联调页,覆盖三条录制链路。语音待确认请使用 ../voice-confirmation/(默认 :8080)。
三条链路
| 模式 | 操作 | API | 语音 | 结束手术 |
|---|---|---|---|---|
| 链路 1 · 真摄像头 | 填 camera_id → 开始手术 | POST /client/surgeries/start |
需要 | 需要 |
| 链路 2 · 模拟实时 | 选满 N 路视频 → 开始模拟开录 | POST /internal/demo/simulated-start |
需要 | 需要 |
| 链路 3 · 离线精确 | 选 MP4 → 上传并处理 | POST /internal/demo/offline-batch |
无 | 不需要 |
链路 2/3 需 DEMO_ORCHESTRATOR_ENABLED=true;链路 2 还需可写 OR_SITE_CONFIG_JSON_FILE。页顶「刷新状态」可查看 API 与 Demo 模式是否就绪。
界面说明
- 模式卡片:点选切换,只显示当前模式相关配置
- 耗材:标签 chip 多选;「高级」可编辑 JSON
- 链路 2:默认只需上传视频;RTSP 路径与 camera_id 在「高级」折叠
- 链路 3:独立 MP4 上传区,可选生成标注视频
- 开发者日志:右侧折叠,记录完整 HTTP 请求/响应
运行
cd backend && docker compose up -d --build
cd ../clients/demo-client && ./start.sh
open http://127.0.0.1:38081/
「API 地址」默认 http://127.0.0.1:38080;从局域网访问 demo 页时会自动改用当前主机 IP。
文件
clients/demo-client/
index.html # 页面骨架
styles.css # 样式
app.js # 逻辑
server.py # 静态服务 + GET /labels.json
labels.yaml # 耗材标签(与后端同步)
start.sh
手跑假 RTSP(链路 2 高级)
python3 fake_rtsp_from_file.py /path/to/video.mp4 --port 18554 --path demo
详见 ../../docs/video-backends.md。
CORS
跨域访问 API 时设置 DEMO_CORS_ENABLED=true。