# D144 · 视频AI系统管线开发日

> HLDP://video-ai-system/experience/D144-PIPELINE-DEV
> 类型: 经验记录 · 管线开发
> 创建: D144 · 2026-06-23
> 铸渊 ICE-GL-ZY001 · 冰朔 TCS-0002∞
> 国作登字-2026-A-00037559

---

## 今日完成

### 1. SVG→PNG 渲染工具 ✅
- **文件**: `video-ai-system/tools/svg-to-png.py`
- **功能**: CairoSVG渲染，支持单文件/批量SVG→PNG转换
- **依赖**: `pip install cairosvg Pillow` + `brew install cairo`
- **解决**: FFmpeg无SVG解码器的问题
- **测试**: 已用test.svg测试通过（400px宽度渲染成功）

### 2. 配音管线（TTS Engine）✅
- **文件**: `video-ai-system/engines/tts-engine.py`
- **引擎**: Edge-TTS（免费·中文语音质量好）
- **功能**: 支持多角色音色配置，Agent可直接调用
- **测试**: 已成功生成苏白配音（`zh-CN-XiaoxiaoNeural`）
- **角色音色**: 苏白/诸葛风/萧灵汐/王执事 已配置默认音色

### 3. 字幕渲染管线 ⚠️
- **文件**: `video-ai-system/engines/subtitle-renderer.py`
- **功能**: SRT字幕→PNG序列渲染
- **状态**: PNG渲染已完成，FFmpeg合成到视频的部分待完善
- **依赖**: `pip install pysrt cairosvg Pillow`

### 4. 人格体操作模式设计 ✅
- **文件**: `video-ai-system/docs/PERSONA-OPERATION-MODE.hdlp`
- **核心理念**: 人格体操作"意图"，工具链自动执行
- **架构**: 剧本→人格体（理解意图·翻译）→系统提示词→工具链自动执行→生成结果
- **目的**: 让Codex理解架构，知道缺什么、需要什么

### 5. 项目导航更新 ✅
- **文件**: `video-ai-system/ENTRY.hdlp`
- **更新**: 工具链增加 `tts-engine.py` 和 `subtitle-renderer.py` 条目

---

## 关键认知

### 1. API是裸的，啥都得自己拼
- 视频生成API（即梦/Seedance、可灵等）只干一件事：输入提示词+参考图→输出视频文件
- 配音/台词/口型/字幕都是独立管线，必须自己开发集成
- **不是bug，是架构现实** — 接受它，然后自己搭

### 2. 人格体适合操作"意图"而不是工具
- 人格体擅长理解剧本情绪（"燃""悲伤""搞笑"）
- 工具链擅长执行（MusicGen/Edge-TTS不懂中文情绪，但懂英文提示词）
- **中间层翻译** — 人格体把"燃·战斗"翻译成"epic orchestral battle music, intense"
- **自动调用** — 翻译完自动触发工具链，人格体不用管FFmpeg命令

### 3. 开源方案不花钱也能做
- 配音: Edge-TTS（免费·中文语音质量好）
- BGM生成: MusicGen（Meta开源·文本生成音乐）
- 字幕: CairoSVG渲染PNG序列 + FFmpeg合成
- 音频混音: FFmpeg（免费）
- **不需要付费API** — 开源工具链完全能搭出来

---

## 遗留问题

### 1. 思源笔记访问问题 ❌
- **现象**: 主页"思源笔记"卡片点了跳回首页，URL路径 `https://guanghubingshuo.com/siyuan/` 返回401 Auth failed
- **原因**: 可能是Nginx反代配置问题，或思源笔记的`networkServe`设置未生效
- **处理**: 明天继续排查

### 2. 字幕管线FFmpeg合成待完善 ⚠️
- **现状**: PNG序列已能渲染，但FFmpeg合成到视频的部分逻辑不完整
- **方案**: 需要重建FFmpeg with `drawtext` filter，或优化PNG叠加方案
- **优先级**: 中（等Codex测试完配音管线后再做）

### 3. BGM生成管线待开发 ❌
- **需求**: 人格体用自然语言描述情绪/场景，自动生成对应BGM
- **方案**: MusicGen（Meta开源）— 文本生成音乐，本地GPU跑
- **优先级**: 高（第一阶段商用需要）

### 4. 音频混音管线待开发 ❌
- **需求**: 把配音+BGM+音效合成到视频中
- **方案**: FFmpeg混流，对齐视频时间轴
- **优先级**: 高（第一阶段商用需要）

---

## 明天计划（Codex测试）

### 第一步：测试配音管线 ✅
```bash
# 测试苏白配音
python engines/tts-engine.py --text "未来的天下第一宗！" --character "苏白" --output test-audio/su-bai-001.mp3

# 测试批量生成（从SRT）
python engines/tts-engine.py --srt data/ep01-subtitles.srt --output-dir test-audio/ --character "苏白"
```

### 第二步：测试SVG→PNG渲染 ✅
```bash
# 测试SVG渲染
python tools/svg-to-png.py test-input/test.svg test-output/test.png --width 1920

# 批量渲染
python tools/svg-to-png.py ./svg-dir/ ./png-dir/ --batch --scale 2
```

### 第三步：报告缺失管线 ❌
- 测试完可用管线后，报告哪些管线缺失
- 冰朔带回给铸渊，开发对应接口

---

## 经验迭代

### D144新增经验
1. **API裸奔现实** — 视频AI系统需要自己拼所有管线，不能依赖API提供完整解决方案
2. **人格体操作意图** — 人格体不直接操作工具，而是操作"意图"，工具链自动执行
3. **开源不花钱** — Edge-TTS/MusicGen/CairoSVG都是免费开源方案，完全能搭出商用级管线
4. **情绪映射表** — 中文情绪词需要映射到英文提示词，这是人格体的核心工作之一

### 下次改进
1. **BGM生成管线** — 明天根据Codex反馈，优先开发`bgm-generator.py`
2. **音频混音管线** — 同步开发`audio-mixer.py`，完成音频部分闭环
3. **思源笔记问题** — 明天排查Nginx反代配置，解决401 Auth failed

---

## 文件路径

```
video-ai-system/
├── docs/
│   └── PERSONA-OPERATION-MODE.hdlp  ← 人格体操作模式设计文档
├── engines/
│   ├── tts-engine.py                 ← ✅ 配音引擎
│   ├── subtitle-renderer.py         ← ⚠️ 字幕渲染引擎
│   ├── bgm-generator.py              ← ❌ 待开发
│   └── audio-mixer.py               ← ❌ 待开发
├── tools/
│   └── svg-to-png.py               ← ✅ SVG渲染工具
└── ENTRY.hdlp                     ← 项目导航（已更新）
```

---

铸渊 ICE-GL-ZY001 · D144 · 2026-06-23
冰朔 TCS-0002∞ · 国作登字-2026-A-00037559
