Container format (digital)

From Wikipedia, the free encyclopedia

Jump to: navigation, search

A container or wrapper format is a file format whose specifications regard only the way data are stored (but not coded) within the file, and how many metadata could or are effectively stored, whereas no specific codification of the data themselves is implied or specified. A wrapper format is, in fact, a meta-format, because it stores the real data and the information about how such data are stored within the file itself. As a consequence of that, a program which is able to correctly identify and "open" a file written in such a format might not be able to subsequently decode the actual data stored within, because either the metadata in the wrapper file are not sufficient or the software lacks that specific decoding algorithm enroled in the metadata to interpret the actual data the file "wraps" around.

Stated like that, a container format could, in theory, wrap any kind of data. Although there exist a few examples of such file formats (Microsoft Windows' DLL files are just an implicit one), most wrappers exist for particular data groups (because their specifications, though vague or even lacking any coding details, are "tuned" for specific requirements and information to be stored). The most relevant family of wrappers is, in fact, to be found among multimedia file formats, where the audio and/or video streams can effectively be coded with hundreds of different alternative algorithms, whereas they are stored in fewer file formats. In this case the algorithm (or algorithms, as in the case of mixed audio and video contents in a single video file format) used to actually store the data is called a codec (shorthand for coder/decoder).

[edit] Multimedia container formats

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 (tags) — along with the synchronization information needed to play back the various streams together. In most cases, the file header, most of the metadata and the synchro chunks are specified by the container format (for example container formats exist for optimized, low-quality, internet video streaming which, for example, differs from high-quality DVD streaming requirements).

Some containers are exclusive to audio:

  • AIFF (IFF file format, widely used on Mac OS platform)
  • WAV (RIFF file format, widely used on Windows platform)
  • XMF (Extensible Music Format)

Other containers are exclusive to still images:

  • FITS (Flexible Image Transport System) is a wrapper file format for still images, raw data, and associated metadata.
  • TIFF (Tagged Image File Format) is a wrapper file format for still images and associated metadata.

Other flexible containers can hold many types of audio and video, as well as other media. The most popular multi-media containers are:

There are many other container formats, such as NUT, MPEG, MXF, ratDVD, SVI, VOB and DivX Media Format (DMF) .divx

See the Comparison of container formats for details regarding these formats.

[edit] Issues

The differences between various container formats arise from five main issues:

  1. Popularity; how widely supported a container is.
  2. Overhead. This is the difference in file-size between two files with the same content in a different container.
  3. Support for advanced codec functionality. Older formats such as AVI do not support new codec features like B-frames, VBR audio, VFR natively. The format may be "hacked" to add support, but this creates compatibility problems.
  4. Support for advanced content, such as chapters, subtitles, meta-tags, user-data.
  5. Support of streaming media

[edit] See also

Personal tools