跳到主要内容用 AI 制作专业科普视频:Remotion 实战指南 | 极客日志TypeScriptNode.jsAI大前端
用 AI 制作专业科普视频:Remotion 实战指南
利用 Remotion 框架结合 AI 技术实现科普视频自动化生产。流程涵盖环境配置、脚本拆解、TTS 配音、React 组件编写至最终渲染。支持克隆声音、动态字幕及数据动画,解决无素材、无预算下的视频制作难题。提供从触发指令到故障排查的完整方案,适用于技术文档可视化、知识科普及营销演示场景。
RustyLab22 浏览 场景故事
周二下午三点,产品经理把一份 40 页的技术方案扔给你:
"这个太难懂了,能不能做成一个 5 分钟的讲解视频?下周客户演示用。"
你打开了剪映……又关上了。没有素材,没有旁白,更没有时间。
然后你打开 Claude Code,输入了一行话:
"帮我把这份技术方案做成 5 分钟的科普视频,需要配音和字幕。"
90 分钟后,一个带 AI 克隆配音、动态字幕、数据动画的 MP4 文件出现在你的桌面。
这就是 remotion-video skill 能做的事。
本文所有技巧均来自真实项目实战——用这套工具制作的《马斯克硅基帝国》科普视频,已发布在视频号,可扫码或点击预览效果:

图:深夜的工作站,左侧是代码,右侧是渲染中的视频——这就是 remotion-video skill 的工作方式
八格表单
1. 什么时候用?(触发时刻)
当你遇到以下任何一种情况,就该用这套工具:
内容类触发
- 有一篇文章/报告/方案,想变成"能讲给人听"的视频
- 需要解释一个抽象概念(算法、架构、商业逻辑)
- 想做一个 LinkedIn/B 站的知识型短视频
效率类触发
- 没时间/没预算请配音演员和剪辑师
- 需要批量生产同一模板的系列视频
- 视频内容经常更新,想要"改文字就能重新渲染"
质量类触发
- 对自己做的视频"总感觉差点意思"
- 想要和 Kurzgesagt / 3Blue1Brown 那种讲解风格靠近
一句话判断:只要你有"内容"但缺"视频执行力",这套工具就值得用。
2. 做出来是什么?给谁?(目标产出)
产出物清单
| 文件 | 规格 | 说明 |
|---|
out/video.mp4 | 1920×1080,H.264 | 可直接上传的成品视频 |
public/audio/*.mp3 | 32kbps,克隆声音 | 每个场景的配音音频 |
public/subtitles.srt | 标准字幕格式 | 自动同步的字幕文件 |
src/scenes/*.tsx | React 组件 | 可复用、可修改的场景代码 |
目标受众
- 内容创作者:做知识科普、行业解读视频
- 产品/技术人员:做方案讲解、功能演示视频
- :做课程讲解、概念可视化视频
教育工作者
营销团队:做产品宣传、案例故事视频不适合的场景:需要真人出镜的 Vlog、需要精细剪辑的综艺片段、时效性极强的新闻速报。
3. 需要准备什么?(输入清单)
- Markdown 文章(.md 文件)
- PDF 文档
- 一段文字描述(200 字以上)
✅ MiniMax 账号
- MINIMAX_API_KEY
- MINIMAX_VOICE_ID(克隆声音 ID)
- 👉 注册地址:https://www.minimax.io
- 费用参考:100 字 ≈ ¥0.01,一个 5 分钟视频约 ¥1-3
✅ 本地环境
- Node.js 18+(npx remotion 需要)
- Python 3.8+(音频生成脚本)
- ffmpeg(brew install ffmpeg)
⭐ 豆包/ARK API Key(AI 生成配图,更好看)
- 安静的环境,无背景噪音
- 正常语速,口齿清晰
- 任何内容都行(读一段文章即可)
上传到 MiniMax Audio → 等待 2-3 分钟 → 复制生成的 voice_id。
4. 怎么跟 AI 说?(系统提示词配置)
Claude 会主动问你:主题、时长、内容来源。你只需要回答就好。
帮我把这篇文章做成 5 分钟的科普视频:[粘贴文章内容或文件路径]
要求:
- 风格:教育科普(Kurzgesagt 风格)
- 时长:5 分钟左右
- 需要配音和字幕
用 remotion-video skill 制作视频,参数如下:
内容:[文件路径 or 文字描述]
时长:90 秒
风格:Educational(教育科普)
场景数量:6 个场景
配音:是(使用我的克隆声音)
字幕:是
配图:豆包 AI 生成概念图
特别注意:
- 每个场景聚焦一个核心概念
- 开场 15 秒内给出核心结论
- 数据用动画图表展示
分析内容 → 拆解场景 → 生成脚本 → TTS 配音 → 检测时长 → 编写 React 组件 → 生成字幕 → 预览确认 → 渲染输出 MP4
图:触发 skill 后,Claude 内部自动执行的 9 步流水线——你只需要在"预览确认"节点介入一次
5. 具体怎么操作?(步骤拆解)
export MINIMAX_API_KEY="your_key"
export MINIMAX_VOICE_ID="your_voice_id"
export ARK_API_KEY="your_ark_key"
brew install ffmpeg
在 Claude Code 中输入 /remotion-video,或者直接说明需求。
## 场景 1:开场钩子(0-15 秒)
[画面] 数据图表动画:从 0 增长到 1.25 万亿美元
[旁白] 2026 年 2 月,一笔史无前例的并购震动了科技界...
## 场景 2:背景介绍(15-35 秒)
[画面] SpaceX 和 xAI 的 Logo 并排出现,连接线动画
[旁白] SpaceX 和 xAI,一个造火箭,一个造智能...
你需要做的:检查内容准确性,确认场景数量合适,然后说"确认"或提出修改意见。
- TTS 配音生成(每个场景独立 MP3)
- 音频时长检测(ffprobe 精确到毫秒)
- React 场景组件编写
- 字幕文件生成
cd ~/remotion-projects/your-video
npm run dev
npx remotion render MyVideo out/video.mp4
渲染时间取决于视频长度。5 分钟视频大约需要 15-25 分钟渲染。
图:用户视角的 6 步操作流程——全程只有"确认脚本"这一个人工节点,其余全自动
6. 怎么算做完?(验收标准)
out/video.mp4 文件存在,可以正常播放
- 音频有声音,不是静音
- 字幕与旁白基本同步(误差 < 0.5 秒)
- 没有黑屏或白屏超过 2 秒的段落
- 开场 15 秒内出现核心信息
- 每个场景只讲一件事,信息不拥挤
- 画面与旁白内容一致(不打架)
- 数据有图表动画,不是只说数字
- 视觉风格统一(颜色、字体一致)
- 使用了克隆声音(自然度明显优于预设声音)
- 图片有 Ken Burns 动效(而非静止图片)
- 场景过渡有淡入淡出(不生硬切换)
- 结尾有总结 + 行动号召
快速自查方法:把视频静音看一遍(检查视觉),再只听声音不看画面(检查旁白)。两遍都觉得"讲清楚了",就算合格。
7. 出错了怎么办?(失败排查)
图:左侧红区是最常踩的坑,右侧绿区是对应的正确写法——渲染黑图问题 90% 源自这里
❌ 问题 1:音频生成失败,报错 "invalid api key"
原因:使用了错误的 MiniMax API 域名。
curl https://api.minimax.chat/...
解决:检查 scripts/generate_audio.py 中的 API URL。
原因:使用了 CSS background-image 或 zIndex: -1。
<div style={{ backgroundImage: `url(${src})` }} />
<AbsoluteFill style={{ zIndex: -1 }}>
<Img src={src} />
</AbsoluteFill>
<AbsoluteFill>
<Img src={src} style={{ width: "100%", height: "100%", objectFit: "cover", opacity: 0.55 }} />
</AbsoluteFill>
原因:audioConfig.ts 中的帧数是手动输入的,与实际音频长度不符。
python3 scripts/detect_durations.py
原因:使用了 WebGL 但没有指定 OpenGL 引擎。
npx remotion render MyVideo out/video.mp4 --gl=angle
- 图片文件太大(单张超过 1MB)
- 多个 3D 场景同时渲染导致 WebGL 上下文溢出
- 每帧都在做重复计算
python3 -c "
from PIL import Image
img = Image.open('public/images/bg.jpg')
img.thumbnail((1920, 1080), Image.LANCZOS)
img.save('public/images/bg.jpg', quality=82)
"
npx remotion render MyVideo out/video.mp4 --concurrency=4
- 先检查报错信息(终端输出的最后几行)
- 用 npm run dev 在 Studio 里单独检查出问题的场景
- 看 public/audio/ 里的 MP3 是否都生成了
- 检查 src/audioConfig.ts 里的帧数是否合理(和音频时长对应)
8. 以后能自动吗?(升级路径)
- 你提供内容 → Claude 一步步执行 → 你确认脚本 → 自动渲染
- 适合偶尔制作,质量优先
如果你经常制作同类视频(比如每周做行业周报视频),可以建立自己的模板库:
cp src/scenes/DataScene.tsx ~/.claude/skills/remotion-video/templates/
结合 Claude Code hooks,可以实现:
fswatch ~/articles/ | xargs -I{} claude "把{}做成视频"
内容源(RSS/爬虫)→ 自动提取 → 脚本生成 → TTS 配音 → 视频渲染 → 自动上传 B 站/YouTube → 发布通知
- 一个内容获取脚本(Python)
- Claude API 调用(替代手动触发)
- 平台上传 API(B 站/YouTube 都有)
图:自动化升级路径——当前处于 Level 1,Level 4 的完全 Agent 化在技术上已经可行
Agent 化潜力评估
| 维度 | 评分 | 说明 |
|---|
| 输入标准化 | ★★★★☆ | Markdown/文字输入格式固定,易于自动化 |
| 执行可预测 | ★★★★☆ | 7 步流程清晰,失败点已知且可处理 |
| 输出可验证 | ★★★☆☆ | MP4 存在可验证,内容质量需人工判断 |
| 错误可恢复 | ★★★★☆ | 断点续作设计,单步失败不影响其他步骤 |
| 成本可控 | ★★★★★ | 5 分钟视频总成本 < ¥5(TTS + 图片生成) |
| 综合 Agent 化潜力 | ★★★★☆ | 适合作为 Content Pipeline 的核心节点 |
结论:当前 70% 的工作已经自动化,剩余 30% 是"脚本确认"这类需要人工判断的环节。如果对质量要求不那么苛刻,完全可以直接去掉这个人工环节,实现全自动。
💡 高手心法
很多人嫌配置克隆声音麻烦,直接用预设声音。结果视频做出来总感觉是"机器人在讲"。20 分钟配置克隆声音,能让所有后续视频都更专业。这个投入比值非常高。
90% 的视频质量差距来自脚本,不是动画。好的脚本特征:
- 开场 5 秒给出结论(不是铺垫)
- 每句话 ≤ 25 个字(TTS 断句自然)
- 用具体数字代替抽象描述
第一次做视频,不要追求完美。先用最简单的方式跑通全流程(哪怕动画很简陋),确认音画同步、字幕正常之后,再逐步优化每个场景的视觉效果。
图片背景透明度、遮罩层次总是调不好?有个简单方法:把图片放在画面左侧 40%,文字内容放在右侧 60%。图片 90% 不透明,内容 100% 可见,两者互不干扰。这个布局在大多数情况下比"透明背景"更好看。
不要每改一点代码就跑一次渲染(每次 20 分钟)。正确流程:
改代码 → npm run dev → Studio 里逐帧检查 → 满意了 → 一次渲染
Studio 预览和最终渲染效果 99% 一致。养成"Studio 先确认"的习惯,能节省大量时间。
每次生成效果好的 AI 图片,把提示词保存下来。建立自己的"提示词库":
~/prompts/
├── tech-background.txt
├── data-visualization.txt
└── minimalist-concept.txt
下次做视频直接复用,图片质量和风格一致性会大幅提升。
相关免费在线工具
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- 随机西班牙地址生成器
随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown转HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online