Skip to main content

Supported formats and codecs by Mediabunny

The following features from Remotion are using Mediabunny:

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().

See also