Improve live analysis stability and video clip drafting

这个提交包含在:
cryptocommuniums-afk
2026-03-15 02:11:34 +08:00
父节点 edc66ea5bc
当前提交 815f96d4e8
修改 9 个文件,包含 570 行新增56 行删除

查看文件

@@ -19,6 +19,7 @@
- 视频上传分析:上传 `webm/mp4` 视频进入视频库并触发分析流程
- 实时摄像头分析:浏览器端调用 MediaPipe,自动识别 `forehand/backhand/serve/volley/overhead/slice/lob/unknown`
- 识别稳定化:最近 6 帧动作结果会做时序加权和 winner/runner-up 比较,降低动作标签抖动
- 连续动作片段:自动聚合连续同类动作区间,单段不超过 10 秒,并保存得分、置信度与反馈摘要
- 实时分析录制:分析阶段可同步保留浏览器端本地录制视频,停止分析后自动登记到系统
- 训练数据回写:实时分析与录制数据自动写入训练记录、日训练聚合、成就系统和 NTRP 评分
@@ -26,6 +27,7 @@
- 多模态图片输入:上传关键帧后会转换为公网可访问的绝对 URL,再提交给视觉模型
- 视觉标准图库:内置网球公网参考图,可直接发起视觉识别测试并保存结果
- 视频库:集中展示录制结果、上传结果和分析摘要
- PC 轻剪辑:视频库内可直接打开轻剪辑工作台,支持预览、设定入点/出点、建议片段和草稿导出
### 在线录制与媒体链路
@@ -67,7 +69,7 @@
- 仪表盘、训练、视频、录制、分析等模块一致的布局结构
- 全局任务中心:桌面侧边栏和移动端头部都可查看后台任务
- Admin 视觉测试页:`H1` 这类 admin 用户可查看全部视觉测试数据
- 为后续 PC 粗剪时间线预留媒体域与文档规范
- 视频库内置轻剪辑工作台,可在桌面端快速完成粗剪草稿、建议片段复核和导出
## 架构能力
@@ -87,7 +89,7 @@
- 浏览器录制兼容目标以 Chrome 为主
- 当前 WebRTC 重点是浏览器到服务端的实时上行,不是多观众直播分发
- 当前 PC 剪辑仍处于基础媒体域准备阶段,未交付完整多轨编辑器
- 当前 PC 剪辑已交付轻量草稿工作台,但未交付完整多轨编辑器、批量转码和最终成片渲染
- 当前存储策略为本地卷优先,未接入对象存储归档
- 当前 `.env` 配置的视觉网关若忽略 `LLM_VISION_MODEL`,系统会回退到文本纠正;代码已支持独立视觉模型配置,但上游网关能力仍需单独确认
- 当前实时动作识别仍基于姿态启发式分类,不是专门训练的动作识别模型
@@ -103,7 +105,7 @@
### PC 轻剪与训练回放
- 交付单轨时间线粗剪:入点、出点、片段删除、关键帧封面和 marker 跳转
- 在当前轻剪辑工作台基础上继续交付单轨时间线粗剪:片段拖拽、片段删除、关键帧封面和 marker 跳转
- 增加“剪辑计划”实体,允许把自动 marker、手动 marker 和 AI 建议片段一起保存
- 提供双栏回放模式:左侧原视频,右侧姿态轨迹、节奏评分和文字纠正同步滚动
- 支持从视频库直接发起导出任务,在后台生成训练集锦或问题片段合集

查看文件

@@ -24,6 +24,7 @@
- 视觉模型 per-request model override 能力
- 视觉标准图库路由与 admin/H1 全量可见性逻辑
- 媒体工具函数,例如录制时长格式化与码率选择
- 实时分析动作片段保存、成就回写和 NTRP 刷新入队逻辑
### 3. Go 媒体服务测试
@@ -48,6 +49,7 @@
这样可以自动验证前端主流程,而不依赖真实摄像头权限和真实 WebRTC 网络环境。
当前 E2E 已覆盖新的后台任务流、实时分析入口、录制焦点视图和任务中心依赖的接口 mock。
当前 E2E 还覆盖视频库轻剪辑工作台,包括建议片段渲染、轻剪辑入口和草稿导出入口。
首次在新库或新 schema 上执行前,先跑:
@@ -123,6 +125,18 @@ pnpm test:llm
- 打开 `https://te.hao.work/live-camera`
- 确认没有 `pageerror` 或首屏 `console.error`
真实站点 Playwright smoke script 可直接复用:
```bash
xvfb-run -a bash -lc 'cd /root/.codex/skills/playwright-skill && node run.js /tmp/playwright-te-smoke.js'
```
2026-03-15 已实际完成一次真实环境联调:
- 初次 smoke 发现 `https://te.hao.work/checkin` 仍显示旧版“每日打卡 / 训练打卡”,确认现网落后于仓库代码
- 执行 `docker compose up -d --build migrate app app-worker` 后再次 smoke
- 复测 `login / checkin / videos / recorder / live-camera / admin` 全部通过,且未捕获 `pageerror` / `console.error`
## Local browser prerequisites
首次运行 Playwright 前执行:

查看文件

@@ -1,12 +1,12 @@
# Verified Features
本文档记录当前已经通过自动化验证或构建验证的项目。更新时间2026-03-15 01:39 CST。
本文档记录当前已经通过自动化验证或构建验证的项目。更新时间2026-03-15 02:09 CST。
## 最新完整验证记录
- 通过命令:`pnpm verify`
- 验证时间2026-03-15 01:38 - 01:39 CST
- 结果摘要:`pnpm check` 通过,`pnpm test` 通过95/95`pnpm test:go` 通过,`pnpm build` 通过,`pnpm test:e2e` 通过(6/6
- 验证时间2026-03-15 02:09 - 02:10 CST
- 结果摘要:`pnpm check` 通过,`pnpm test` 通过95/95`pnpm test:go` 通过,`pnpm build` 通过,`pnpm test:e2e` 通过(7/7
- 数据库状态:已执行 `set -a && source .env && set +a && pnpm exec drizzle-kit migrate``0007_grounded_live_ops` 已成功应用
## 生产部署联测
@@ -14,6 +14,7 @@
| 项目 | 验证方式 | 状态 |
|------|----------|------|
| `https://te.hao.work/` HTTPS 访问 | `curl -I https://te.hao.work/` | 通过 |
| `https://te.hao.work/checkin` 成就系统路由 | Playwright 登录后检查“成就系统” | 通过 |
| `https://te.hao.work/logs` 日志页访问 | `curl -I https://te.hao.work/logs` | 通过 |
| `https://te.hao.work/vision-lab` 视觉测试页访问 | `curl -I https://te.hao.work/vision-lab` | 通过 |
| `http://te.hao.work:8302/` 4 位端口访问 | `curl -I http://te.hao.work:8302/` | 通过 |
@@ -22,11 +23,13 @@
| 新用户邀请码校验 | Playwright 验证无邀请码被拦截、正确邀请码 `CA2026` 可创建新账号 | 通过 |
| 日志页访问 | Playwright 以 `H1` 登录并访问 `/logs` | 通过 |
| 生产训练 / 实时分析 / 录制 / 视频库页面加载 | Playwright 访问 `/training``/live-camera``/recorder``/videos` | 通过 |
| 生产视频库轻剪辑入口 | 本地 `pnpm test:e2e` + 真实站点 `/videos` smoke | 通过 |
| 生产训练计划后台任务提交 | Playwright 点击训练计划生成按钮并收到后台任务反馈 | 通过 |
| 生产移动端录制焦点视图 | Playwright 移动端视口打开 `/recorder` 并验证焦点入口与操作壳层 | 通过 |
| 生产前端运行时异常检查 | Playwright `pageerror` / `console.error` 检查 | 通过 |
| 媒体健康检查 | `curl http://127.0.0.1:8081/media/health` | 通过 |
| compose 自包含服务 | `docker compose ps -a``app` / `app-worker` / `db` / `media` / `media-worker` 正常运行,`migrate` 成功退出 | 通过 |
| 生产版本追平 | `docker compose up -d --build migrate app app-worker` 后复测 `login / checkin / videos / recorder / live-camera / admin` | 通过 |
## 构建与编译通过
@@ -75,6 +78,7 @@
| 仪表盘 | 认证后主标题与入口按钮渲染 | 通过 |
| 训练计划 | 训练计划页加载与生成入口可见 | 通过 |
| 视频库 | 视频卡片渲染 | 通过 |
| 视频库轻剪辑 | 打开轻剪辑工作台、显示建议片段、展示导出草稿入口 | 通过 |
| 实时分析 | 摄像头启动入口渲染 | 通过 |
| 实时分析打分 | 启动分析后出现实时评分结果 | 通过 |
| 在线录制 | 启动摄像头、开始录制、手动标记、结束归档 | 通过 |