Initial lip-sync service with command backend

This commit is contained in:
cat-shark
2026-06-20 17:16:11 +08:00
commit 8c6a222c38
25 changed files with 1226 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
# 开发任务清单
## Phase 0:联调基线
- [x] 创建独立 Gradio 服务项目。
- [x] 提供 `/process_single` 接口。
- [x] 提供 `ffmpeg_mux` 链路验证后端。
- [x] 提供 PowerShell 启动脚本。
- [x] 提供 Gradio client 测试脚本。
- [ ] 在本机安装依赖并启动服务。
- [ ] 使用一段真实音频和视频跑通 `scripts/test-client.ps1`
- [ ]`aIzhinengti/scripts/digital_human_process.py` 跑通主项目调用链路。
## Phase 1:真实模型接入
- [ ] 选择第一版真实后端:建议先做 Wav2Lip 或 MuseTalk。
- [ ] 准备模型目录,但不提交权重。
- [x] 写好 `LIPSYNC_COMMAND_TEMPLATE` 示例。
- [ ] 确认模型推理脚本可以消费 `{audio}``{video}``{output}`
- [ ] 将输出统一为 mp4。
- [x] 在失败时把 stderr 末尾写进错误信息。
- [ ] 记录一次成功推理的命令、耗时、显存占用。
## Phase 2:专用后端封装
- [ ]`backends.py` 拆分为后端包,例如 `backends/command.py``backends/ffmpeg.py`
- [ ] 新增后端注册表,避免 `if/else` 持续膨胀。
- [ ] 为 Wav2Lip/MuseTalk/LstmSync 添加专用配置项。
- [ ] 支持模型预热或健康检查。
- [ ] 支持并发限制和队列状态说明。
## Phase 3:工程化
- [ ] 增加结构化日志。
- [ ] 增加输出目录清理策略。
- [ ] 增加临时工作目录清理策略。
- [ ] 增加 `GET /health` 或 Gradio 旁路健康检查服务。
- [ ] 增加端口占用提示。
- [ ] 增加 Windows 防火墙/局域网部署说明。
## Phase 4:测试与验收
- [ ] 增加单元测试:输入 payload 规范化。
- [ ] 增加单元测试:后端命令模板渲染。
- [ ] 增加集成测试:`copy_video``ffmpeg_mux`
- [ ] 增加主项目兼容性测试说明。
- [ ] 建立一套测试素材路径约定,但不提交大视频。
## Phase 5:可选增强
- [ ] 增加字幕输出。
- [ ] 增加脸部检测失败诊断。
- [ ] 增加音画同步偏移参数。
- [ ] 增加分辨率/码率/批大小参数。
- [ ] 增加 Web UI 中的高级参数面板。