Available from v2.6.7.
Output scaling is useful if you would like to render the video in multiple resolutions in the same aspect ratio.
Example: Your video canvas is in Full HD (
1920x1080), but would like to render your video to be in 4k (
Remotion can support this higher resolution by setting the
deviceScaleFactor of Puppeteer and upscale certain elements.
How to scale
In the CLI, during a render of a video or a still, pass the
--scaleflag. For example:
In the config file, you can pass the scale using the following statement:ts
Config. setScale(2);ts Config. setScale(2);
The highest scale possible is
16 (sixteen times higher dimensions on each size or 256 times more pixels).
Positive values below 1 are allowed. For example,
0.5 will half each dimension.
The scale must result in a value that will result in integer pixels. A value of
1.00000001 for a composition with a width of
1920 pixels is not allowed.
For MP4 videos, the scale must resolve in a value where both dimensions are divisible by 2, since the codec does not support odd numbers.
If you would like to downscale a composition from
1280 pixels, pass a scale of
2/3 to avoid rounding errors. This does not currently work as a CLI flag.
Elements that can be upscaled and that will enhance increased resolution are:
- Text elements
- SVG elements
- Images (if their resolution is sufficient to display in a higher resolution)
Elements that cannot be upscaled for increased resolution are:
- Canvas and WebGL elements