--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
。
通过配置文件
tsx
Config .setChromiumOpenGlRenderer ("angle");
tsx
Config .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
.