Skip to main content

--gl flag

在 Remotion 中渲染视频时,可以选择不同的 GL 渲染后端。

以下是 Remotion 支持的渲染后端:

  • null - 默认值,让 Chrome 决定
  • angle
  • egl
  • swiftshader
  • vulkan (从 Remotion v4.0.41 开始)
  • angle-egl (从 Remotion v4.0.52 开始)
  • swangle - Lambda 上的默认值

推荐的渲染器

如果您使用 WebGL/Three.js:

  • 在桌面上,推荐使用 angle
  • 在带 GPU 的云实例上,推荐使用 angle-egl
  • 在 Lambda 上,使用 swangle (Lambda 上的默认值)
  • 在没有 GPU 的机器上,推荐使用 swangle。渲染可能会很慢。

如果您不使用 WebGL/Three.js,则默认渲染器(本地上的 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");
note

配置文件仅适用于 CLI 命令。

note

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.

另请参阅