feat(video-pipeline): 实现 TTS 逐句分句生成与字幕精确对齐
TTS 阶段将长文本按标点切分为短句,逐句生成音频并记录每句时长到 `item.segments[]`。assemble 阶段优先使用 segments 的精确时长分配字幕时间线,无 segments 时回退到字数权重估算。同时优化音频上传流程,支持分段音频独立上传 OSS 并在配音时按段映射时间线。
This commit is contained in:
@@ -82,8 +82,9 @@ node scripts/pipeline.js validate --manifest <path>
|
||||
| `video` | 生成的视频路径 | videos |
|
||||
| `videoDuration` | 视频时长(秒),Grok=6, VEO=8 | videos |
|
||||
| `videoUrl` | 视频 OSS 公网 URL | videos |
|
||||
| `audio` | TTS 音频路径 | tts |
|
||||
| `audio` | TTS 音频路径(多句时为合并后的完整音频) | tts |
|
||||
| `audioDuration` | 音频时长(秒) | tts |
|
||||
| `segments` | 分句音频数组(仅多句时存在),见下方 | tts |
|
||||
|
||||
### Agent 审查时可操作
|
||||
|
||||
@@ -199,3 +200,17 @@ output/{account}_{YYYYMMDD}_{NNN}/
|
||||
```
|
||||
|
||||
slug 从 `shotDesc` 派生(slugify: 保留中文和字母数字,最多 20 字符)。
|
||||
|
||||
---
|
||||
|
||||
## segments[] 字段(TTS 分句)
|
||||
|
||||
TTS 阶段自动生成。仅当 `script` 被切分为 2 句及以上时才写入。单句时不写 segments。
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `text` | 分句文本(已去除标点) |
|
||||
| `audio` | 该句音频路径(相对 manifest) |
|
||||
| `duration` | 该句音频时长(秒) |
|
||||
|
||||
`item.audio` 指向所有分段合并后的完整音频,`item.audioDuration` 为各段累计时长。assemble 阶段优先用 `segments` 的精确时长对齐字幕,无 segments 时回退到字数权重估算。
|
||||
|
||||
Reference in New Issue
Block a user