Communitygithub.com

Acim24/motion-video-audio

创建带有完整音轨的动态图形视频(MP4),采用平静的编辑风格,类似AI模型发布影片(如Claude Opus 5),支持AI配音、原创合成音乐、UI音效、自动音量处理,并渲染为16:9和9:16格式。

motion-video-audio 是什么?

该技能用于生成带有完整音轨的发布类动态图形视频,适用于产品发布、预告、解释视频等场景。它支持AI语音旁白(通过edge-tts,包括印尼语)、原创合成背景音乐(从代码生成,免版税)、UI音效同步,并自动完成音乐闪避和响度标准化(−14 LUFS / −1.5 dBTP)。工作流程包括:理解需求、创建项目脚手架、编写故事板(支持标题、聊天演示、基准柱状图、数字统计、特性卡片、Logo结尾等场景)、构建音频、视觉和音频QA、最终渲染。所有内容集中在单个`src/storyboard.ts`文件中,支持Remotion渲染到MP4。该技能在用户需要带音频、旁白或社交媒体视频时优先于无声的动态图形技能使用。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Acim24/motion-video-skills/tree/HEAD

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

动态视频(含音频,发布影片风格)

将需求转化为完成且经过母带处理的MP4:发布影片视觉(暖色纸张效果、大号衬线标题、一个陶土色强调色、聊天演示自动打字、显示获胜者的柱状图、安静的Logo结尾)加上完整的音轨:

  • 旁白 — 每个场景可选的旁白行,通过edge-tts合成。场景会根据旁白自动调整尺寸。
  • 音乐 — 根据精确时间线合成的原创环境配乐(铺垫、低音、钢琴琶音、柔和脉动、渐强、以及在Logo帧处的解析性打击)。由于由代码生成,因此免版税。也可以使用用户自己的音轨。
  • 音效 — 剪辑时的嗖声、单词/柱状图上的滴答声、回复输入时的打字声、获胜柱状图上的提示音、计数器滴答声、Logo上的冲击+闪光声。这些音效放置在场景组件内部,因此能自动保持同步。
  • 混音 — 音乐在旁白下自动闪避;最终文件标准化至−14 LUFS / −1.5 dBTP(社交媒体/YouTube目标)。

所有内容都位于单个文件 src/storyboard.ts 中。

工作流程

  1. 理解需求。 获取:品牌/产品名称、需要记住的一个核心信息、2–5个支持点、真实数字(如有)、目标时长、平台、旁白语言和声音性别。如果用户提供了足够信息,不要反复盘问;陈述你的假设。永远不要将虚构的基准数据呈现为真实数据——使用带有明显标记的占位符(footnote)或跳过基准场景。

  2. 创建脚手架。

    bash <skill-dir>/scripts/new_project.sh <目标目录>
    

    需要 Node 18+、ffmpeg 以及在 PATH 上的 edge-tts(pipx install edge-tts),并且需要有互联网连接以获取旁白。首先用 which edge-tts ffmpeg 检查;如果 edge-tts 缺失且无法安装,则在不含旁白的情况下构建视频,并告知用户。

  3. 编写故事板。 阅读 references/style-guide.md(视觉节奏、文案、配方)和 references/audio.md(旁白编写、声音、音乐/音效/混音设置)。场景类型(字段见 src/types.ts):

    类型用途
    headline动态文字:开场、章节标题、结束语。*单词* = 强调斜体
    chatUI 演示:提示 → 思考点 → 输入回复(带打字声音)
    benchmark水平柱状图,其中一根 highlight: true 的柱状图(落下时提示音)
    bigNumber一个向上计数的大数字(计数器滴答声 + 冲击音)
    features2–4 个带编号的能力卡片(每张卡片弹出)
    logo结尾:绘制的标志或 logoSrc、名称、标语、行动号召(音乐冲击在此处落地)

    每个场景:可选的 vo、可选的 durationInFrames(30 fps;如果有旁白则省略此字段以自动适配)、可选的 tone: 'light' | 'dark'。logo 场景不要设置 vo——让音乐冲击有喘息空间。

  4. 构建音频 — 这一步也会固定最终时间线:

    cd <目标目录> && npm run audio
    

    阅读打印出的时间线:每个场景的起始时间、长度、旁白长度,以及“(已拉伸以适配旁白)”警告。如果某个场景被拉伸过多,请缩短其旁白——长旁白会导致场景变得缓慢和沉闷。

  5. 视觉 QA(检查静帧很快,渲染则不然):

    npx tsc --noEmit
    bash <skill-dir>/scripts/contact_sheet.sh <目标目录> Main-16x9 /路径/宽幅联系表.png
    bash <skill-dir>/scripts/contact_sheet.sh <目标目录> Main-9x16 /路径/竖幅联系表.png
    

    检查生成的 PNG 图片;修复溢出、拥挤、每场景超过一个强调色的情况。

  6. 音频 QA — 渲染后,检查响度并查看混音:

    ffmpeg -i out/video-16x9.mp4 -af ebur128=peak=true -f null - 2>&1 | grep -E "I:|Peak:"
    ffmpeg -y -i out/video-16x9.mp4 -filter_complex "showwavespic=s=1800x300" -frames:v 1 /路径/波形图.png
    

    预期 I ≈ −14 LUFS,峰值 ≤ −1 dBFS,旁白部分明显高于背景音乐,并且在 Logo 处出现最大的音浪。

  7. 渲染(依次运行 audio → 两种格式 → 母带处理):

    npm run render     # → out/video-16x9.mp4, out/video-9x16.mp4
    

    约 30 秒的视频 ≈ 1–2 分钟。报告文件路径、时长、使用的语音,并提示可使用 npm run studio 进行带声音的实时预览。

自定义

  • 品牌颜色/字体:仅修改 src/theme.ts 中的令牌。
  • Logo:文件放在 public/ 中,设置 logoSrc: 'logo.svg'。
  • 自有音乐:文件放在 public/ 中,设置 audio.music: 'track.mp3'(仅限用户拥有版权的音轨)。用户自己录制的旁白:参见 references/audio.md。
  • 新的场景类型/格式/编解码器:参见 references/extending.md。

品牌与诚信防护栏

模仿风格,而非品牌:不要复制 Anthropic(或任何人)的 Logo,也不要将视频呈现为用户不代表之公司的官方发布。合成语音不得模仿任何真实、可识别的人物。基准数据:使用用户的真实数据或带有明显标记的示意性数据。

相关技能