

作为一名整天和数据打交道的程序员,我最近接到一个特别头疼的需求:要把动态生成的业务报表直接转成短视频发给客户。手动录屏肯定不现实,调研了一圈,发现 Remotion 这个神仙工具简直是开发者的福音!它能让我们像写 React 组件一样写视频。
很多哥们问我:这玩意儿只能在本地预览吗?能不能跑在服务器上实现自动化生产?经过几天的摸索,我成功把 Remotion服务端本地会员版 部署到了生产环境。今天就把这份 Remotion下载、安装与服务端使用教程 毫无保留地分享给大家。
直接上干货,Remotion 服务端核心依赖包获取地址:
npm install @remotion/renderer @remotion/lambda(官方开源库,建议配合 Node.js 18+ 环境使用)
常规的视频剪辑软件(如 PR、AE)很难和后端数据联动。而 Remotion 在服务端运行有三大核心优势:
Remotion 是一个基于 React 的视频编程框架。它的服务端版本主要依赖 @remotion/renderer。它不是简单的录屏,而是通过浏览器内核(Puppeteer)逐帧渲染 Canvas 或 DOM 元素,最后编码成 MP4 或 WebM 格式。
Remotion 是完全透明的开发工具,你可以直接通过 npm 或 yarn 在你的 Node.js 项目中引入。它是模块化设计的,如果你只需要服务端功能,安装对应的渲染器包即可,不需要把整个开发环境都搬上去。
确保你的服务器已经安装了 Node.js (推荐 v18 以上) 和 FFmpeg(这是视频合成的核心,必须安装)。
在你的后端项目中运行:
npm install @remotion/renderer puppeteer创建一个 render.mjs 文件,这是最基础的 Node.js API 调用方式:
import { bundle } from "@remotion/bundler";
import { renderMedia, selectComposition } from "@remotion/renderer";
import path from "path";
const start = async () => {
// 1. 将 React 项目打包成 Web 包
const bundleLocation = await bundle(path.resolve("./src/index.ts"));
// 2. 选择你要渲染的组件(Composition)
const composition = await selectComposition({
bundleLocation,
id: "MyVideo", // 对应你项目里的 ID
inputProps: { text: "这是动态生成的内容" }, // 传入动态数据
});
// 3. 执行渲染
await renderMedia({
composition,
bundleLocation,
outputLocation: "out/video.mp4",
codec: "h264",
});
console.log("视频渲染成功!");
};
start();如果你追求极致的速度,可以使用官方提供的 AWS Lambda 方案。它会把视频拆成几百份,分发给几百个云函数同时渲染,原本要跑 10 分钟的视频,1 分钟就能出片。
部署完成后,我通过简单的 REST API 就能触发渲染。
apt-get install fonts-noto-cjk。Remotion 的服务端方案非常成熟,无论你是想用自己的 Node.js 服务器“本地化”运行,还是想上云使用 AWS Lambda,都能找到对应的工具包。
再次提醒,核心开发资源获取:
npm install @remotion/renderernpm install @remotion/lambda 或 @remotion/cloudrun希望这篇分享能帮到正在苦恼视频自动化的同僚。如果大家在安装过程中遇到 GLIBC 报错或者 Puppeteer 无法启动的问题,欢迎在评论区留言交流!
想看我演示如何用 Docker 一键部署 Remotion 渲染服务吗?关注我,下期接着聊!