Supported formats and codecs by Mediabunny
The following features from Remotion are using Mediabunny:
<Video>
from@remotion/media
<Audio>
from@remotion/media
Therefore, format support is bound to the formats and codecs supported by Mediabunny.
Mediabunny's compatibility data is mirrored on this page.
Supported container formats
- ISOBMFF-based formats (
.mp4
,.m4v
,.m4a
, ...) - QuickTime File Format (
.mov
) - Matroska (
.mkv
) - WebM (
.webm
) - Ogg (
.ogg
) - MP3 (
.mp3
) - WAVE (
.wav
) - ADTS (
.aac
) - FLAC (
.flac
)
Video codecs
'avc'
- Advanced Video Coding (AVC) / H.264'hevc'
- High Efficiency Video Coding (HEVC) / H.265
note
Chrome Headless Shell does not support HEVC in headless mode.
This means that during rendering of Remotion videos server-side, HEVC videos cannot be decoded using <Video>
from @remotion/media
.
'vp8'
- VP8'vp9'
- VP9'av1'
- AOMedia Video 1 (AV1)
Audio codecs
'aac'
- Advanced Audio Coding (AAC)'opus'
- Opus'mp3'
- MP3'vorbis'
- Vorbis'flac'
- Free Lossless Audio Codec (FLAC)'pcm-u8'
- 8-bit unsigned PCM'pcm-s8'
- 8-bit signed PCM'pcm-s16'
- 16-bit little-endian signed PCM'pcm-s16be'
- 16-bit big-endian signed PCM'pcm-s24'
- 24-bit little-endian signed PCM'pcm-s24be'
- 24-bit big-endian signed PCM'pcm-s32'
- 32-bit little-endian signed PCM'pcm-s32be'
- 32-bit big-endian signed PCM'pcm-f32'
- 32-bit little-endian float PCM'pcm-f32be'
- 32-bit big-endian float PCM'pcm-f64'
- 64-bit little-endian float PCM'pcm-f64be'
- 64-bit big-endian float PCM'ulaw'
- μ-law PCM'alaw'
- A-law PCM
Compatibility table
Not all codecs can be used with all containers. The following table specifies the supported codec-container combinations:
.mp4 | .mov | .mkv | .webm | .ogg | .mp3 | .wav | .aac | .flac | |
---|---|---|---|---|---|---|---|---|---|
'avc' | ✓ | ✓ | ✓ | ||||||
'hevc' | ✓ | ✓ | ✓ | ||||||
'vp8' | ✓ | ✓ | ✓ | ✓ | |||||
'vp9' | ✓ | ✓ | ✓ | ✓ | |||||
'av1' | ✓ | ✓ | ✓ | ✓ | |||||
'aac' | ✓ | ✓ | ✓ | ✓ | |||||
'opus' | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
'mp3' | ✓ | ✓ | ✓ | ✓ | |||||
'vorbis' | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
'flac' | ✓ | ✓ | ✓ | ✓ | |||||
'pcm-u8' | ✓ | ✓ | ✓ | ||||||
'pcm-s8' | ✓ | ||||||||
'pcm-s16' | ✓ | ✓ | ✓ | ✓ | |||||
'pcm-s16be' | ✓ | ✓ | ✓ | ||||||
'pcm-s24' | ✓ | ✓ | ✓ | ✓ | |||||
'pcm-s24be' | ✓ | ✓ | ✓ | ||||||
'pcm-s32' | ✓ | ✓ | ✓ | ✓ | |||||
'pcm-s32be' | ✓ | ✓ | ✓ | ||||||
'pcm-f32' | ✓ | ✓ | ✓ | ✓ | |||||
'pcm-f32be' | ✓ | ✓ | |||||||
'pcm-f64' | ✓ | ✓ | ✓ | ||||||
'pcm-f64be' | ✓ | ✓ | |||||||
'ulaw' | ✓ | ✓ | |||||||
'alaw' | ✓ | ✓ |
CORS
All media files must be either CORS-enabled or served from the bundle using staticFile()
.