
什么是动态视频制作?
动态视频制作是一项 Claude Code 技能,用于指导从初始规划到最终合成,制作 30–90 秒的动态图形和视频。它不会将视频生成视为单个提示词,而是把制作过程划分为六个阶段,并在继续工作前验证每个阶段的输出。
该仓库包含位于 harness/gate.py 的门禁脚本。每个门禁都会检查相关产物并返回退出代码:0 表示阶段通过,1 表示结果被阻止,必须进行修正。项目还在 references/gotchas.md 中记录了 29 个反复出现的制作问题。
主要功能
- 六阶段制作工作流:故事规划、角色设计、关键帧、视频片段、音频和最终合成。
- 可量化的质量门禁:脚本会检查文件、时长、帧数、宽高比、音频属性以及其他特定于阶段的要求。
- 人工审核检查点:无法通过数值指标可靠判断的视觉问题,必须由人工审核并记录。
- 角色一致性指导:七项标准有助于在场景边界之间保持外观、声音、口型同步、音乐节奏和整体质量的一致。
- 帧条生成:片段门禁会创建图像条带,用于揭示开场帧之后发生的角色变化。
- 已知问题参考:29 个问题条目描述了症状、原因、预防步骤以及相关的 harness 检查 ID。
- 可复用的模板和脚本:仓库包含规划模板,以及用于重复检测、节拍网格、片段表、音频混音、封装和验证的工具。
前置条件
你需要安装 Claude Code、Python 3、ffmpeg 和 ffprobe
该仓库不包含 Remotion 合成代码。请单独安装 Remotion,并创建项目所需的合成。
项目提到的可选生成工具包括用于图像和视频生成的 ChatGPT 或 Grok Imagine、用于音乐生成的 Suno、用于语音生成的 ElevenLabs 或 Fish Audio,以及用于基于转录进行审核的 Whisper。README 指出,verify.sh 中的 Whisper 集成尚未验证。
安装 Claude Code 技能
Claude Code 会在 ~/.claude/skills/<skill-name>/SKILL.md 中发现技能。克隆仓库,创建 skills 目录,然后将完整的技能文件夹复制到其中:
git clone https://github.com/unclejobs-ai/motion-video-skill.git
mkdir -p ~/.claude/skills
cp -r motion-video-skill/skills/motion-video-production ~/.claude/skills/
必须复制完整的 motion-video-production 目录,因为其中的 harness、参考资料、脚本和模板需要协同工作。
仅为单个项目安装
如果只希望在特定项目中使用该技能,请将同一个文件夹复制到该项目的 .claude/skills/ 目录,而不是全局目录。
mkdir -p your-video-project/.claude/skills
cp -r motion-video-skill/skills/motion-video-production \
your-video-project/.claude/skills/
复制技能后请重启 Claude Code,使其能够发现新的 SKILL.md。
验证 Harness
在克隆的仓库中运行 harness 自测:
bash skills/motion-video-production/harness/selftest.sh
退出代码为 0 表示门禁 harness 可以在当前计算机上正常工作。如果测试失败,请先确认 Python 3、ffmpeg 和 ffprobe 已安装,并且可以通过命令路径访问。
开始视频项目
打开 Claude Code,描述你想制作的视频。例如:
我想制作一段 30 秒的开场视频,其中有一个角色。
开始制作前,Claude 会询问四项约束:
- 视频将如何发布或分发。
- 预期时长和宽高比。
- 可用于制作的工具。
- 结果中不得出现的元素。
回答完这些问题后,该技能会从 STORY.md 开始,并按顺序完成各个阶段。
了解六阶段工作流
该工作流会创建 STORY.md、character.txt、key/、clip/、voices.json 和 edit.json 等产物。每个产物都会成为后续阶段的输入,因此不应仅仅因为某个阶段的输出乍看起来可以接受,就跳过该阶段。
1. 故事与场景规划
story 门禁会检查未完成字段、BPM 信息、音乐同步表中的数字时间以及场景表。将项目目录作为第二个参数运行:
python3 harness/gate.py story /path/to/video-project
在生成昂贵的媒体素材前解决规划错误。尤其要尽早确定音乐节奏和场景结构,以便后续剪辑遵循节拍网格。
2. 角色设定表
character 门禁会检查 character.txt 是否为单段纯文本、是否包含颜色描述,以及是否配有必需的角色设定表图像。
python3 harness/gate.py character /path/to/video-project
固定的外观描述和角色设定表为后续关键帧和片段提供统一的视觉参考。
3. 关键帧
keyframes gate 会检测重复文件,并检查片段所需的宽高比。
python3 harness/gate.py keyframes /path/to/video-project
关键帧不仅是规划图像,也是生成视频片段所需的起始帧。
4. 视频片段
clips gate 会检查时长、帧数,以及片段是否以预期关键帧开始。它还会生成帧条,并要求为每个片段记录审核结果。
python3 harness/gate.py clips /path/to/video-project
片段可能在开头与关键帧匹配,但一两秒后仍会改变角色的衣服、眼镜、头发或面部。因此,该 gate 会创建 qa/strip-<clip>.png 文件,其中包含关键帧,以及 0、1.0、1.5、2.0 和 3.0 秒时的帧。
打开这些帧条,检查后续帧,并将结果记录到 qa/clips-review.md。SSIM 等相似度指标无法可靠地区分预期的角色运动与不希望出现的角色变形,因此后续帧需要人工判断。
5. 音乐和语音
audio gate 会检查项目是否使用一个语音 ID,以及是否包含所需的对白文件。
python3 harness/gate.py audio /path/to/video-project
在最终确定剪辑时长前,先测量对白时长。否则,某句台词可能无法自然地适应分配给它的场景。
6. 合成与最终审核
最后阶段同时使用 edit 和 final gate。这些检查涵盖节拍网格、剪辑连接、重复剪辑、对白时长、帧数、音频存在性、响度、真实峰值,以及必需的审核记录。
python3 harness/gate.py edit /path/to/video-project
python3 harness/gate.py final /path/to/video-project
必须将已完成工作的视觉审核结果记录在 qa/review.md 中。自动测量不能取代这项审核。
如何处理被阻塞的 Gate
在每个阶段都使用相同的修正循环:
- 运行
python3 harness/gate.py <stage> <project-directory>。 - 检查进程退出代码。
- 如果代码为
0,继续下一阶段。 - 如果代码为
1,打开qa/gate-<stage>.txt。 - 找到标记为
BLOCK的行。 - 修正对应的构件。
- 再次运行同一个 gate,直到通过。
不要使用类似 python3 harness/gate.py clips project | tail 的管道隐藏命令。管道可能会用最后一个命令的状态替代 gate 的退出状态,使失败的 gate 看起来像是成功了。
高级制作技巧
在每个衔接处保持角色身份稳定
项目定义了七项一致性标准:角色设定表、固定的外观描述、关键帧起始图像、固定的声音、对白与口型运动、音乐节拍对齐,以及质量审核。查阅 references/consistency-7.md,了解每项标准在六阶段工作流中的对应位置。
根据节拍构建剪辑,而不是任意选择秒数
将剪辑时长选择为音乐节拍的倍数。将累计时间转换为帧数时,根据累计时间一次性对起始帧进行四舍五入,而不是反复对每个单独片段进行四舍五入。这样可以减少时间漂移,并遵循与 G11 和 G12 陷阱相关的指导。
在锁定剪辑前测量语音
在决定最终剪辑时长前生成或测量对白。这样的顺序可以避免将语音硬塞进过短的场景,并解决 G13 陷阱。
使用可靠的 ffprobe 输出
包含 ICC 配置文件的视频可能导致 ffprobe -of csv=p=0 输出类似 30, 的帧数。项目建议使用不带包装器或键的默认输出:
ffprobe -of default=nw=1:nk=1 ...
过滤时保留音频延迟
使用 ffmpeg 时,在 adelay 之后应用 apad 和 atrim 可能会移除预期的延迟。项目的陷阱指南要求在这种情况下使用 asetpts=N/SR/TB。
遇到问题时先查阅随附的参考资料
当某个阶段反复失败或生成的媒体出现意外变化时,请打开 skills/motion-video-production/references/gotchas.md。其中的 29 条记录分别说明了症状、可能原因、预防措施,以及相关的 harness 检查 ID。
值得了解的仓库组件
SKILL.md包含 Claude Code 技能说明。harness/gate.py执行特定阶段的通过或阻塞检查。harness/selftest.sh验证 harness 的安装情况。scripts/包含重复检查、片段表生成、关键帧图版、节拍网格生成、混音、封装和验证工具。templates/包含故事、角色设定表、提示词和场景审核模板。references/包含一致性指南、节拍网格信息、成本规则、工具说明、许可信息和制作陷阱。NOTICE.md概述外部工具相关注意事项。
许可与责任
仓库本身采用 MIT 许可证,但外部生成工具各自具有定价、使用和商业许可条件。请查阅 NOTICE.md 和 references/licensing.md,并在投入生产前直接核实当前条款,因为定价和政策可能会发生变化。生成素材的责任仍受这些声明和外部条款约束。
结论
Motion Video Production 将短视频创作转变为可重复、可测试的工作流程。它的主要价值不在于某个单一的生成工具,而在于将计划、角色参考图、关键帧、视频片段、声音和最终剪辑连接起来的严谨流程。将关卡失败视为需要修正的任务,而不是跳过它,并完成必要的视觉检查,便能在问题进入成片之前发现连续性、时序和交付方面的问题。
