Since Remotion v4.0, Remotion comes bundled with a lightweight version of FFmpeg. An installation of FFmpeg is no longer needed.
FFmpeg in V3 of Remotion
The following documentation is an archival for how FFmpeg worked in v3.0.
Remotion requires FFmpeg to encode videos. Since v3.3, you do not need to install FFmpeg manually. This page documents the behavior of Remotion for developers needing advanced control.
Two binaries are required for Remotion:
ffprobe. When talking about FFmpeg in the documentation, it may also refer to FFprobe.
When rendering a video and binaries are not found, Remotion will download them from the internet and put it inside your
node_modules folder. The binary will not get added to your
PATH, so if you type in
ffmpeg into your Terminal, it may not be found. However, Remotion will be able to use it
Auto-install is supported on the following platforms:
- Linux, x86_64,
- macOS, Intel
- macOS, Apple Silicon
- Windows, x86_64
For other platforms, you need to supply your own binaries.
By rendering a video, the download of FFmpeg will be triggered automatically.
On servers, it might be of use to install the binaries before the first render, so no time is wasted once the first render begins.
- Using the CLI, you can run
npx remotion install ffmpegand
npx remotion install ffprobeto trigger auto-install of binaries. If the binaries exist, the command will do nothing. This requires
@remotion/clito be installed.
Order of priority
In case of multiple binaries being supplied, they priority order is the following:
- If a binary was supplied using the
ffprobeExecutableoption, it will be used.
ffprobeis in the
PATH, it will be used.
- If a binary was previously installed by Remotion into
node_modules, it will be used.
- If a binary can be downloaded from the internet, Remotion will do so and use it.
- Failure if no binary was found using the logic above.