2026-06-09 Remotion 全片音频字幕 BGM 复盘
入档:2026-06-09 项目:Skill Is All You Need / Remotion 全片草稿 性质:Eleven 分段旁白 + Suno 双 BGM + Remotion 全片时间线复盘
事实记录
- 项目名称:Skill Is All You Need
- 工程位置:
07_skill存档/remotion - 主 Composition:
SkillIsAllYouNeedFullFilm - 本轮收口版本:
07_skill存档/remotion/out/full-film-20260609-voiceover-subtitle-fixed-draft.mp4 - 当前规格:1920x1080 / 30fps / 6765 frames / 约 225.50s
- 旁白结构:53 个 Eleven beat,写入
public/audio/full_film_20260609/voiceover.manifest.json - BGM 结构:Suno 两首成品拼接,
Open Bench负责开场与教学段,Night Workshop Manifesto负责作者的话与片尾 - 验证结果:
npm.cmd run typecheck通过;npx.cmd remotion compositions src/index.ts通过;MP4 渲染成功,含 H.264 视频流与 AAC 音频流 - 已知遗留问题:旧全片动画仍带有“先估动画、后做口播”的历史错位,本轮只修音频、字幕、BGM 和存档,未重做全部 motion timing
作品回顾
这次推进的目标,不是直接做最终发布版,而是把原先的教学片段扩展成一条完整视频草稿:前半段讲 Skill,后半段加入作者的话、工具链声明、开源态度和片尾署名。
执行过程大致分成四步:
- 先把文稿拆成 53 个可独立生成的旁白 beat;
- 用 Eleven 生成分段 MP3,再读取真实 duration 反推 Remotion 全片 timing;
- 用 Suno 生成并挑选两条配乐,再把完整音乐当素材库取片段使用;
- 修正字幕与口播不一致、多音字/英文标识朗读异常、BGM 过于平铺等问题。
最终产物是一个可审听的全片草稿,但还不是正式发布版。它的价值在于暴露了正式生产顺序应该如何调整。
问题一:字幕和口播不能分叉
本轮一开始延续了早期小片段的做法:用 ttsText 给 Eleven,再用 caption 做字幕。这个结构本身没错,但如果没有严格约束,很容易出现两种分叉:
- TTS 里有
[curious]、[calm]这类控制标签,字幕里没有; - 画面或字幕保留
SKILL_INDEX,但口播为了避免 Eleven 崩坏改成“技能索引”。
用户明确提出“字幕和口播要完全统一”后,最终规则收束为:
字幕 = 实际口播文本
画面标签 = 可以保留技术名词
也就是说,画面卡片可以显示 SKILL_INDEX,因为它是视觉技术名词;但底部字幕和 Eleven 实际读出来的句子必须统一为“技能索引像图书馆索引。”
方法论:逐字字幕优先于摘要字幕
核心:知识解释视频里,字幕首先是听觉校验层,不是二次摘要层。
来源:本次 SKILL_INDEX 朗读异常和情绪标签残留。
验证状态:二次验证。2026-06-08 正式小片段 v3 已出现同类问题,本次全片再次出现。
操作规则:
- 第一版
caption必须等于实际ttsText。 - 不要在
ttsText中写 Eleven 可能读出来的控制标签。 - 如果需要摘要字幕,必须另设字段,并标注为“非逐字字幕”。
- 技术英文名词可以留在画面元素里,但不要强迫 TTS 朗读。
边界:MV、情绪短片、无旁白视觉诗可以做意译字幕;但教程 / 解释 / 口播视频不适合。
问题二:BGM 不是整首歌铺底
两首 Suno 成品都可用,但如果直接从 0 秒铺到对应段落,会出现两个问题:
- 成品 intro / outro 可能不是最适合旁白的部分;
- 一首歌从头铺到底容易变成通用背景,失去结构变化。
本轮最后采用的做法是把 Suno 输出当作“素材库”:
Open Bench从 10 秒开始取用,跳过前奏铺垫,直接进入稳定推进段;Night Workshop Manifesto从 5 秒开始取用,更快进入作者话需要的夜间工作室 / 宣言感;- 在作者话开始前做约 3 秒交叉淡入淡出。
方法论:Suno 成品要二次剪辑
核心:Suno 生成的是音乐素材,不是自动适配成片结构的最终配乐。
来源:本轮两首 BGM 都喜欢,但直接使用完整版会显得平铺。
验证状态:首次发现。此前已有 Suno 两阶段 brief 经验,但“成品入 Remotion 前必须剪辑取段”是本轮明确化。
操作规则:
- 先听整首,标记稳定段、上升段、过强高潮、尾奏;
- 旁白段优先取稳定段,不要取 intro / outro 的功能性铺垫;
- 作者话、转场、片尾可以换第二首或第二段,避免听觉疲劳;
- BGM 进入点要跟随真实旁白 timing,不要写死绝对帧。
边界:如果视频是 MV 或音乐主导内容,音乐结构可以反过来决定画面;但本片是旁白主导,音乐只能服务时间线。
问题三:动画时长不能靠估算
这次全片草稿仍保留了历史问题:早期 sceneSpecs 和 motion timing 是按估算时长写的,后续才生成真实旁白音频。结果是口播节奏变准了,但部分动画动作还停留在旧估算时间上。
本轮没有强行修全部动画,因为在旧结构上逐段硬调会制造新错位。更正确的处理方式是把它记录为正式版制作顺序问题。
方法论:旁白驱动视频必须音频先行
核心:知识解释视频的主时间轴是声音,不是画面。
来源:本轮全片草稿暴露出 motion timing 与真实旁白时长的错位。
验证状态:二次验证。2026-06-08 小片段复盘已经得出“Eleven v3 前置”规则,本次全片再次验证。
操作规则:
- 先定稿文稿;
- 按 beat 生成 Eleven 分段音频;
- 读取每段真实 duration;
- 用真实 duration 反推 scene duration、caption timing 和 motion timing;
- 再做 MJ / Seedance / Remotion 动画;
- 最后接入 Suno BGM 并按成片结构剪辑。
边界:纯视觉 demo 可以先做动画;但只要视频是旁白解释型,动画就必须服从音频。
下次改进
下一轮不要在当前旧全片草稿上继续局部修补,而应该把当前草稿当成“声音与文稿锁定版”,进入正式重排:
- 以
fullFilmVoiceoverTiming.ts为时间真相; - 按真实 beat duration 重写 sceneSpecs 的 duration 与 motion;
- 重新决定哪些段落需要 MJ / Seedance,哪些段落 Remotion 原生足够;
- BGM 继续保留双曲拼接,但音量和取段点随新版动画节奏微调。
如何使用
做下一条 Remotion 旁白解释视频前,先检查这四项:
- 字幕是否逐字等于实际口播?
- 技术名词是否会被 TTS 误读?如果会,是否已经改成中文读法?
- 动画时长是否来自真实音频,而不是手工估算?
- Suno BGM 是否经过剪辑取段,而不是整首铺底?