Jump to content

Comparison of video container formats

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 84.59.131.131 (talk) at 04:36, 20 September 2007 (New column: Metadata/Tags supported). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

Information

Name and file extension, if different Standard owner Support for B-frames Variable bit rate audio Variable frame rate Edit in-place Chapters Subtitles Video formats supported Audio formats supported Metadata/Tags 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 (ASF) 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 Yes
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] No
DivX Media Format (DMF) DivX Yes Yes Yes No Yes Yes DivX video encoded to meet DivX profiles MP3, PCM, AC-3 ?
EVO MPEG Yes Yes Yes No Yes ? MPEG-2 Part 2, H.264/MPEG-4 AVC, VC-1 AC-3, E-AC-3, Dolby TrueHD, Linear PCM, DTS, DTS-HD, MPEG-2 Part 3 ?
Flash Video (FLV) Adobe Systems ? ? ? No No No Sorenson, VP6, Screen Video MP3, Nellymoser, ADPCM, raw PCM No
Matroska (MKV) public domain[6] Yes Yes Yes No Yes Yes, anything, including embedded fonts Yes, anything Yes, anything Yes
MCF BSD-style license for specs, GNU for tools ? ? ? ? ? ? Anything Anything ?
MPEG Video File (MPG, MPEG) MPEG Yes Yes Yes No No No MPEG-1, MPEG-2 MPEG-1 Layers I, II, III (mp3), LPCM No
MPEG-2 PS Program Stream (PS) 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 No
MPEG-2 TS Transport Stream (TS) 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 No
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, H.263, 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 Yes
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 Yes
Standard owner Support for B-frames Variable bit rate audio Variable frame rate Edit in place Chapters Subtitles Video formats supported Audio formats supported Metadata/Tags supported

Media supported

Audio formats supported

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

Video formats supported

MPEG-1 MPEG-2 MPEG-4 (A)SP H.264 WMV RealVideo Theora Flash
QuickTime Yes Yes Yes Yes Yes ? Yes Yes
AVI Yes Yes Yes Problematic, limited B-frame support[4] Yes No Yes Yes
Matroska Yes Yes Yes Yes Yes Yes Yes Yes
MP4 Yes Yes Yes Yes No No No No

Notes & references

  1. ^ a b B-frames are not natively supported so bitstream processing or "packing" is needed. Details on this can be found 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. ^ a b Through an updated x264/FFDShow filter it is 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 (BSDL, 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.

See also