Skip to main content

--gl 标志

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

🌐 When rendering a video in Remotion, different GL renderer backends can be selected.

Remotion 支持以下渲染器后端:

🌐 The following renderer backends are supported in Remotion:

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

🌐 Recommended renderers

如果你使用 WebGL/Three.js:

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

如果你不使用 WebGL/Three.js,默认的渲染器(本地为 null,Lambda 上为 swangle)是最佳选择。

使用GPU

🌐 Using the GPU

在 GPU 对渲染可能有帮助的情况下,通常使用 angle 渲染器(在 Linux 上为 angle-egl)是有意义的。关于何时以及如何使用它的详细说明请参见 这篇文章

⚠️ 内存泄漏是 angle 的已知问题。我们建议在渲染大型视频时,将长的渲染拆分成多个部分,因为有时渲染可能会因内存泄漏而失败。

目前,当使用 angle 时,GitHub Actions 会失败,因为 Actions 运行器没有 GPU。

选择渲染器后端

🌐 Selecting the renderer backend

渲染器后端可以通过不同方式设置:

🌐 The renderer backend can be set in different ways:

通过 Node.JS API

🌐 Via Node.JS APIs

getCompositions()renderStill()renderMedia()renderFrames()getCompositionsOnLambda()renderStillOnLambda()renderMediaOnLambda() 中,你可以通过 chromiumOptions.gl

🌐 In getCompositions(), renderStill(), renderMedia(), renderFrames(), getCompositionsOnLambda(), renderStillOnLambda() and renderMediaOnLambda(), you can pass chromiumOptions.gl.

通过配置文件

🌐 Via Config file


Config.setChromiumOpenGlRenderer("angle");
note

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

note

v3.3.39 之前,该选项被称为 Config.Puppeteer.setChromiumOpenGlRenderer()

通过命令行标志

🌐 Via CLI flag

在以下命令之一中传递 --gl=[angle,swangle,...]remotion renderremotion compositionsremotion stillremotion lambda renderremotion lambda stillremotion lambda compositions

🌐 Pass --gl=[angle,swangle,...] in one of the following commands: remotion render, remotion compositions, remotion still, remotion lambda render, remotion lambda still, remotion lambda compositions.

另请参阅

🌐 See also