Auto-generated from CLI ffmpeg tables. Do not edit manually.
Regenerate with: npx tsx scripts/generate-format-matrix.ts
| Format | Extension | Default Codec | Audio Encoder |
|---|
| mp4 | .mp4 | h264 | aac |
| webm | .webm | vp9 | libopus |
| mov | .mov | h264 | aac |
| Codec | Encoder | Library | Containers |
|---|
| h264 | libx264 | libx264 | mp4, mov |
| h265 | libx265 | libx265 | mp4, mov |
| vp9 | libvpx-vp9 | libvpx | webm |
| av1 | libsvtav1 | libsvtav1 | mp4, webm |
| Codec | mp4 | webm | mov |
|---|
| h264 | yes | — | yes |
| h265 | yes | — | yes |
| vp9 | — | yes | — |
| av1 | yes | yes | — |
| Quality | H264 | H265 | VP9 | AV1 |
|---|
| very_low | 32 | 35 | 42 | 45 |
| low | 28 | 30 | 36 | 38 |
| medium | 23 | 26 | 31 | 30 |
| high | 18 | 22 | 26 | 23 |
| very_high | 15 | 18 | 20 | 18 |
| Quality | aac (mp4/mov) | libopus (webm) |
|---|
| very_low | 64k | 48k |
| low | 96k | 64k |
| medium | 128k | 96k |
| high | 192k | 128k |
| very_high | 256k | 160k |
| Format | Extension | Encoder | Library | Lossy |
|---|
| mp3 | .mp3 | libmp3lame | libmp3lame | yes |
| aac | .m4a | aac | built-in | yes |
| ogg | .ogg | libvorbis | libvorbis | yes |
| opus | .opus | libopus | libopus | yes |
| wav | .wav | pcm_s16le | built-in | no |
| flac | .flac | flac | built-in | no |
| Quality | MP3 | AAC | OPUS | VORBIS |
|---|
| very_low | 96k | 64k | 48k | 64k |
| low | 128k | 96k | 64k | 96k |
| medium | 192k | 128k | 96k | 128k |
| high | 256k | 192k | 128k | 192k |
| very_high | 320k | 256k | 160k | 256k |
| Format | Extension | Encoder | Library |
|---|
| jpeg | .jpg | mjpeg | built-in |
| png | .png | png | built-in |
| webp | .webp | libwebp | libwebp |
| gif | .gif | gif | built-in |
| avif | .avif | libaom-av1 | libaom |
| Quality | JPEG | PNG | WEBP | AVIF |
|---|
| very_low | -q:v 24 | level 9 | -quality 30 | -crf 48 |
| low | -q:v 18 | level 7 | -quality 50 | -crf 40 |
| medium | -q:v 12 | level 5 | -quality 70 | -crf 32 |
| high | -q:v 6 | level 3 | -quality 80 | -crf 24 |
| very_high | -q:v 2 | level 1 | -quality 90 | -crf 16 |
Codecs that can be stream-copied into each container without re-encoding.
| Container | Supported Codecs |
|---|
| mp4 | h264, hevc, av1, mpeg4 |
| mov | h264, hevc, av1, mpeg4, prores |
| webm | vp8, vp9, av1 |
| Container | Supported Codecs |
|---|
| mp4 | aac, mp3, ac3, eac3, flac, opus |
| mov | aac, mp3, ac3, eac3, flac, pcm_s16le, pcm_s24le |
| webm | opus, vorbis |