Multimedia Container Formats
A container format is a file format that can contain various types of data, compressed in a manner of standardized codecs. The container file is simply used to identify and interleave the different data types inside it.
Advanced container formats such as Ogg and MKV can support audio, video, subtitles, chapters, and meta-data (tags), along with the synchronization information needed for playback.
The most popular multimedia containers are:
- AVI (standard Microsoft Windows container).
- MOV (standard QuickTime container).
- MP4 (standard container for the MPEG-4 multimedia portfolio).
- Ogg (standard container for Xiph.org codecs).
- Matroska (not standard for any codec or system, but it is an open standard).
- ASF (standard container for Microsoft WMA and WMV).
- RealMedia (standard container for RealVideo and RealAudio).
The differences between various container formats arise from five main issues:
- Popularity; how widely supported a container is. This is the reason that the AVI format is still the most popular format.
- Overhead. This is the difference in file-size between two files with the same content in a different container. For a two-hour film, when in AVI, the file may be up to 10MB larger than when in Matroska.
- Support for advanced codec functionality. Older formats such as AVI do not support new codec features like B-frames, VBR audio, VFR natively, although the format may be tweaked to add support, creating compatibility problems.
- Support for advanced content, such as chapters, subtitles, meta-tags, user-data.
- Support of streaming media, media streaming on demand via the Internet.
Below in this page you can see a full comparative table between several container formats.
|B-frames support||by tweaks||Yes||Yes||Yes||Yes|
|Variable frame rate||No||Yes||No||Yes||No|
Audio-Video Interleave (AVI) is a multimedia container format introduced by Microsoft in 1992, as part of the Video for Windows technology. These files contain both audio and video data in a standard container that allows simultaneous playback. Most AVI files also use the file format extensions developed by the Matrox OpenDML group in February 1996. These files are supported by Microsoft, and are known unofficially as 'AVI 2.0'.
A QuickTime MOV file contains one or more tracks, each of which store a particular type of data, such as audio, video, effects, or subtitles. Each track in turn contains track media, either the digitally encoded media stream (using a specific codec such as Cinepak, Sorenson codec, MP3, JPEG, DivX, or PNG) or a data reference to the media stored in another file or elsewhere on a network. It also has an 'edit list' that indicates what parts of the media to use.
The ability to contain abstract data references for the media data, and the separation of the media data from the media offsets and the track edit lists means that QuickTime is particularly suited for editing, as it is capable of importing and editing in place (without data copying) other formats such as AIFF DV, MP3, MPEG-1, and AVI.
MPEG-4 Part 14 or MP4 is a container file format specified as a part of the ISO/IEC MPEG-4 international standard. It is used to store media types defined by the ISO/IEC Moving Picture Experts Group, and can be used to store other media types as well.
MP4 allows streaming over the internet. It also allows multiplexing of multiple video and audio streams in one file, variable frame- and bit-rates, subtitles and still images.
Ogg Media Container is developed by Xiph.org as the framework of a larger initiative aimed at developing a set of components for the coding and decoding of multimedia content which are both freely available and freely re-implementable in software.
The term Ogg often incorrectly refers to the Vorbis audio codec. Other prominent components of Ogg are its video codec Theora, and the speech audio compression format, Speex.
If you are wondering about the OGM format, refer to this page for detailed information. DivXLand.org suggests to use the Matroska container, since OGM is no longer developed.
Matroska aims to be the standard for multimedia container formats. It incorporates features you would expect from a modern container format, like:
- Fast seeking in the file
- High error recovery
- Chapter entries
- Selectable subtitle streams
- Selectable audio streams
- Modularly Extendable
- Streamable over internet (HTTP and RTP audio / video streams)
- DVD-style menus
The Matroska file extensions are:
- .mkv: generally video files, as well those containing audio (movies) or video only.
- .mka: audio only files, can contain any supported audio compresion format, such as MP2, MP3, Vorbis, AAC, AC3, DTS, PCM.
- .mks: a so called 'elementary' matroska stream containing any subtitles stream.
To open Matroska files, you need to install either the DivX Total Pack or the Matroska Pack filter. For extended information regarding the Matroska container format, visit its website.
Advanced Systems Format (formerly Advanced Streaming Format) is Microsoft's proprietary digital audio and video container format, especially designed for streaming media. ASF is part of the Windows Media framework.
The format does not specify how the video or audio should be encoded, but instead just specifies the structure of the video/audio stream. What this means is that ASF files can be encoded with basically any audio/video codec and still would be in ASF format. This is similar to the function performed by the QuickTime, AVI, or Ogg formats.
The most common filetypes contained within an ASF file are Windows Media Audio (WMA) and Windows Media Video (WMV).
RealMedia is a multimedia container format created by RealNetworks. It is typically used in conjunction with RealVideo and RealAudio compression and is popular for streaming content over the internet.
RM content can be played with RealPlayer, or with any DirectShow based player by installing third party filters such as RealAlternative.