Supported Container Formats

Container formats (also called wrappers or muxers) define how audio, video, subtitle, and metadata streams are stored together in a single file. Probe.dev supports analysis of all major container formats.

FormatDescription
ac3Raw Dolby AC-3
actActions Semiconductor Audio
adtsRaw ADTS AAC
aiffAudio Interchange File Format
amr3GPP Adaptive Multi-Rate
apeMonkey’s Audio
asfAdvanced / Active Streaming Format
auSun AU
aviAudio Video Interleaved
cafApple Core Audio Format
cavsRaw Chinese AVS
cctv_datCCTV DAT Video
cctv_ivfIFV CCTV DVR
ddsDirectDraw Surface
dhavVideo DAV
diracRaw SMPTE VC-2 / Dirac
dnxhdRaw SMPTE VC-3 / DNxHD
dpxDigital Picture Exchange
dsfDSD Stream File
dtsDigital Theater Systems
dvRaw Digital Video
eaElectronic Arts Multimedia
eac3Raw Dolby E-AC-3
flacFLAC
flicFLI/FLC/FLX animation
flvFlash Video
gxfGeneral eXchange Format
h263Raw H.263
h264Raw H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
hevcRaw HEVC
iv8IndigoVision 8000 video
ivfOn2 IVF
jpeg2000Raw JPEG 2000
lvfLiberty Variance Format
lxfVR native stream
matroskaMatroska / WebM
mlpRaw Meridian Lossless Packing
mp3MPEG audio layer 3
mpegRaw MPEG Video
mpeg4QuickTime / MOV / MPEG-4 Part 14
mpeg4videoRaw MPEG-4 part 2 / MPEG-4 Visual
mpegpsMPEG Program Stream
mpegtsMPEG-2 Transport Stream
musepack7Musepack SV8
musepack8Musepack SV7
mxfMaterial Exchange Format
nsvNullsoft Streaming Video
nuppelvideoMythTV NuppelVideo
oggOgg
openmgSony OpenMG audio
pmpPlaystation Portable PMP
pngPortable Network Graphics
pvaTechnoTrend PVA
qcpQCP
realmediaRealMedia
rk_audioRK Audio
samiSAMI subtitle format
sccScenarist Closed Captions
shockwaveShockWave Flash
shortenRaw Shorten
srtSubRip subtitle format
takRaw Tom’s lossless Audio Kompressor
truehdRaw Dolby TrueHD
ttaTrue Audio
twinvqNippon Telegraph and Telephone Corporation (NTT) TwinVQ
tyTiVo Ty
usmCriware USM
vc1Raw VC-1
wavWaveform Audio
wave64Sony Wave64
wavpackRaw WavPack
yuv4mpeg2YUV4MPEG2

Container Categories

Modern Web/Streaming

MP4 (MPEG-4) - Universal container for web and mobile
WebM (Matroska) - Open format optimized for web
HLS (MPEG-TS) - HTTP Live Streaming segments
DASH - Dynamic Adaptive Streaming

Professional

MXF - Material Exchange Format for broadcast
GXF - General eXchange Format
DNxHD - Avid’s high-quality format
ProRes - Apple’s professional codec container

Legacy/Broadcast

AVI - Audio Video Interleaved (Windows legacy)
MOV - QuickTime Movie (Apple legacy)
MPEG-PS - Program Stream for DVD/broadcast
ASF/WMV - Windows Media formats

Audio-Only

FLAC - Free Lossless Audio Codec
MP3 - MPEG audio layer 3
WAV - Waveform Audio
OGG - Open container for Vorbis

Common Use Cases

Web & Mobile Distribution

  • MP4 - Best compatibility across devices and browsers
  • WebM - Optimized for modern web browsers
  • HLS (.m3u8/.ts) - Adaptive streaming for live/VOD

Professional Production

  • MXF - Broadcast and professional video production
  • MOV - High-quality production (especially Apple ecosystems)
  • AVI - Legacy production workflows

Archival & Storage

  • Matroska (.mkv) - Open format with extensive codec support
  • MP4 - Long-term compatibility and wide support
  • MXF - Professional archival standard

Format Selection Guide

For Web Streaming

MP4 (H.264 + AAC) - Universal compatibility
WebM (VP9 + Opus) - Modern browsers, smaller files
HLS (MPEG-TS) - Live streaming and adaptive delivery

For Professional Workflows

MXF - Broadcast and enterprise
MOV (ProRes) - High-quality production
DNxHD - Avid/professional editing

For Long-term Storage

MP4 - Best long-term compatibility
MKV - Open format, extensive codec support
AVI - Legacy compatibility (not recommended for new content)

Technical Characteristics

Streaming Support

FormatLive StreamingAdaptiveSubtitlesChapters
MP4LimitedNoYesYes
HLS (TS)ExcellentYesYesLimited
WebMGoodLimitedYesYes
MatroskaLimitedNoExcellentExcellent

Codec Compatibility

FormatVideo CodecsAudio CodecsMax Streams
MP4H.264, H.265, AV1AAC, MP3, AC3Unlimited
WebMVP8, VP9, AV1Vorbis, OpusMultiple
AVIMost codecsMost codecs2 (1 video, 1 audio)
MKVAll codecsAll codecsUnlimited

Container Analysis Examples

Basic Container Detection

curl -G https://api.probe.dev/v1/probe/file \
  --data-urlencode "token=${PROBE_API_TOKEN}" \
  --data-urlencode "only=mediainfo" \
  --data-urlencode "url=https://example.com/video.mp4"

Detailed Stream Analysis

curl -G https://api.probe.dev/v1/probe/file \
  --data-urlencode "token=${PROBE_API_TOKEN}" \
  --data-urlencode "only=ffprobe" \
  --data-urlencode "url=https://example.com/video.mkv" \
  --data-urlencode "ffprobe[show_format]=true" \
  --data-urlencode "ffprobe[show_streams]=true"

Best Practices

Container Selection

  1. Choose based on distribution method - Web, broadcast, or production
  2. Consider codec compatibility - Not all containers support all codecs
  3. Think about future needs - Expandability and format longevity
  4. Account for target devices - Player/device compatibility

Quality Considerations

  • Overhead - Some containers add more metadata overhead
  • Seek performance - Index structure affects scrubbing/seeking
  • Streaming efficiency - Fragmentation and structure impact streaming
  • Error resilience - Some formats handle corruption better

Troubleshooting

Common Container Issues

IssueCauseSolution
Playback failsUnsupported containerCheck device/player compatibility
Poor seekingMissing indexRe-mux with proper indexing
Large file sizeInefficient containerChoose more efficient format
Streaming problemsNon-streaming containerUse streaming-optimized format

Container Validation

# Check if container is streaming-optimized
ffprobe -show_format video.mp4 | grep "start_time\|duration"

# Verify container integrity
ffprobe -v error -show_entries format=format_name video.mp4

Container format choice significantly impacts compatibility, streaming performance, and file size. Choose the appropriate format based on your specific use case and target platforms.