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
In many ways, derived containers are similar to those on which they are based, sometimes extending them, sometimes limiting their capabilities.


 * QTFF
 * ISO BMFF
 * MP4
 * 3GPP, 3GPP2
 * F4V


 * MPEG-PS
 * MPEG-TS
 * M2TS
 * VOB
 * EVOB


 * MCF
 * Matroska
 * WebM


 * RIFF
 * AVI
 * DMF


 * RM
 * RMVB

Support level legend:

Some features are only supported by a few containers:
 * Attachments (additional files, such as fonts for subtitles) are only supported in Matroska, MP4 and QTFF. M2TS supports attachments as multiple files in a specific file structure: fonts for subtitles are in  files in the   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  file. Matroska has been planning to support interactive menus as part of a draft specification since 2004.
 * Digital 3D is only supported at the container format level in Matroska, MXF and WebM (some stereo modes). M2TS supports Digital 3D as multiple files in a specific file structure for encoding stereoscopic video: MVC stereoscopic data is in  files in the   directory and require a respective base   file. Digital 3D in QTFF and ASF is possible, but not standard. MP4 only supports Digital 3D at the video format level.

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
Support level legend:

Some containers only support a restricted set of video formats:
 * DMF only supports MPEG-4 Visual ASP with DivX profiles.
 * EVO only supports MPEG-4 AVC, MPEG-1 Video, MPEG-2 Video and VC-1.
 * F4V only supports MPEG-4 AVC, MPEG-4 Visual and H.263.
 * FLV only supports MPEG-4 Visual, VP6, Sorenson Spark and Screen Video. MPEG-4 AVC in FLV is possible, but not standard.
 * M2TS only supports MPEG-4 AVC, MPEG-1 Video, MPEG-2 Video, MPEG-4 Visual and VC-1.
 * Ogg only supports Theora, MNG, JNG, PNG and Dirac. Firefox supports VP9 and VP8 in Ogg. VLC supports MPEG-2 Video, MPEG-4 Visual and VC-1 in Ogg.
 * RMVB only supports RealVideo versions RV30, RV40 and RV60.
 * VOB only supports MPEG-1 Video and MPEG-2 Video.
 * WebM only supports VP9, VP8, and AV1.

Audio coding formats support
Support level legend:

Some containers only support a restricted set of audio formats:
 * DMF only supports MP3, AC-3, DTS and LPCM.
 * EVO only supports MP3, AC-3, E-AC-3, DTS, MP2, MP1, DTS-HD, Dolby TrueHD, MLP and LPCM.
 * F4V only supports AAC and MP3.
 * FLV only supports AAC, MP3, LPCM, A-law PCM, μ-law PCM, Speex, Asao and SWF ADPCM.
 * M2TS only supports AC-3, E-AC-3, DTS, DTS-HD, Dolby TrueHD and LPCM.
 * Ogg only supports Opus, Vorbis, FLAC, A-law PCM, μ-law PCM, IEEE floating-point PCM, Speex and CELT. OGMtools supports MP3 and AC-3 in Ogg.
 * RMVB only supports AC-3, ATRAC3, G.728, AAC-LC, HE-AAC v1, IS-54, Cook Codec, Sipro Lab, ACELP-NET and RealAudio Lossless.
 * VOB only supports MP2 directly. It also supports AC-3, DTS, MLP and LPCM as private streams.
 * WebM only supports Opus and Vorbis.

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

Subtitle formats support
Support level legend:

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.
 * FLV only supports loading subtitles with ActionScript, 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.
 * Ogg only supports Ogg Kate and CMML. SubRip can be converted losslessly to Ogg Kate. Ogg Writ is well supported in Ogg in common tools such as OGMtools and VLC, but there's no intention to turn its draft into a fully supported specification. Xiph recommends using Kate for subtitles. 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.
 * WebM only supports WebVTT. SubRip can be converted losslessly to WebVTT.

Converting image subtitles to text formats is possible using third-party tools 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 requires the least overhead, followed by MP4, AVI and Ogg.