264 lines
7.5 KiB
Plaintext
264 lines
7.5 KiB
Plaintext
# D144 · 视频AI系统8模块验收记录
|
||
|
||
> HLDP://video-ai-system/experience/D144-8-MODULE-VERIFICATION
|
||
> 日期: 2026-06-24
|
||
> 入口: 腾讯AI提交的 8 大模块工程验收
|
||
> 结论: 框架已进入仓库,但不能整体视为生产完成;需要按下方缺口继续补齐。
|
||
|
||
---
|
||
|
||
## 总结
|
||
|
||
```
|
||
overall_status: PARTIAL_PASS
|
||
production_ready: false
|
||
main_blockers:
|
||
- 主角资产包生成未真正接通图片生成适配器
|
||
- 口型同步依赖 Wav2Lip 未安装,不能解决“人物说台词”
|
||
- 多参考图能力未做真实付费验证,默认不能用于一致性承诺
|
||
- EP01 一键生产 CLI 仍读取占位台词,不满足“剧本怎么写就怎么拍”
|
||
- 字幕标准工具链仍需独立开发,不在本次8模块内完成
|
||
```
|
||
|
||
---
|
||
|
||
## 模块验收
|
||
|
||
### 1. CHAR-HERO-DESIGN-PACKER
|
||
|
||
```
|
||
status: NOT_READY
|
||
syntax: PASS_AFTER_FIX
|
||
production_ready: false
|
||
```
|
||
|
||
发现:
|
||
- 原代码直接导入不存在的 Python `image_api_adapter`,仓库当前只有 JS 图片适配器,启动即崩。
|
||
- 原代码会在资产不完整时把 `manifest.hdlp` 写成 `APPROVED`,会污染后续角色锁定。
|
||
- 原提示词带有未经剧本/资产锁确认的视觉默认值,例如白发、蓝眼、蓝袍、皮克斯风格,容易造成角色漂移。
|
||
|
||
已修:
|
||
- 图片适配器未接通时不崩溃,明确提示未生成。
|
||
- 只有 4/4 资产完整生成时才允许 `APPROVED`;否则为 `DRAFT_GENERATED`。
|
||
- 默认风格改为 3D国风漫剧,并要求服装来自角色资产清单,不得自由改色。
|
||
|
||
后续:
|
||
- 需要开发 Python 到现有 JS 图片适配器的桥接,或统一改成 Node CLI 调用。
|
||
- 需要把“主角辨识度设计稿/正侧全身/表情表/色彩锁”作为独立资产包生成和人工确认流程。
|
||
|
||
---
|
||
|
||
### 2. CHARACTER-DISTINCTIVENESS-QC
|
||
|
||
```
|
||
status: PARTIAL_PASS
|
||
syntax: PASS
|
||
report_output: PASS_AFTER_FIX
|
||
production_ready: false
|
||
```
|
||
|
||
实测:
|
||
- 输入 `video-ai-system/assets/references/EP01-P0/ref-char003-subai-plus-tdz-plaque.png`
|
||
- 输出 `/tmp/guanghulab-module-check/character-qc.json`
|
||
- 结果: `overall_score: 6.35/10`, `verdict: FAIL`
|
||
|
||
说明:
|
||
- 这个结论与编辑意见“主角太普通、像路人甲”一致。
|
||
- 当前算法是基础 OpenCV 分数,只能做第一层粗筛,不能替代人眼/多模型视觉评审。
|
||
|
||
已修:
|
||
- 增加 `--output`,允许质检报告落盘进入经验库。
|
||
|
||
后续:
|
||
- 接入图像理解模型做“主角感/路人感/记忆点”语义评分。
|
||
- 加入同镜头前后角色一致性对比,而不是只看单张图。
|
||
|
||
---
|
||
|
||
### 3. MULTI-REFERENCE-VIDEO-ADAPTER
|
||
|
||
```
|
||
status: GUARDED_NOT_VERIFIED
|
||
syntax: PASS
|
||
production_ready: false
|
||
```
|
||
|
||
发现:
|
||
- 原 `--check-api` 会直接提交真实视频生成请求,可能产生费用。
|
||
- 原代码只读仓库 `.env`,不读本机密钥文件。
|
||
- 多参考图未确认时自动回退单参考图,会误导牌匾/角色/场景一致性判断。
|
||
|
||
已修:
|
||
- 默认 `--check-api` 只做无付费预检。
|
||
- 只有显式传入 `--live-check` 才会提交真实 API 探测请求。
|
||
- 读取本机 `~/guanghulab-local-secrets/video-ai-system.env`。
|
||
- 多参考图未确认时不自动回退;只有显式 `--allow-single-reference-fallback` 才允许调试占位。
|
||
|
||
后续:
|
||
- 需要一次受控 live-check,确认 Seedance/豆包视频 API 是否真支持多参考图。
|
||
- 如果不支持,必须走“角色视频 + 牌匾/场景后期合成”的工程路线。
|
||
|
||
---
|
||
|
||
### 4. VOICE-EMOTION-COMPILER
|
||
|
||
```
|
||
status: PASS_FOR_TTS_PARAM_COMPILE
|
||
syntax: PASS_AFTER_FIX
|
||
production_ready: partial
|
||
```
|
||
|
||
发现:
|
||
- 原代码有语法错误。
|
||
- 原代码用普通 import 导入 `tts-engine.py`,文件名含连字符,无法导入。
|
||
|
||
已修并实测:
|
||
- 修复语法错误。
|
||
- 用动态导入接上 `tts-engine.py`。
|
||
- 实测生成苏白情绪配音 MP3 成功: `/tmp/guanghulab-module-check/subai-emotion.mp3`
|
||
|
||
后续:
|
||
- Edge-TTS 可做低成本测试,但商业成片建议继续 A/B 测豆包语音、火山语音或更适合角色对白的声音模型。
|
||
- 需要按角色建立“台词情绪标签 -> 音色/语速/音高/停顿”表。
|
||
|
||
---
|
||
|
||
### 5. LIPSYNC-ADAPTER
|
||
|
||
```
|
||
status: FAIL_DEPENDENCY_MISSING
|
||
syntax: PASS_AFTER_FIX
|
||
production_ready: false
|
||
```
|
||
|
||
发现:
|
||
- Wav2Lip 未安装。
|
||
- 原代码在 Wav2Lip 不可用时复制原视频并返回成功,会把“没做口型”伪装为“口型完成”。
|
||
|
||
已修:
|
||
- 默认无 Wav2Lip 时返回失败。
|
||
- 只有显式传入 `--allow-fallback-copy` 才允许复制原视频,并标记为调试占位。
|
||
|
||
实测:
|
||
- 当前返回失败: `Wav2Lip 不可用,未执行真实口型同步`
|
||
|
||
后续:
|
||
- 安装 Wav2Lip 或改接可商用口型/视频驱动 API。
|
||
- 需要口型 QC:音频峰值与嘴部开合是否同步,不能只看生成成功。
|
||
|
||
---
|
||
|
||
### 6. AUDIO-MIXER
|
||
|
||
```
|
||
status: BASIC_PASS
|
||
production_ready: partial
|
||
```
|
||
|
||
实测:
|
||
- 单音轨输出成功: `/tmp/guanghulab-module-check/mix-single.mp3`
|
||
|
||
缺口:
|
||
- 当前对白压低 BGM 是简化处理,不是真正精细侧链压缩。
|
||
- 需要对白优先、BGM 自动 ducking、响度标准、峰值保护、短视频平台响度目标。
|
||
|
||
后续:
|
||
- 开发基于 FFmpeg sidechaincompress / loudnorm 的商业混音预设。
|
||
- 输出混音 QC 报告:对白响度、BGM 响度、峰值、电平余量。
|
||
|
||
---
|
||
|
||
### 7. SHOT-QC-AUTOMATION
|
||
|
||
```
|
||
status: PARTIAL_PASS
|
||
syntax: PASS
|
||
production_ready: false
|
||
```
|
||
|
||
实测:
|
||
- 输入移动硬盘样片: `TEST-SUBTITLE-007-RUN002-REFERENCE-DRAMA.mp4`
|
||
- 输出 `/tmp/guanghulab-module-check/qc-after-fix.json`
|
||
- 结果: 检测到横屏 `1112x834`,失败原因 `竖屏比例错误`
|
||
|
||
已修:
|
||
- 原 CLI 失败时只显示 `Unknown error`;已改成输出真实失败项。
|
||
- 依赖清单补充 `numpy`, `opencv-python`, `requests`。
|
||
|
||
缺口:
|
||
- OCR 未安装,字幕/牌匾文字检查被跳过。
|
||
- 现代物品检测仍是 TODO。
|
||
- 换脸检查只是粗糙直方图,不足以判定角色一致性。
|
||
|
||
后续:
|
||
- 安装/配置 OCR。
|
||
- 接 YOLO 或视觉模型做现代物品、遮挡、文字、角色漂移检查。
|
||
|
||
---
|
||
|
||
### 8. EP01-SHOT03-PRODUCTION-CLI
|
||
|
||
```
|
||
status: DRY_RUN_ONLY
|
||
syntax: PASS
|
||
production_ready: false
|
||
```
|
||
|
||
实测:
|
||
- `--dry-run` 可执行完整步骤列表。
|
||
|
||
重大问题:
|
||
- 配置读取仍显示 `台词: 苏白原文台词`,不是剧本原文台词。
|
||
- 这不满足用户要求:剧本怎么写,就怎么拍;不能用占位台词进入生产。
|
||
|
||
后续:
|
||
- 必须接入剧本/分镜头源文件,逐字锁定台词。
|
||
- 每个镜头需要输出“剧本文本 -> 提示词 -> 画面 -> 配音 -> 字幕”的可追溯链路。
|
||
|
||
---
|
||
|
||
## 本次工程修复清单
|
||
|
||
```
|
||
fixed_files:
|
||
- engines/voice-emotion-compiler.py
|
||
- engines/char-hero-design-packer/char-hero-design-packer.py
|
||
- engines/character-distinctiveness-qc/character-distinctiveness-qc.py
|
||
- engines/lipsync-adapter.py
|
||
- engines/multi-reference-video-adapter.py
|
||
- engines/shot-qc-automation.py
|
||
- requirements-video-ai.txt
|
||
```
|
||
|
||
---
|
||
|
||
## 下一步优先级
|
||
|
||
```
|
||
P0:
|
||
- 字幕商业标准渲染工具链
|
||
- 真实口型同步方案
|
||
- 剧本原文锁定与 EP01 CLI 台词读取修复
|
||
- 主角资产包真实生成与人工确认
|
||
|
||
P1:
|
||
- 多参考图 live-check
|
||
- 角色一致性跨镜头 QC
|
||
- BGM/对白混音 loudness + ducking
|
||
|
||
P2:
|
||
- OCR/牌匾文字 QC
|
||
- 现代物品检测
|
||
- 成本账本与模型可用性检查
|
||
```
|
||
|
||
---
|
||
|
||
## 验收结论
|
||
|
||
```
|
||
腾讯AI这次提交的8个模块,不能按“全部开发完成”验收。
|
||
准确结论是: 工程骨架已建立,其中语音参数编译、基础混音、基础QC可继续用;
|
||
主角资产生成、多参考视频、口型同步、EP01一键生产仍是生产阻塞项。
|
||
```
|