Skip to main content

Chromium flags

We allow you to set the following flags in Chromium and Google Chrome since Remotion 2.6.5:

--disable-web-security

This will most notably disable CORS among other security features.

note

Remotion will automatically append the --user-data-dir flag.

Via Node.JS APIs

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

Via CLI flag

Pass --disable-web-security in one of the following commands: remotion render, remotion still, remotion lambda render, remotion lambda still.

Via config file

Use setChromiumDisableWebSecurity().

tsx
Config.Puppeteer.setChromiumDisableWebSecurity(true);
tsx
Config.Puppeteer.setChromiumDisableWebSecurity(true);

--ignore-certificate-errors

Results in invalid SSL certificates, such as self-signed ones, being ignored.

Via Node.JS APIs

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

Via CLI flag

Pass --ignore-certificate-errors in one of the following commands: remotion render, remotion still, remotion lambda render, remotion lambda still.

Via config file

Use setChromiumIgnoreCertificateErrors().

tsx
Config.Puppeteer.setChromiumIgnoreCertificateErrors(true);
tsx
Config.Puppeteer.setChromiumIgnoreCertificateErrors(true);

--disable-headless

Setting this flag will open an actual Chrome during render where you can see the render happen.

Via Node.JS APIs

In getCompositions(), renderStill(), renderMedia() and renderFrames(), you can pass chromiumOptions.headless. You cannot set this option in Lambda.

Via CLI flag

Pass --disable-headless in one of the following commands: remotion render, remotion still.

Via config file

Use setChromiumHeadlessMode().

tsx
Config.Puppeteer.setChromiumHeadlessMode(false);
tsx
Config.Puppeteer.setChromiumHeadlessMode(false);

--gl

Changelog
  • From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was swiftshader, but from v3.0.8 the default is swangle (Swiftshader on Angle) since Chrome 101 added support for it.
  • From Remotion v2.4.3 until v2.6.6, the default was angle, however it turns out to have a small memory leak that could crash long Remotion renders.

Select the OpenGL renderer backend for Chromium. Accepted values:

  • "angle",
  • "egl",
  • "swiftshader"
  • "swangle"
  • null - Chromium's default

Default for local rendering: null.
Default for Lambda rendering: "swangle".

Via Node.JS APIs

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

Via CLI flag

Pass --gl=swiftshader in one of the following commands: remotion render, remotion still, remotion lambda render, remotion lambda still.

Via config file

tsx
Config.Puppeteer.setChromiumOpenGlRenderer("swiftshader");
tsx
Config.Puppeteer.setChromiumOpenGlRenderer("swiftshader");

Need more flags?

Open a GitHub issue to request it.