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

ChangelogFrom Remotion v2.4.3 until v2.6.6, the default was angle, however it turns out to have a memory leak.

Select the OpenGL renderer backend for Chromium. Accepted values: "angle", "egl", "swiftshader" and null. null means Chromiums default. Default: swiftshader for Lambda functions, null elsewhere.

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.