mv-production-standard

v2026.09.24

MV production standard — end-to-end music video creation workflow

GitHub
安装命令
npx skhub add aaaaqwq/mv-production-standard
Markdown
SKILL.md

MV Production Standard Skill

AI MV 制作标准流程 — 每一步都有明确产出,不允许跳步。

触发条件

用户要求制作/生成/合成 MV、音乐视频、music video,或任何"给这首歌配视频"的需求。


铁律(违反 = P0 事故)

#铁律说明
1音频版本必须确认用户指定的版本,不许自作主张换版本。如果用户说"用那个长的",就问清楚是哪个。
2视频时长视频时长必须与指定音频版本一致(可略长 ≤2s,不可短)。
3歌词字幕必须有歌词字幕烧录,且对齐到歌曲时间轴。不允许交付无字幕的 MV。
4口型对齐如果有人物/歌手画面,必须做 lip-sync。不允许人物张嘴但没声音或声音不同步。
5不允许假视频Ken Burns / 静态图推拉不算视频。如果预算/工具不允许生成真视频,必须提前告知用户并取得同意。

完整流程

Phase 1: 素材确认

目标: 锁定所有输入素材,避免后期返工。

步骤:

  1. 确认音频版本

    • 列出所有可用音频版本(文件名、时长、大小)
    • 直接问用户:"有 v1(270s), v2(274s), v3(236s) 三个版本,你要用哪个?"
    • 等用户明确回复后再继续
    • 记录选择的版本到工作日志
  2. 获取歌词

    • 确认歌词来源(用户提供 / 网上查找)
    • 获取带时间轴的歌词(LRC/SRT),或准备好手动打轴
    • 如果没有时间轴歌词,在 Phase 3 补上
  3. 确认风格与分镜需求

    • 问用户:需要什么风格?(动画/真人/混合)
    • 是否有人物出镜?→ 决定是否需要 lip-sync
    • 大致场景数量和主题
  4. 确认输出规格

    • 分辨率(1080p / 4K)
    • 格式(MP4 / MOV)
    • 是否需要硬字幕 / 软字幕

产出文件:

output/{project-name}/
├── config.json          # 素材确认记录(音频版本、歌词路径、输出规格)
├── audio/               # 指定版本的音频文件
└── lyrics/              # 歌词文件(纯文本 + LRC/SRT)

关键检查:

  • 用户已明确指定音频版本
  • 歌词文件已获取
  • 是否有人物出镜已确认

Phase 2: 分镜 → 视频(AI生成或实拍)

目标: 为每个场景生成视频素材。

步骤:

  1. 编写分镜脚本

    • 根据歌词内容和歌曲结构划分场景
    • 每个场景指定:起止时间、画面描述、运动方式、是否有人物
    • 输出: storyboard.json 或 storyboard.md
  2. 生成/获取视频素材

    • AI生成: 使用 Kling / Runway / Pika 等工具
      • 每个 clip 建议 5-10s
      • 有人物说话的场景标记为需要 lip-sync(Phase 6 处理)
    • 实拍: 如果用户提供实拍素材,直接使用
    • ⚠️ 禁止: 不允许用 Ken Burns(静态图推拉)冒充视频。如果用户明确同意"用图片做过渡"则可以,但必须在分镜中标注
  3. 素材质量检查

    • 每个 clip 检查分辨率、时长、画面质量
    • 剔除模糊、闪烁、明显错误的 clip

产出文件:

output/{project-name}/
├── storyboard.md        # 分镜脚本
├── clips/               # 各场景视频片段
│   ├── scene01.mp4
│   ├── scene02.mp4
│   └── ...
└── storyboards/         # 分镜图片(如有)

关键检查:

  • 所有场景都有对应的视频素材(非静态图)
  • 总视频素材时长 ≥ 音频时长
  • 有人物的场景已标记

Phase 3: 音频分析(beat / section / 歌词时间轴)

目标: 分析音频结构,建立时间轴。

步骤:

  1. 节拍分析

    • 使用 av-sync-workflow 或音频分析工具
    • 提取 BPM、beat 时间点
    • 标记歌曲段落:前奏 / 主歌 / 副歌 / 桥段 / 尾奏
    • 输出: beats.json
  2. 歌词时间轴对齐

    • 使用 lyrics-video-sync 工具
    • 如果有 LRC 文件,解析时间轴
    • 如果没有,手动/半自动打轴:听歌标记每句歌词的起止时间
    • 每句歌词精确到 0.1s
    • 输出: lyrics.srt 或 lyrics.ass
  3. 节拍-画面映射

    • 将分镜场景对齐到歌曲段落
    • 关键节拍(副歌起拍、鼓点)对应画面转场
    • 输出: sync-plan.json(每个转场点的时间 + 对应场景)

产出文件:

output/{project-name}/
├── beats.json           # 节拍时间点
├── sections.json        # 歌曲段落划分
├── lyrics.srt           # 带时间轴的歌词
└── sync-plan.json       # 节拍-画面同步计划

关键检查:

  • 歌词时间轴已对齐(听一遍确认每句歌词时间正确)
  • 节拍点已提取
  • 场景-段落映射已建立

Phase 4: 音视频同步(卡点对齐)

目标: 视频片段精确对齐到歌曲节拍和段落。

步骤:

  1. 根据 sync-plan.json 剪辑视频片段

    • 按节拍点调整每个场景的起止时间
    • 副歌前的场景在鼓点处切换
    • 长段落(主歌)可根据内容细分
  2. 转场处理

    • 场景间使用交叉淡化(crossfade),默认 0.5-1s
    • 禁止硬切(除非用户要求或艺术效果需要)
    • 副歌进入时可使用更剧烈的转场(闪白、缩放)
  3. 时长校准

    • 如果素材过长:减速或裁剪
    • 如果素材过短:使用时间拉伸 / 补充素材
    • 确保: 总视频时长 ≥ 音频时长
  4. 粗合成(无字幕)

    • 将所有剪辑后的片段拼接成时间线
    • 铺上指定版本的音频
    • 输出: draft_v1.mp4(粗剪版,不含字幕)

产出文件:

output/{project-name}/
├── timeline.json        # 最终时间线(每个片段的起止时间)
├── transitions.json     # 转场设置
└── video/
    └── draft_v1.mp4     # 粗剪版(含音频,无字幕)

关键检查:

  • 视频总时长 ≥ 音频时长(误差 <2s)
  • 关键节拍有对应的画面变化
  • 转场流畅,无明显硬切
  • 草稿版看起来节奏感正确

Phase 5: 歌词字幕(SRT/ASS + 烧录)

目标: 生成精确对齐的字幕并烧录到视频。

步骤:

  1. 字幕文件准备

    • 使用 Phase 3 产出的 lyrics.srt
    • 如果使用 ASS 格式,设置样式:
      • 字体大小、颜色、描边
      • 位置(底部居中或随画面调整)
      • 动画效果(淡入淡出、逐字显示等)
  2. 字幕时间轴校验

    • 在视频播放器中加载字幕,逐句确认对齐
    • 重点检查:歌词换气处、副歌重复段落
    • 修正偏移量
  3. 烧录字幕到视频

    • 使用 ffmpeg 烧录:
      ffmpeg -i draft_v1.mp4 \
        -vf "subtitles=lyrics.ass:force_style='FontSize=24'" \
        -c:a copy \
        draft_v2_with_subtitles.mp4
      
    • 或使用 video-lyrics-subtitle skill

产出文件:

output/{project-name}/
├── lyrics.ass           # 带样式的字幕文件
└── video/
    └── draft_v2_with_subtitles.mp4

关键检查:

  • 字幕时间轴与音频精确对齐
  • 字幕样式美观、可读
  • 无遗漏歌词
  • 烧录后视频质量无明显下降

Phase 6: Lip-sync(人物口型对齐)

目标: 人物画面中口型与歌曲同步。

⚠️ 仅当有人物出镜时需要此阶段。

步骤:

  1. 标记需要 lip-sync 的场景

    • 从 storyboard 中找出有人物说话/唱歌的片段
    • 确认这些片段的时间范围
  2. 使用 digital-human-api 进行口型对齐

    • 输入: 视频片段 + 对应时间段的音频
    • 生成: 口型对齐后的视频片段
    • 如果工具不可用,使用替代方案:
      • Wav2Lip / SadTalker 等开源工具
      • 或重新用 AI 视频生成工具生成带口型的片段
  3. 替换原片段

    • 将 lip-sync 后的片段替换回时间线
    • 检查拼接处是否平滑

产出文件:

output/{project-name}/
├── clips_synced/        # 口型对齐后的片段
│   ├── scene08_synced.mp4
│   └── scene09_synced.mp4
└── video/
    └── draft_v3_lipsynced.mp4

关键检查:

  • 人物口型与歌词匹配
  • 口型过渡自然(不卡顿、不扭曲)
  • 替换后时间线无偏移

Phase 7: 最终合成 + 质量检查

目标: 输出最终 MV,通过全部质量检查。

步骤:

  1. 最终合成

    • 整合所有阶段产出
    • 确认音频为用户指定版本
    • 添加片头/片尾(如需要)
    • 输出: final_mv.mp4
  2. 质量检查清单(全部通过才能交付):

    #检查项通过标准
    1音频版本= 用户指定版本(文件名、时长都匹配)
    2视频时长≥ 音频时长,误差 <2s
    3歌词字幕已烧录,时间轴正确,无遗漏
    4口型对齐有人物场景口型已同步(如适用)
    5转场场景切换流畅,无硬切
    6音画同步关键节拍有对应画面变化
    7画质无明显压缩伪影,分辨率符合要求
    8总体观感连续看完一遍,主观感受流畅
  3. 生成交付包

    output/{project-name}/deliver/
    ├── final_mv.mp4           # 最终MV
    ├── lyrics.srt             # 外挂字幕(可选)
    ├── lyrics.ass             # ASS字幕(可选)
    ├── config.json            # 素材配置记录
    └── README.md              # 制作说明
    

产出文件:

output/{project-name}/deliver/
└── final_mv.mp4         # 最终交付文件

目录结构标准

output/{project-name}/
├── config.json              # Phase 1: 素材确认
├── audio/                   # Phase 1: 音频文件
│   └── {version}.mp3
├── lyrics/                  # Phase 1: 歌词
│   ├── lyrics.txt
│   └── lyrics.srt
├── storyboard.md            # Phase 2: 分镜
├── clips/                   # Phase 2: 视频素材
├── beats.json               # Phase 3: 节拍
├── sections.json            # Phase 3: 段落
├── sync-plan.json           # Phase 3: 同步计划
├── timeline.json            # Phase 4: 时间线
├── transitions.json         # Phase 4: 转场
├── clips_synced/            # Phase 6: 口型对齐片段
├── video/                   # 各阶段视频产出
│   ├── draft_v1.mp4         # Phase 4: 粗剪
│   ├── draft_v2_with_subtitles.mp4  # Phase 5: 加字幕
│   ├── draft_v3_lipsynced.mp4       # Phase 6: 加口型
│   └── final_mv.mp4         # Phase 7: 最终版
└── deliver/                 # 交付包
    └── final_mv.mp4

常见问题

Q: 用户没有指定音频版本怎么办?

A: 停下来问。 列出所有版本和时长,等用户回复。绝不自作主张。

Q: 工具不足以完成某个 Phase 怎么办?

A: 诚实告知用户。 说明缺少什么工具、有什么替代方案、需要多少额外时间/成本。不要偷工减料。

Q: 时间紧迫,可以跳过某些步骤吗?

A: 可以,但必须告知用户跳过了什么、影响是什么。 让用户做权衡决策。默认不可跳过 Phase 1(素材确认)和 Phase 7(质量检查)。

Q: Ken Burns 效果什么时候可以用?

A: 仅当用户明确同意用图片过渡时使用。 且必须在分镜中标注为"静态图过渡"。不能把静态图当真视频交付。


相关 Skills

Skill用途
av-sync-workflow音视频同步、节拍对齐
lyrics-video-sync歌词时间轴对齐
video-lyrics-subtitle字幕烧录
digital-human-apiLip-sync 口型对齐
mv-generatorMV 管线集成

版本历史

版本日期说明
1.02026-04-12初始版本,基于《樱花落尽时》MV 制作教训总结
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/mv-production-standard

默认分支

main

最新提交

b996aac

Tree SHA

07e787b