跳到主要内容
AI教程

渲染 Claude 生成的《“我正在提高我的 P(doom)”》音乐视频

了解这个由 Claude Opus 5.5 生成的动画项目如何组织,安装其依赖项,通过无头 Chrome 渲染帧,并使用 ffmpeg 将帧与随附歌曲合并。

渲染 Claude 生成的《“我正在提高我的 P(doom)”》音乐视频

项目概览

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 章节如何组合成最终的音乐视频。