Skip to content

解决了长视频生成速度慢和实时进度的问题

Choose a tag to compare

@yxyusage yxyusage released this 19 Oct 01:55
· 3 commits to main since this release
fix(whisper): 长视频「进度卡住」——真实转写进度 + 转写提速 + 前端不再假装进度 (v1.8.13)

问题
- 用户反映 1 小时左右的视频笔记生成"卡住",进度一直不动

根因(实测)
1. 前端进度条在转写阶段用"已用时"估算且 Math.min(35,…) 封顶 35%:
   转写一开始就爬到 35%,之后永远不动 → 看起来就是卡死
2. 无字幕视频要走本地 faster-whisper,1 小时音频 CPU + beam_size=5 通常几十分钟,
   这期间后端只写一句静态文案,没有任何真实进度

修复
- _decode 逐段消费识别结果并回调 progress(已转写秒, 总秒);
  notes._run_generation 据此写「正在转写:12/60 分钟(20%)」(节流:每 20 秒或每 5%)
- 前端:能解析真实百分比就用它;转写/下模型等无法估算的阶段隐藏进度条,
  显示「⏳ 已用时 3 分 20 秒 · 正在本地转写」
- beam_size 5 → 1(CPU 快 2-3 倍,讲课音频差异很小),可用 whisper_beam 设置改回 5
- 生成中提示文案说明"无字幕视频要走本地转写,1 小时可能要几十分钟"

说明
- 有字幕的视频走大模型分段,长视频几分钟;截断时 v1.8.9 起会明确报「输出被截断」
- 无字幕视频慢在本地 CPU 转写,与用哪个大模型无关

验证
- 新增 test_whisper_hf.py::test_transcription_progress_is_plumbed
- 13 个测试文件全 PASS;前端构建通过
- 版本号 1.8.12 → 1.8.13