packages/docs/docs/mediabunny/formats.mdx
The following features from Remotion are using Mediabunny:
<Video> from @remotion/media<Audio> from @remotion/mediaTherefore, format support is bound to the formats and codecs supported by Mediabunny. Mediabunny's compatibility data is mirrored on this page.
.mp4, .m4v, .m4a, ...).mov).mkv).webm).ogg).mp3).wav).aac).flac).ts).m3u8) - HTTP Live Streaming playlists (VOD only)'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)'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 PCMAC-3 (Dolby Digital) and E-AC-3 (Dolby Digital Plus) are not natively supported by WebCodecs and are not enabled by default in @remotion/media.
If you need AC-3/E-AC-3 support, you can enable it yourself by installing and registering the decoder:
npx remotion add @mediabunny/ac3
import {registerAc3Decoder, registerAc3Encoder} from '@mediabunny/ac3';
registerAc3Decoder();
registerAc3Encoder();
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 | .ts | |
|---|---|---|---|---|---|---|---|---|---|---|
'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' | ✓ | ✓ | ||||||||
'ac3' | ✓ | ✓ | ✓ | ✓ | ||||||
'eac3' | ✓ | ✓ | ✓ | ✓ |
:::note
AC-3 and E-AC-3 entries in the table above require manual registration of the @mediabunny/ac3 decoder.
:::
All media files must be either CORS-enabled or served from the bundle using staticFile().