Video DNA Generator
把上游的 New Video DNA / 脚本 / Timeline 转换为实际视频工程并渲染 MP4。目标不是再写一份创意方案,而是尽可能完成从结构化内容到成片的最后一公里。
核心输入
优先级从高到低:
1. Video DNA Rewriter 输出的 New Video DNA JSON;
2. 含旁白、字幕、视觉方向和时间轴的制作方案;
3. 完整脚本 + 用户素材;
4. 仅完整脚本(需要先建立最小 Production Plan)。
如果用户已提供素材、旁白、BGM 或品牌资产,优先复用。不要要求用户重复提供上下文中已有的信息。
交付目标
默认最终交付:
- final.mp4:H.264 + AAC,适合主流短视频平台;
- project.json:机器可读制作工程;
- subtitles.srt:字幕文件;
- render-report.md:素材来源、渲染参数、缺失/降级项和质检结果。
若环境无法获得某类外部生成能力,不得假装已经生成。应继续完成能完成的步骤,并明确标记缺失资产;只有具备可渲染的音视频/图片资产后才声称输出了最终成片。
工作流
1. 规范化工程
读取 references/input-contract.md 和 schemas/video-project.schema.json,将输入整理成 project.json。
每个 scene 至少包含:
- start / end
- voiceover
- subtitle
- visual_direction
- asset(若已有)
2. 建立 Asset Plan
读取 references/asset-strategy.md。逐 scene 判断最合适的资产来源:
- 用户提供素材;
- 工作区已有素材;
- 当前 Agent 可调用的图片/视频生成能力;
- 可合法使用的素材搜索/下载能力;
- 最后才使用简洁的文字卡/纯背景作为降级方案。
禁止为了“复刻”直接搬运参考视频的受保护素材、独特人物形象或水印内容。优先生成/选择新的视觉资产。
3. 生成/准备旁白
若已有 voiceover audio,直接使用。
若当前环境具备 TTS 能力,根据 Production Plan 的 voice/tone/speed 生成旁白。
若没有 TTS 工具,不虚构音频文件;输出待生成的 voiceover-script.txt,并在报告中标记阻塞项。
4. 字幕
按 references/subtitle-guide.md:
- 以语义短语切分;
- 时间必须与 scene/timeline 一致;
- 默认输出 UTF-8 SRT;
- 关键字高亮若渲染环境不支持,降级为普通字幕,不影响交付。
5. BGM 与声音
- 用户提供 BGM 时优先使用;
- 未提供且无合法音乐生成/素材能力时,不擅自下载未知版权音乐;
- 可以无 BGM 渲染,报告中标记;
- BGM 必须低于旁白,避免遮蔽语音。
6. 渲染
优先使用打包脚本:
python "${CODEBUDDY_SKILL_DIR}/scripts/render_video.py" --project project.json --output final.mp4
脚本支持:
- 图片 scene → 自动缩放/裁切为目标画幅;
- 视频 scene → 截取/缩放/裁切;
- 无资产 scene → 生成安全降级背景;
- scene 串联;
- SRT 字幕烧录(环境支持 libass 时);
- voiceover + BGM 混音;
- H.264/AAC MP4 输出。
脚本不会生成 AI 图片、AI 视频或 TTS;这些属于 Agent 可用外部能力层。渲染脚本只负责确定性合成。
7. 质检
渲染后执行:
python "${CODEBUDDY_SKILL_DIR}/scripts/probe_video.py" final.mp4
并按 references/quality-check.md 检查:
- 文件可播放;
- 时长合理;
- 分辨率/画幅正确;
- 有旁白时音轨存在;
- 字幕没有明显超时;
- 无意黑帧/空白段;
- 素材与新主题一致。
8. 输出报告
使用 assets/templates/render-report-template.md 生成 render-report.md,列出:
- 输入与输出;
- 使用/缺失资产;
- 降级项;
- 渲染规格;
- 质检结果。
默认制作规格
用户未指定时:
- 画幅:9:16
- 分辨率:1080×1920
- FPS:30
- 视频编码:H.264
- 音频编码:AAC
- 音频采样率:48kHz
- 输出容器:MP4
降级策略
目标始终是“完成可交付成片”,但必须真实:
1. 缺单个视觉素材 → 使用相邻素材或文字卡降级;
2. 缺 BGM → 无 BGM 渲染;
3. 缺字幕烧录支持 → 保留独立 SRT;
4. 缺旁白且无 TTS → 不伪造成片完成;输出工程、字幕、旁白脚本和缺失项报告,等待音频后继续渲染;
5. FFmpeg 不可用 → 输出完整 project.json 和素材清单,不声称已生成 MP4。
原创与版权
复用 Video DNA 的结构机制,不复用参考视频的具体受保护素材。对用户提供的素材按用户授权使用;对外部素材记录来源。不要去除水印或规避版权标识。
资源索引
按需读取:
- references/input-contract.md
- references/asset-strategy.md
- references/subtitle-guide.md
- references/rendering-guide.md
- references/quality-check.md
- schemas/video-project.schema.json
- examples/minimal-project.json