2026-05-18-17-55-29 增加运行确认和演示录制

This commit is contained in:
2026-05-18 17:56:22 +08:00
parent debd0bfd50
commit dd2a49ad91
7 changed files with 292 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
# 实现方案
开始时间2026-05-18-17-55-29
## 方案
新增 `scripts/record_demo.py`,在不引入额外大型依赖的情况下生成演示视频:
1. 等待并检查 `http://127.0.0.1:8001/api/health`
2. 如样例视频不存在,则调用 `scripts/generate_sample.sh` 生成合成导丝视频。
3. 使用本机 Chrome headless 对 Web 首页截图。
4. 使用 `curl` 调用 `POST /api/segment` 上传 `storage/samples/synthetic_guidewire.mp4`
5. 读取 API 返回的真实叠加图和掩膜图。
6. 使用 OpenCV 将首页截图、分割结果和指标合成为 mp4。
## 输出路径
- 演示视频:`storage/demos/isiseg_usage_demo.mp4`
- API 响应记录:`storage/demos/latest_demo_response.json`
## 设计选择
- 当前环境没有显示器会话也没有可立即使用的浏览器自动化库Playwright 下载耗时异常,因此改用系统已有 Chrome headless 和 OpenCV 合成可复现演示。
- 演示视频不提交到 git避免仓库体积快速膨胀脚本提交任何时候都能重新录制。

View File

@@ -0,0 +1,25 @@
# 测试方案
开始时间2026-05-18-17-55-29
## 测试步骤
1. 服务健康检查:
- `curl -s http://127.0.0.1:8001/api/health`
2. 演示视频录制:
- `python3 scripts/record_demo.py`
3. 视频文件校验:
- `ls -lh storage/demos/isiseg_usage_demo.mp4`
- `ffprobe -v error -show_entries format=duration,size -of default=noprint_wrappers=1 storage/demos/isiseg_usage_demo.mp4`
4. 自动化回归:
- `pytest -q`
## 执行结果
- 健康检查:通过,返回 `{"status":"ok","service":"ISISeg","version":"0.1.0"}`
- 演示视频录制:通过,生成 `storage/demos/isiseg_usage_demo.mp4`
- 视频校验:通过,文件大小约 3.4 MB时长 21 秒。
- 自动化回归通过4 个测试全部通过。

View File

@@ -33,3 +33,15 @@ B. 产生问题原因:时序差分在无前帧时退化为 Hessian融合投
C. 解决问题方案:融合模式统一使用两票通过,低响应时才回退到一票;同时将边缘形态学改成暗线候选约束下的边缘检测。
D. 后续如何避免问题:视频算法要单独检查首帧、丢帧和单图退化路径;融合策略必须记录每个子方法的置信约束。
## 2026-05-18-17-55-29 运行确认与演示视频录制
### 1. Playwright 安装下载卡住
A. 具体问题:尝试安装 `playwright==1.55.0` 用于浏览器录屏时pip 长时间停留在大型 wheel 下载阶段,没有继续输出。
B. 产生问题原因Playwright 包体积较大,当前网络下载速度或连接稳定性不足;继续等待会影响本次“确保可运行”的收口。
C. 解决问题方案:终止该安装进程,改用系统已有 `google-chrome --headless` 截取首页,并使用当前已安装的 OpenCV 将真实页面截图和真实 API 分割结果合成为演示 mp4。
D. 后续如何避免问题:演示录制优先复用本机已有工具;只有确实需要完整浏览器交互录屏时,再单独安装 Playwright 并预留下载时间。

View File

@@ -0,0 +1,21 @@
# 需求分析
开始时间2026-05-18-17-55-29
## 用户目标
在第一版导丝分割 Web 系统完成后,进一步确认系统最终一定能够运行,并生成一段使用演示视频,方便后续查看或展示系统操作流程。
## 需求范围
- 复核当前服务是否仍在运行。
- 保留可重复执行的演示视频录制方式。
- 录制一段本地演示视频,素材必须来自当前系统真实页面和真实 API 分割结果。
- 完成后再次测试系统可用性,并提交到 Gitea 备份。
## 验收点
- `http://127.0.0.1:8001/api/health` 返回 `ok`
- `pytest -q` 通过。
- 存在演示视频 `storage/demos/isiseg_usage_demo.mp4`
- 演示脚本路径写入 README后续可重复录制。