Comparison of video container formats

These tables compare features of multimedia container formats, most often used for storing or streaming digital video or digital audio content. To see which multimedia players support which container format, look at comparison of media players.

General information

Containers related by derivation

In many ways, derived containers are similar to those on which they are based, sometimes extending them, sometimes limiting their capabilities.

General information about video container formats
FormatFilename extensionOwner or creatorInitial releaseLicense[a]VBR audioVFRHardware playersStreaming[A]Metadata[B]Chapters
Matroska.mkv, .mk3d[C]CoreCodec[D]2002-12Freely licensed[E]Yes[F]Yes[F]Yes[G]Yes[H]Yes[12]Yes[13]
MPEG-4 Part 14 (MP4).mp4, .m4v[I]MPEG2001-10Patent encumbered[14]YesYesYesYesYesNot standard[J]
QuickTime File Format (QTFF).mov, .qtApple Inc.1991-12Proprietary[17]YesYesYesYesYesYes
Advanced Systems Format (ASF).asf, .wmv[K]Microsoft1996-09Royalties on codecs[L]YesYesYesYes[19]YesYes
Audio Video Interleave (AVI).aviMicrosoft1992-11Proprietary[20]Yes[M]Yes[N]YesNoYesNeeds alterations
Material Exchange Format (MXF).mxfSMPTE2004-09Patent-free[21]YesYesNoYes[21]YesNo
MPEG program stream (PS).m2p, .ps[O]MPEG1993-08Patent-free[22]YesYes[P]YesNoNoNo
MPEG transport stream (TS).ts, .tsv[Q][O]MPEG1995-07Patent-free[22]YesYesYesYesNoNo
BDAV MPEG-2 transport stream (M2TS).m2ts, .mtsBDA2004-08Patent encumberedYesYesYesWith DVB[24]Needs multiple files[R]Needs multiple files[S]
Video Object (VOB).vobDVD Forum1996-11Patent encumberedYesYesYesNoNoNeeds multiple files[T]
Enhanced VOB (EVO).evoDVD Forum2006-03Patent encumbered[25]YesYesYesNoNoNeeds multiple files[U]
3GPP (3GP).3gp3GPP2003-04Patent encumberedYesYesYesYes[27]YesNo
3GPP2 (3G2).3g23GPP22004-01Patent encumberedYesYesYesYesYesNo
Flash Video (F4V).f4v[V]Adobe Inc.2007-12Patent encumberedYesYesYesYesYesYes[28]
Flash Video (FLV).flvAdobe Inc.2003-09Proprietary[29]Yes[W]YesYesWith RTMPYesYes[28]
Ogg.ogv, .ogx[X]Xiph.Org2003-05Open source[34]YesYesYesYes[35]Yes[36]As Vorbis comments[Y]
WebM.webmGoogle2010-05Royalty-free[38]YesYesYesYesYes[39]Yes[39]
RealMedia Variable Bitrate (RMVB).rmvbRealNetworks2003ProprietaryYesYesYesYesYes[40]No
DivX Media Format (DMF).divxDivX, Inc.2005-06ProprietaryYesYesYesYesYesYes

Support level legend:  Full   Indirect, lossless   Partial   Depends on setup   None 

Some features are only supported by a few containers:

  • Attachments (additional files, such as fonts for subtitles) are only supported in Matroska,[41] MP4 and QTFF. M2TS supports attachments as multiple files in a specific file structure: fonts for subtitles are in .otf files in the /BDMV/AUXDATA/ directory.
  • Interactive menus are only supported in MP4, QTFF, M2TS, EVO and DMF. VOB supports interactive menus as multiple files in a specific file structure for encoding DVD content, requiring a companion .ifo file. Matroska has been planning to support interactive menus as part of a draft specification since 2004.[42]
  • Digital 3D is only supported at the container format level in Matroska,[41] MXF[43] and WebM (some stereo modes).[39] M2TS supports Digital 3D as multiple files in a specific file structure for encoding stereoscopic video: MVC stereoscopic data is in .ssif files in the /BDMV/STREAM/SSIF/ directory and require a respective base .m2ts file. Digital 3D in QTFF and ASF is possible, but not standard. MP4 only supports Digital 3D at the video format level.[44]

Some common multimedia file formats are not completely distinct container formats. Some are containers for specific audio and video coding formats, such as WebM, a subset of Matroska. Some are combinations of common container formats and audio and video coding profiles, such as AVCHD and DivX formats. Although sometimes compared to DivX products, Xvid is neither a container format nor a video format, it is a software library that encodes video using specific coding profiles of the common MPEG-4 ASP video format. Those types of restrictions are intended to simplify the construction of multimedia recorders and players.

Video coding formats support

Video container support for video coding formats
FormatTypeInitial releaseLicense[a]MKVMP4[45]QTFF[b]ASF[47]AVI[c]MXFPS, TS[I]3GP, 3G2
MPEG-H HEVC (H.265)Lossy or lossless2013-06Patent encumbered[52]Yes[II]YesYes[55]YesYesYes[56]YesYes
MPEG-4 AVC (H.264)Lossy or lossless2004-08Patent encumbered[57]YesYesYesYesYes[III]YesYes[58]Yes
AV1Lossy or lossless2018-03Patent claimsBeta[59]YesNoNoNoNoPlannedNo
VP9Lossy or lossless2013-06Patent claimsYesYesNoYesYesNoNoNo
VP8Lossy or lossless2008-09Patent claimsYesYesNoYesYesNoNoNo
DiracLossy or lossless2008-03Patent-free[60]VCM[d]NoYesNoNeeds Dirac[61]NoPrivateNo
MVCStereoscopic2009-05Patent encumberedYes[41]NoNoNoNoNo[IV][V]NoYes
MPEG-1 VideoLossy1993-08Expired patents[64][65]YesYesYesYesYesYesYesNo
MPEG-2 VideoLossy1996-05Expired patentsYesYesYesYesYesYesYesNo
MPEG-4 VisualLossy1999-12Patent encumbered[66]YesYesFirst editionYesYesYesYesYes
Microsoft MPEG4 V2Lossy2003Patent encumbered, proprietaryYesNot standardNot standardYesYesNoNoNo
VC-1Lossy2006-02Patent encumbered[67]VCM[d]Yes[68]YesYesYesYesNoNo
H.263Lossy1996-03Patent encumbered[66]NoYesYesYesYesNoNoYes
TheoraLossy2004-06Free license[69]YesNoNoNoNeeds ffdshowNoNoNo
CinepakLossy1991ProprietaryYesNoYesNoYesNoNoNo
SorensonLossy1998-03ProprietaryYesNoVersions 1 and 3NoVersion 1NoNoNo
RealVideoLossy1997-02ProprietaryRV10, RV20, RV30, RV40RV60NoNoNot standardNoNoNo
VP6Lossy2003-05ProprietaryNoNoNoNoNeeds VP6[70][71]NoNoNo
DVIntra-frame1995ProprietaryVCM[d]DVCPRO HDDV 25YesYesYes[73][VI]NoNo
M-JPEGIntra-frame1994-05Expired patents[74]VCM[d]YesYesYesYesNoNoNo
MJ2Intra-frame2003-12Patent encumbered[75]NoYesNoNoNot standardYesNoNo
Apple ProResIntra-frame2007-04ProprietaryNoNoYes[76]NoNoYes[76]NoNo
HuffYUVLossless2000Open sourceVCM[d]NoNoNoNeeds HuffYUV[77]NoNoNo
YCbCr[VII]Not compressed1982Patent-freeYesSheerVideoYesYesYesYes[78]NoNo
OtherOtherVariesDVC Pro 50, Photo JPEG, Graphics, QuickTime AnimationIndeoJPEG 2000, TICO

Support level legend:  Full   Indirect, lossless   Partial   Depends on setup   None 

Some containers only support a restricted set of video formats:

Audio coding formats support

Video container support for audio coding formats
FormatTypeInitial releaseLicense[a]MKVMP4[45]QTFF[b]ASF[47]AVI[c]MXFPS, TS[51]3GP3G2
AACLossy1997-12Royalties on codecs[α]YesYesYesAAC-LC, HE-AAC[86]AAC-LC, HE-AAC[β][86]YesPrivateAAC-LC, HE-AACAAC-LC, HE-AAC v1
MP3Lossy1991-12Expired patents[87]YesYesMPEG-1 AudioYesYes[β]YesYesNoNo
AC-3Lossy1991-02Expired patentsYesYes[90]YesYesYesYesPrivateNoNo
E-AC-3Lossy2005-02Patent encumberedQuickTime[γ]YesYesYesNoNoNoNoNo
DTSLossy1993-06ProprietaryYesYesNoYesYesNoPrivateNoNo
WMALossy1999-08Proprietary[91]ACM[d]NoNoYesYesNoNoNoNo
OpusLossy2012-09Royalty-freeYesYesYesYesYesNoYesNoNo
VorbisLossy2000-05Open source[92]YesPrivateNoNoTricky[δ]NoNoNoNo
MP2Lossy1991-12Patent-free[ε]YesYesNoYesYesYesYesNoNo
MP1Lossy1991-12Expired patentsYesYesNoYesYesYesYesNoNo
QDesign Music 1 and 2Lossy1998ProprietaryQuickTime[γ]NoYesNoNoNoNoNoNo
ATRAC3Lossy2000-09ProprietaryYesNoNoNoNoNoNoNoNo
FLACLossless2001-07Open sourceYesYesNoYesYesNoNoNoNo
ALACLossless2004-04Open sourceYesYesYesYesYesNoNoNoNo
WMA LosslessLossless2003-01Proprietary[96]ACM[d]NoNoYesYesNoNoNoNo
DTS-HDLossless2011-08ProprietaryYesYes[45]YesNoNoNoNoNoNo
Dolby TrueHDLossless2006-04ProprietaryMature[ζ]YesNoNoNoNoNoNoNo
MLPLossless1999-03ProprietaryNoYes[45]NoNoNoNoPrivateNoNo
ALSLossless2006-03Patent encumberedNoYesNoNoNoNoYesNoNo
SLSLossless2006-06Patent encumberedNoYesNoNoNoNoYesNoNo
LPCMNot compressed1979Patent-free[97]YesYesYesYesYesYesPrivateNoNo
A-law PCMNot compressed1972-12Expired patents[98]ACM[d]NoYesNoYesYesNoNoNo
μ-law PCMNot compressed1972-12Expired patents[98]ACM[d]NoYesYesYesNoNoNoNo
IEEE floating-point PCMNot compressed≥1985Patent-free[η]YesNoYesYesYesNoNoNoNo
Microsoft ADPCMNot compressed1992-05ProprietaryACM[d]NoYesYes[47]YesNoNoNoNo
DV AudioNot compressed1995ProprietaryNoYesYesNoNoYes[73]NoNoNo
AMRSpeech1999-06Patent encumberedNoYesNoYesYesNoNoYesAMR-NB, AMR-WB
G.728Speech1992-09Expired patentsNoNoNoNoYesNoNoNoNo
SpeexSpeech2003-03Open source[99]ACM[d]NoNoNoNoNoNoNoNo
QCELPSpeech1994ProprietaryNoNoYesYesNoNoNoNo13K
OtherOtherVariesMusepack, WavPack, TTA, any format supported by ACMIMA 4:1, non-IEEE floating-point PCM, integer PCMMicrosoft GSM 6.10G.721, G.722, G.723, G.726, G.729a, CVSD, ATRAC1, Dolby AC-2EVSEVRC, EVRC-B, EVRC-WB, SMV, VMR-WB
ObsoleteOtherVariesMACE 3:1, MACE 6:1Truespeech, many others

Support level legend:  Full   Indirect, lossless   Partial   Depends on setup   None 

Some containers only support a restricted set of audio formats:

Audio-only content can sometimes be placed in a simpler audio-only container, such as Native FLAC for FLAC[103] and ADTS for AAC.

Subtitle formats support

Video container support for subtitle formats
FormatTypeInitial releaseLicense[a]MKV[104]MP4QTFF[b]ASF[47]AVI[i]MXF[ii]PS, TS[51]3GP, 3G2
SubRip[iii]Formatted text2000-03Open sourceYes[110]As TTXT[111]As TTXT[111]As SAMI[iv]Needs alterations[93]As SMPTE-TTNoAs TTXT[111]
WebVTTFormatted text2010-08Open sourceYes[112]Yes[113]As TTXT[111]NoNoAs SMPTE-TTNoAs TTXT[111]
ASS, SSAFormatted text1996Open sourceYes[114]NoNoNoNeeds alterations[93]As SMPTE-TTNoNo
TTXT[v]XML2006-04Patent encumberedNo[vi]YesYes[46]NoNoNoNoYes
USFXML2002-11ProprietaryPlannedNoNoNoNeeds alterationsNoNoNo
SAMIHTML1998-06ProprietaryNoNoNoYesNeeds alterationsAs SMPTE-TTNoNo
VobSubPicture2001Patent encumberedMature[vii]YesNot standardNoNeeds alterationsNoNoNo
PGS[viii]Picture2006-03Patent encumberedMature[vii]As VobSub[ix]NoNoNoNoNoNo
DVB-SUB[117]Picture1997-09Patent encumberedMature[vii]NoNoNoNoYes[118]YesNo
Ogg Kate[119]Picture or formatted text2008-03Open sourceMature[vii]NoNoNoNoNoNoNo
TextST[viii]Text stream2006-03Patent encumberedBetaNoNoNoNoNoNoNo
MicroDVDPlain text2000-03ProprietaryNoNoNoNoNeeds alterationsNoNoNo
OtherOtherVariesGeneric bitmap images, generic plain text[53]BIFSQuicktime SMIL, EIA-608, CTA-708XSUB[x]SMPTE-TT, EBU-TT[107][122]CTA-708

Support level legend:  Full   Indirect, lossless   Partial, lossy   Depends on setup   None 

Some containers only support a restricted set of subtitle formats:

  • DMF only supports XSUB.
  • EVO only supports HD DVD PGS.
  • F4V only supports TTXT. SubRip and WebVTT can be converted losslessly to TTXT.[111]
  • FLV only supports loading subtitles with ActionScript,[123] but this functionality may be restricted to the official Adobe Flash Player. WebVTT can be converted losslessly to ActionScript.
  • M2TS only supports Blu-ray PGS. VobSub can be partially converted to PGS using tools that are not officially related to the container format.[116]
  • Ogg only supports Ogg Kate and CMML.[f] SubRip can be converted losslessly to Ogg Kate.[124] Ogg Writ[125] is well supported in Ogg in common tools such as OGMtools[101] and VLC, but there's no intention to turn its draft into a fully supported specification. Xiph recommends using Kate for subtitles.[126] MicroDVD can be converted to Ogg Writ.
  • RMVB only supports RealText. SMIL can be partially converted to RealText.
  • VOB only supports VobSub. PGS can be partially converted to VobSub using tools that are not officially related to the container format.[116]
  • WebM only supports WebVTT.[39] SubRip can be converted losslessly to WebVTT.

Converting image subtitles to text formats is possible using third-party tools[127] but relies on optical character recognition, which is not perfectly accurate and can at best extract basic formatting. Conversion of text to images is possible while preserving content and style. Round-trip format conversion between text formats may not be possible without losing some formatting features.

Overhead

Multimedia containers interleave data in media streams to enable efficient playback using fewer computational resources, such as time spent reading from the storage drive, memory needed to buffer selected media streams, and time spent decoding when seeking to a different position in time. In this sense, muxing overhead is the control information added by the container to carry interleaved streams. A smaller overhead results in a smaller file when carrying the same streams with the same data. Overhead is affected by the total number of packets and by the size of stream packet headers. In high bitrate encodings, the content payload is usually large enough to make the overhead data relatively insignificant, but in low bitrate encodings, the inefficiency of the overhead can significantly affect the resulting file size if the container uses large stream packet headers or a large number of packets.

In general, Matroska[128] requires the least overhead, followed by MP4, AVI and Ogg.[129]

See also

Notes

References