项目概览
I’m Upping My P(doom) 包含使用 Claude Code 中的 Claude Opus 5.5 生成的音乐视频源代码。你可以在 YouTube 上观看已完成的《I’m Upping My P(doom)》音乐视频。
动画分两代制作。第一代使用 Medium 设置的 Claude Opus 5.5 创建,保存在 legacy/ 中。第二代构成了仓库的其余部分。
根据项目文档,仓库中的所有内容均由模型生成。创作方向仅限于使用 Clawd 角色设计,并为每句歌词配上有趣的视觉效果和转场。没有指定任何单独的场景创意。
动画工作原理
视频分为九个章节,每个章节对应一个源文件。画面使用 p5.js 和 p5.brush 在浏览器页面中绘制。Node.js 渲染脚本会在无头 Chrome 中打开该页面,捕获画面帧,并使用 ffmpeg 将其与随附的音轨编码。
重要文件和目录
src/ch/包含九个章节文件。src/包含 Clawd、客串角色、道具、歌词和时间线的共享代码。studio.html是使用 p5.js 和 p5.brush 绘制每一帧画面的页面。render.mjs通过无头 Chrome 渲染画面帧,并调用 ffmpeg 创建 MP4。assets/pdoom.mp3是随附的歌曲文件。STORYBOARD.md包含模型生成的逐镜头计划。ANIMATION_GUIDE.md包含为并行子代理编写的风格与编码指南。legacy/保存项目的第一代版本。
前置要求
渲染视频前,请安装以下工具:
- Node.js,用于安装依赖并运行
render.mjs。 - Google Chrome,用于在无头浏览器中绘制画面帧。
- ffmpeg,用于将渲染后的画面帧和歌曲合成为 MP4。
确保可以从命令行使用 Node.js 和 ffmpeg。除非你计划显式提供 Chrome 的路径,否则应将 Chrome 安装在 Windows 默认位置。
安装项目
在仓库根目录打开终端并安装 Node.js 依赖:
npm install仓库已包含 assets/pdoom.mp3 中的歌曲,因此按照文档中的流程无需下载单独的音频文件。
渲染动画帧
使用文档指定的画面帧范围和四个工作进程运行渲染脚本:
node render.mjs --frames=0:156.6 --workers=4该命令会将视频画面帧绘制到 out/frames 中。画面帧渲染过程支持断点续作,这很有用,因为生成完整的音乐视频可能需要一些时间。
--workers=4 选项将命令配置为使用四个渲染工作进程。如果更改此值,请根据计算机的可用资源选择合适的工作进程数量。
编码最终 MP4
渲染完画面帧后,将其与随附的歌曲合并:
node render.mjs --encode --out=out/pdoom.mp4该命令使用 ffmpeg 合并渲染后的画面帧和音频,然后将完成的视频写入 out/pdoom.mp4。
使用自定义 Chrome 路径
如果 Chrome 未安装在 Windows 默认路径,请在渲染命令中添加 --chrome 选项:
node render.mjs --frames=0:156.6 --workers=4 --chrome=<path to chrome>将 <path to chrome> 替换为 Chrome 可执行文件的路径。
探索并修改制作内容
从分镜脚本开始
修改场景前请阅读 STORYBOARD.md。它描述了第一代制作完成后创建的逐镜头计划,当时 Claude 被要求使用 P5 笔刷笔触、让每个场景在视觉上保持趣味,并将每个场景过渡到下一个场景。
遵循动画指南
将 ANIMATION_GUIDE.md 作为项目的风格和实现参考。Claude Opus 编写此文件是为了向其并行运行的子代理提供说明,因此它是维护各章节文件一致性时最相关的指南。
独立编辑章节
src/ch/ 中的九个文件将视频划分为易于管理的部分。修改视频的特定部分时,请先确定其所属章节,然后查阅 src/ 下共享的时间线、歌词、角色和道具代码。
比较两代版本
legacy/ 目录提供了第一代生成版本。将其与当前源代码进行比较,有助于了解第二代制作过程中视觉方向、P5 笔刷笔触指南和场景转场的演变。
高级工作流提示
- 保留可恢复的输出:由于渲染后的帧会写入
out/frames,且该流程支持恢复,请勿在继续中断的渲染任务时删除该目录。 - 将渲染与编码分开:先完成帧生成命令,再运行编码命令。这样可以更轻松地恢复耗时的帧渲染,而无需不必要地重复最终编码步骤。
- 进行大范围更改前检查共享代码:角色、道具、歌词和时间线行为都在
src/下共享。其中的更改可能会影响多个章节。 - 其他项目使用更新的基础:作者推荐将 ClaudeAnimationBase 作为使用 Claude Opus 5.5 创建新 Claude 动画时更可靠、更通用的基础。
致谢与参考
该项目的灵感来自 X 上的一篇帖子。README 中指出,据作者所能确定,这首歌出自 2024 年的一段 YouTube 视频。
结语
该仓库既提供了完成的生成式动画,也完整展示了由模型创建的制作结构。安装 Node.js、Chrome 和 ffmpeg 后,你可以渲染帧、为包含的音频编码、查看分镜脚本和动画指南,并探索九个 p5.js 章节如何组合成最终的音乐视频。
