我用 Remotion 做了条视频工业化流水线
技术栈:Remotion 4.x + MiniMax TTS + Whisper
目录
背景
做视频内容的人都知道,从拿到脚本到最终出片,中间有大量重复工作:切音频、对画面、调转场。每一秒成片背后可能有好几倍的无效操作。
核心思路:把这些机械劳动全部自动化。只要脚本一定,视频自动生成,不用手动一帧帧去调。
整体架构
选题 → 脚本 → TTS音频 → 字幕时间戳 → 场景配置 → 视频渲染 → 成片
像一条流水线一样,上游产出驱动下游执行。每一环节的产出物自动成为下一环节的输入,全程无需人工干预。
第一步:脚本
脚本是整个流程的起点,也是唯一需要人工提供的原材料。
脚本结构
采用三段式结构:
| 段落 | 作用 | 字数范围 |
|---|---|---|
| 开头 | 抓注意力 | 40-60 字 |
| 中间 | 提供价值 | 100-140 字 |
| 结尾 | 引导行动 | 40-60 字 |
总字数控制在 180-220 字——太短表达不清,太长用户会跳过去。
脚本决定节奏
脚本不仅提供内容文本,还决定了视频的节奏:
- 哪里该快
- 哪里该停
- 哪里该强调
第二步:TTS 音频合成
拿到脚本后,第一件事是让它"开口说话"。
技术选型
使用 MiniMax 语音合成 API:
| 参数 | 设置值 | 说明 |
|---|---|---|
| 声音 | 固定女声 | 风格偏自然、适中 |
| 语速 | 0.9 倍 | 比正常稍慢,留出画面展示空间 |
输出
API 返回音频二进制数据,直接保存为 MP3 文件。这个文件就是视频的主音轨。
第三步:字幕时间戳
音频有了,但视频画面还需要知道"什么时候该出现什么内容"。
Whisper 识别
使用 Whisper 语音识别模型,精确识别音频里每个字的时间位置,精确到毫秒级别。输出的 VTT 字幕文件里,每个字对应一个时间点。
术语校正机制
问题:Whisper 对技术术语、人名等专有名词的识别容易出错。
解决方案:用原始脚本的文本作为参照,根据字数比例重新映射时间轴。
- ✅ 保留 Whisper 的时间精度
- ✅ 保证文字准确性
第四步:场景配置
有了字幕时间轴,下一步是把它转换成视频场景的配置。
什么是场景配置
告诉渲染引擎:
- 第 0 秒到第 3 秒:放什么内容、什么动画、什么效果
- 第 3 秒到第 6 秒:又是什么
场景类型
| 场景类型 | 视觉效果 | 适用场景 |
|---|---|---|
| Slam | Zoom-in 进场 + 青色光效 | 强调性内容 |
| Glitch | RGB 色彩分离 + 扫描线 | 科技感内容 |
| Circle | 圆形扩散动画 | 过渡或铺垫内容 |
每个场景有明确的开始帧和结束帧,以及该时间段内要显示的文字内容。
第五步:视频渲染
最后一步是真正的"生成"动作。
Remotion 登场
Remotion 是一个用 Web 技术做视频渲染的框架——可以理解为一个运行在代码里的视频播放器 + 渲染器。
核心工作方式
每个场景 = 独立的视觉组件
组件有自己的动画逻辑(出现时机、运动方式、消失时机)
帧率锁定 30FPS,确保时间轴精确对齐
输出规格
| 参数 | 值 |
|---|---|
| 竖屏尺寸 | 1080 x 1920 |
| 帧率 | 30 FPS |
| 格式 | MP4 |
渲染命令执行后,音频和画面自动合成,输出最终的 MP4 视频文件。
两套风格
为了适应不同内容类型,预设了两套视觉风格:
| 风格 | 特点 | 适用场景 |
|---|---|---|
| 场景叙事 | 强视觉冲击、动画丰富 | 故事型,知识型内容 |
| 爆款节奏 | 快速切换、情绪强烈 | 资讯型,热点型内容 |
两套风格共享同一套数据管道,只是视觉组件不同。
环境管理
流程中有两个关键变量:
| 变量 | 作用 |
|---|---|
ACTIVE_COMPOSITION | 指定用哪套视觉风格 |
DATA_FOLDER | 指定数据文件夹路径 |
这些变量在渲染开始前动态注入,确保同一套代码可以渲染不同选题的内容。
文件结构
每个选题对应一个独立的文件夹,所有中间产物都存在里面:
temp/{日期}_{选题}/
├── script.txt # 原始脚本
├── output.mp3 # 语音音频
├── output.vtt # 字幕时间轴
├── 场景配置.ts # 场景映射结果
└── 渲染产物.mp4 # 最终视频
独立文件夹的好处:每个选题的生产状态一目了然,不会互相干扰。
总结
这条流水线的本质是用工程化思维做视频生产。
以前一条视频从脚本到成片可能需要数小时的手工调整,现在变成了:
脚本进去 → 视频出来
中间的转换全部自动化
核心价值
| 价值 | 说明 |
|---|---|
| 一致性 | 所有视频遵循同一套视觉规范 |
| 效率 | 人工只需提供脚本,机器完成剩余全部工作 |
| 可控 | 所有产出物都在代码管理下,可追溯、可复现 |
| 扩展 | 新增视觉风格只需开发新的组件,不影响流程本身 |
这套方式特别适合需要稳定产出、风格统一的内容团队——比纯手工操作更可控,比模板化工具更灵活。