--gl flag
在 Remotion 中渲染视频时,可以选择不同的 GL 渲染后端。
以下是 Remotion 支持的渲染后端:
null- 默认值,让 Chrome 决定-
angle -
egl -
swiftshader vulkan(从 Remotion v4.0.41 开始)angle-egl(从 Remotion v4.0.52 开始)swangle- Lambda 上的默认值
推荐的渲染器
- 在桌面上,推荐使用
angle - 在带 GPU 的云实例上,推荐使用
angle-egl - 在 Lambda 上,使用
swangle(Lambda 上的默认值) - 在没有 GPU 的机器上,推荐使用
swangle。渲染可能会很慢。
null,Lambda 上的 swangle)是最佳选择。
使用 GPU
在渲染时 GPU 可能有益的情况下,通常可以使用 angle 渲染器(Linux 上的 angle-egl)。关于何时以及如何使用它的深入解释,请参阅本文。
⚠️ angle 存在已知的内存泄漏问题。我们建议在渲染大型视频时将长时间渲染拆分为多个部分,因为有时渲染可能因内存泄漏而失败。
目前,使用 angle 时 GitHub Actions 将失败,因为 Actions 运行程序没有 GPU。
选择渲染后端
可以通过不同方式设置渲染后端:
通过 Node.JS API
在 getCompositions()、renderStill()、renderMedia()、renderFrames()、getCompositionsOnLambda()、renderStillOnLambda() 和 renderMediaOnLambda() 中,您可以传递 chromiumOptions.gl。
通过配置文件
tsxConfig .setChromiumOpenGlRenderer ("angle");
tsxConfig .setChromiumOpenGlRenderer ("angle");
配置文件仅适用于 CLI 命令。
在 v3.3.39 之前,该选项被称为 Config.Puppeteer.setChromiumOpenGlRenderer()。
通过 CLI 标志
在以下命令中之一中传递 --gl=[angle,swangle,...]:remotion render, remotion compositions, remotion still, remotion lambda render, remotion lambda still, remotion lambda compositions.