This article is meant to be purely informational, offering an overview of common containers found on BakaBT.
A container format is a file format that can contain various types of data, compressed by means of standardized audio/video codecs. The container file is used to identify and interleave the different data types. Simpler container formats can contain different types of audio codecs, while more advanced container formats can support multiple audio and video streams, subtitles, chapter-information, and meta-data - along with the synchronization information needed to play back the various streams together.
Some containers are exclusive to audio:
- AIFF (IFF file format, widely used on Mac OS platform)
- WAV (RIFF file format, widely used on Microsoft Windows platform)
- XMF (XMF Extensible Music Format XMF)
Other flexible containers can hold many types of audio and video, as well as other media. The most popular containers currently used on BakaBT are, but not limited too, the following:
- Advanced Systems Format (ASF) (standard container for Microsoft Windows Media Audio WMA and WMV
- Audio Video Interleave (AVI) (the standard Microsoft Windows container, also based on RIFF)
- DivX (Media format created by DivX, Inc.)
- Matroska / MKV (not standard for any codec or system, but it is an open standard and open source container format).
- MPEG transport stream|MPEG-2 transport stream (TS) (a.k.a. MPEG-TS) (standard container for digital broadcasting; typically contains multiple video and audio streams, and an electronic program guide) and program stream (PS)
- MPEG-4 Part 14|MP4 (standard audio and video container for the MPEG-4 multimedia portfolio)
- Ogg (standard audio container for Xiph.Org Foundation|Xiph.org codecs, can also contain video (as in Ogg Theora))
- OGM ("Ogg Media", standard video container for Xiph.Org Foundation codecs)
There are many other container formats, only major ones and those pertaining to BakaBT will be mentioned here.
The following are several issues which exist over the container to use.
- Popularity; how widely supported a container is. (Not a big issue with CCCP)
- Overhead; the difference in file-size between two files with the same content in a different container. (MyVideo.ogg is 230Mb while MyVideo.mkv is 220Mb and final output is the same, just an example of this, not an actual case.)
- Support for advanced codec functionality. Older formats such as AVI do not support new codec features like B-frames, Variable_bitrate (VBR) audio, Variable frame rate (VFR) natively, although the format may be "hacked" to add support, creating compatibility problems.
- Support for advanced content, such as chapters, subtitles, meta-tags, user-data.
- Support of streaming media. (Not an issue with BakaBT though)