在传统的视频创作流程中,我们习惯了 Adobe Premiere 的剪辑轨道或 After Effects 的关键帧。然而,当我们需要大规模生成数千个个性化视频(如年度账单视频)时,传统软件的“人工干预”属性便成了效率瓶颈。
Remotion 彻底打破了这一疆界。它是一个基于 React 的开源框架,其核心逻辑非常纯粹:既然 React 可以通过状态驱动 UI,那么它同样可以通过帧(Frame)驱动视频内容。
通过 Remotion,视频不再是死板的像素堆叠,而是由 CSS、Canvas、SVG 和 WebGL 构建的动态组件。这意味着,任何前端开发者都能无缝跨界,成为一名“视频工程师”。

useCurrentFrame 钩子,你可以实现极其复杂的动效。Remotion 的安装和上手门槛极低,只要你熟悉 Node.js 即可。
1. 初始化项目:
npx create-video@latest my-video
cd my-video
npm start
执行后,浏览器会弹出一个预览窗口,展示默认的组合示例。
2. 核心概念:Composition(组合)在 Remotion 中,一切始于 Composition。你需要定义视频的分辨率、帧率(FPS)和持续时间。
下面是一个典型的 Remotion 组件。我们通过 interpolate 函数实现随时间变化的透明度动画:
import { interpolate, useCurrentFrame, useVideoConfig } from 'remotion';
export const MyVideoTitle: React.FC<{ text: string }> = ({ text }) => {
const frame = useCurrentFrame(); // 获取当前是第几帧
const { fps } = useVideoConfig(); // 获取视频配置
// 计算透明度:在 0-30 帧内,透明度从 0 变为 1
const opacity = interpolate(frame, [0, 30], [0, 1], {
extrapolateRight: 'clamp',
});
return (
<div style={{
flex: 1,
justifyContent: 'center',
alignItems: 'center',
display: 'flex',
fontSize: 80,
backgroundColor: 'white'
}}>
<div style={{ opacity }}>{text}</div>
</div>
);
};
这段代码展示了 Remotion 的精髓:数学驱动视觉。通过简单的函数映射,你可以精准定义物体在任意时刻的状态。
| 上手难度 | |||
| 动态性 | 极强(组件化逻辑处理) | ||
| 实时预览 | 支持(浏览器原生渲染) | ||
| 扩展性 | 无限(整个 Web 生态) |
Remotion 的绝杀点在于: 它填补了“视觉美观”与“高度自动化”之间的空白。FFMPEG 虽然强大但难以实现复杂的视觉设计,而 AE 虽然美观但难以处理海量动态数据。
Remotion 的出现,标志着视频制作从“手工作坊”向“自动化工厂”的转型。对于开发者而言,它开启了无数可能:
如果你是一名 React 开发者,或者正在寻找高效生成视频的方案,Remotion 绝对是不容错过的宝藏项目。它不仅仅是一个框架,更是一种全新的创作语言。
项目地址:https://github.com/remotion-dev/remotion
这个公众号发布过的历史 开源项目,如果你懒得翻文章一个个找,你直接关注微信公众号:AI牛马自救指南 ,后台对话聊天就行。