IDT Partners

  • history YouTube
  • YouTube Premium
  • Social impact YouTube
  • about 
  • solutions 
  • careers 
  • Digital container format

    A container or wrapper format is a metafile format whose specification describes how different elements of data and metadata coexist in a computer file.

    Among the earliest cross-platform container formats were Distinguished Encoding Rules and the 1985 Interchange File Format. Containers are frequently used in multimedia applications.

    Since the container does not describe how data or metadata is encoded, a program able to identify and open a container file might not be able to decode the contained data. This may be caused by the program lacking the required decoding algorithm.

    By definition, a container format could wrap any kind of data. Though there are some examples of such file formats (e.g. Microsoft Windows's DLL files), most container formats are specialized for specific data requirements. For example, a popular family of containers is found for use with multimedia file formats. Since audio and video streams can be coded and decoded with many different algorithms, a container format may be used to provide a single file format to the user.

    The container file is used to identify and interleave different data types. Simpler container formats can contain different types of audio formats, 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 differs from high-quality Blu-ray streaming requirements.

    Container format parts have various names: "chunks" as in RIFF and PNG, "atoms" in QuickTime/MP4, "packets" in MPEG-TS (from the communications term), and "segments" in JPEG. The main content of a chunk is called the "data" or "payload". Most container formats have chunks in sequence, each with a header, while TIFF instead stores offsets. Modular chunks make it easy to recover other chunks in case of file corruption or dropped frames or bit slip, while offsets result in framing errors in cases of bit slip.

    In addition to pure container formats, which specify only the wrapper but not the coding, a number of file formats specify both a storage layer and the coding, as part of modular design and forward compatibility.

    Examples include JPEG File Interchange Format (JFIF) for containing JPEG data, and Portable Network Graphics (PNG).

    In principle, coding can be changed while the storage layer is retained; for example, Multiple-image Network Graphics (MNG) uses the PNG container format but provides animation, while JPEG Network Graphics (JNG) puts JPEG encoded data in a PNG container; in both cases however, the different formats have different magic numbers the format specifies the coding, though a MNG can contain both PNG-encoded images and JPEG-encoded images.