Comparison of container formats

From Wikipedia, the free encyclopedia

This table compares features of container formats. Note that DirectShow filters allow playing on any DirectShow-based player, including Windows Media Player. To see which multimedia players support which container format, look at comparison of media players.

Note: The following table may be biased by the encoders preference.

Standard owner Support for B-frames Variable bit rate audio Variable frame rate Edit in-place Chapters Subtitles Video formats supported Audio formats supported
3GP 3GPP Yes Yes Yes Yes ? 3GPP Timed Text MPEG-4, H.263 and H.264/MPEG-4 AVC AMR-NB/WB, AMR-WB+ and (HE)-AAC
Advanced Systems Format Microsoft Yes Yes Yes No Yes Yes Almost anything through VFW or DMO, H.264/AVC is problematic Almost anything through ACM or DMO, Vorbis is problematic
AVI Microsoft Yes[1] Yes[2] Yes[3] No Yes, via third party modifications Yes, via third party modifications Almost anything through VFW, H.264/AVC is problematic due to the limited b-frame support[4] Almost anything through ACM, Vorbis is problematic [5]
DivX Media Format DivX Yes Yes Yes No Yes Yes DivX video encoded to meet DivX Profiles mp3, PCM, AC-3
Flash Video Adobe Systems ? ? ? ? ? ? ? ?
Matroska public domain[6] Yes Yes Yes No Yes Anything, including embedded fonts Anything Anything
MCF BSD-style license for specs, GNU for tools ? ? ? ? ? ? Anything Anything
MPEG-2 PS (Program Stream) MPEG Yes Yes ? No Only in VOB files on DVDs Only in VOB files on DVDs MPEG-1, MPEG-2 MPEG-1 Layers I, II, III (mp3), AC-3, LPCM, DTS
MPEG-2 TS (Transport Stream) MPEG Yes Yes Yes No No possible via ETSI EN 300 743 MPEG-1, MPEG-2, MPEG-4 ASP, H.264/MPEG-4 AVC MPEG-1 Layers I, II, III (mp3), AC-3, LPCM, DTS, AAC
MOV Apple Yes Yes Yes Yes Yes Yes Anything through QuickTime codec manager Anything through Sound Manager or CoreAudio
MP4 MPEG Yes Yes Yes Yes In userdata atom (started by Nero Digital) can't interact with the sceneDescription, or via segmentDescriptor ttxt, VobSubs with privat objectTypeIndication not usable with the sceneDescription (started by Nero), BIFS MPEG-1, MPEG-2, MPEG-4 ASP, H.264/MPEG-4 AVC MPEG-1 Layers I, II, III (MP3), MPEG-2/4 (HE)-AAC, Vorbis (with privat objectTypeIndication), Apple Lossless
NUT NUT Project/GPL Yes Yes Yes ? Yes Yes Virtually anything Virtually anything
OGG/OGM Xiph.org Yes[1] Yes No No Yes Ogg Writ, SRT and MicroDVD with OGMtools. Theora, almost anything through VFW, H.264/AVC doesn't work Vorbis, almost anything through ACM
RMVB RealNetworks Yes ? Yes No ? Yes RealVideo 8, 9, 10 (HE)-AAC, Cook Codec, Vorbis, RealAudio Lossless
VOB MPEG Yes Yes Yes No Yes VobSub MPEG-2 Part 2 AC-3, Linear PCM, DTS, MPEG-2 Part 3, MPEG-1 Layer II
Standard owner Support for B-frames Variable bit rate audio Variable frame rate Edit in place Chapters Subtitles Video formats supported Audio formats supported

Contents

[edit] Media supported

[edit] Audio formats supported

Lossy compression Lossless compression
MP3 WMA RealAudio Vorbis Musepack AAC AC3 APE FLAC ALAC SHN WV
QuickTime Yes Yes ? Yes ? Yes Yes ? Yes Yes ? ?
AVI Yes Yes ? No ? ? Yes ? ? ? ? ?
Matroska Yes Yes Yes Yes No [7] Yes Yes ? Yes ? ? Yes
MP4 Yes No No No ? Yes No No No Yes No No

[edit] Video formats supported

MPEG-1 MPEG-2 MPEG-4 WMV RealVideo Theora Flash
QuickTime Yes Yes Yes Yes ? Yes Yes
AVI ? ? ? Yes ? ? ?
Matroska Yes Yes Yes Yes Yes Yes ?
MP4 Yes Yes Yes No No No No

[edit] Notes & references

  1. ^ a b B-frames are not natively supported so bitstream processing or "packing" is needed. Details on this can be find in MPEG-4 B-frames in AVI/VFW hackery description
  2. ^ ACM cannot handle VBR audio streams in AVI files. Thus, software using ACM to read audio from AVI files will not be able to handle VBR audio streams correctly, even though such files are compliant to the AVI file specification. This is a limitation of the ACM, not of the AVI file format.
  3. ^ Although AVI is not designed for variable framerates, it is possible to use them without creating a non-standard file by using 0-byte chunks for skipped frames.
  4. ^ Through an updated x264/FFDShow Filter it is now possible to view H.264 in an AVI file for up to 30 fps.
  5. ^ Although FFmpeg has introduced a solution to put Vorbis audio into AVI files, this "extension" is not compatible with existing Vorbis decoders for DirectShow and ACM. Putting Vorbis in an AVI container is very problematic. The way NanDub stored Vorbis audio streams in AVI files occasionally caused desychronisation when seeking.
  6. ^ The Matroska specs are put into the public domain, which means they are patent free and owned by everybody. The relevant, valid format specification is always the one found on matroska.org, the official homepage. Even if the Matroska specs are free, the code of the software tools for Matroska files can, nevertheless, be proprietary or follow a specific license (BSD, GPL, LGPL, QPL, etc.), depending on the intentions of the programmer or the company behind them.
  7. ^ Possible, but not implemented till this date. The developers are waiting the release of Musepack 8.x to implement, as this new version will completely change the bitstream.

[edit] See also