Container format (computing)

Short description: Metafile format

A container format (informally, sometimes called a wrapper) or metafile is a file format that allows multiple data streams to be embedded into a single file, usually along with metadata for identifying and further detailing those streams.[1] Notable examples of container formats include archive files (such as the ZIP format) and formats used for multimedia playback (such as Matroska, MP4, and AVI). Among the earliest cross-platform container formats were Distinguished Encoding Rules and the 1985 Interchange File Format.

## Contents

* 1 Design
* 1.1 Considerations
* 1.2 Single coding formats
* 2 Multimedia container formats
* 3 See also
* 4 References
* 5 External links

## Design

Although containers may identify how data or metadata is encoded, they do not actually provide instructions about how to decode that data. A program that can open a container must also use an appropriate codec to decode its contents. If the program doesn't have the required algorithm, it can't use the contained data. In these cases, programs usually emit an error message that complains of a missing codec, which users may be able to acquire.

Container formats can be made to 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, since audio and video streams can be coded and decoded with many different algorithms, a container format may be used to provide the appearance of a single file format to users of multimedia playback software.

Computer science container formats examples

### Considerations

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 or VFR video 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.

### Single coding formats

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.

## Multimedia container formats

Further information: Audio file format, Image file formats, and Video file format

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.

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) still images, raw data, and associated metadata.
* TIFF (Tagged Image File Format) still images and associated metadata.
* Macintosh PICT resource (PICT), superseded by PDF in Mac OS X
* Windows Metafile (WMF) = (EMF) Enhanced Metafile
* Encapsulated PostScript(EPS)
* Computer Graphics Metafile(CGM)
* Portable Document Format(PDF)
* Corel Draw File (CDR)
* Scalable Vector Graphics (SVG)
* Rich Text Format file (RTF)

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

* 3GP (used by many mobile phones; based on the ISO base media file format)
* ASF (container for Microsoft WMA and WMV, which today usually do not use a container)
* AVI (the standard Microsoft Windows container, also based on RIFF)
* DVR-MS ("Microsoft Digital Video Recording", proprietary video container format developed by Microsoft based on ASF)
* Flash Video (FLV, F4V) (container for video and audio from Adobe Systems)
* IFF (first platform-independent container format)
* Matroska (MKV) (not limited to any coding format, as it can hold virtually anything; it is an open standard container format)
* MJ2 - Motion JPEG 2000 file format, based on the ISO base media file format which is defined in MPEG-4 Part 12 and JPEG 2000 Part 12
* QuickTime File Format (standard QuickTime video container from Apple Inc.)
* MPEG program stream (standard container for MPEG-1 and MPEG-2 elementary streams on reasonably reliable media such as disks; used also on DVD-Video discs)
* MPEG-2 transport stream (a.k.a. MPEG-TS) (standard container for digital broadcasting and for transportation over unreliable media; used also on Blu-ray Disc video; typically contains multiple video and audio streams, and an electronic program guide)
* MP4 (standard audio and video container for the MPEG-4 multimedia portfolio, based on the ISO base media file format defined in MPEG-4 Part 12 and JPEG 2000 Part 12) which in turn was based on the QuickTime file format.
* Ogg (standard container for Xiph.org audio formats Vorbis and Opus and video format Theora)
* RM (RealMedia; standard container for RealVideo and RealAudio)

There are many other container formats, such as NUT, MXF, GXF, ratDVD, SVI, VOB and DivX Media Format

## See also

* Archive format
* Comparison of audio coding formats
* Comparison of video codecs
* Comparison of video container formats
* NTFS
* List of codecs
* List of open-source codecs

## References

1. ↑ Ho, Anthony T. S.; Li, Shujun (20 May 2016). Handbook of Digital Forensics of Multimedia Data and Devices, Enhanced E-Book. John Wiley & Sons. pp. 146–(?). ISBN 9781118757079. OCLC 953319457. https://books.google.com/books?id=pDU0DAAAQBAJ&q=container+format&pg=PT146.

## External links

* Online Video File Format Identification Tool \- Designed primarily for CCTV video formats and codecs

* v
* t
* e

Multimedia compression and container formats

Video
compression|

| ISO, IEC, MPEG|

* MJPEG
* Motion JPEG 2000
* MPEG-1
* MPEG-2
* Part 2
* MPEG-4
* Part 2 / ASP
* Part 10 / AVC
* MPEG-H
* Part 2 / HEVC
* MPEG-I
* Part 3 / VVC

|

ITU-T, VCEG|

* H.120
* DCT
* H.261
* H.262
* H.263
* H.264 / AVC
* H.265 / HEVC
* H.266 / VVC
* DV

SMPTE|

* VC-1
* VC-2
* VC-3
* VC-5

TrueMotion|

* TrueMotion S
* DCT
* VP3
* VP6
* VP7
* VP8
* VP9
* AV1

Others|

* Apple Video
* AVS
* Bink
* Cinepak
* Daala
* DVI
* EVC
* FFV1
* Huffyuv
* Indeo
* Lagarith
* Microsoft Video 1
* MSU Lossless
* OMS Video
* Pixlet
* ProRes 422
* ProRes 4444
* QuickTime
* Animation
* Graphics
* RealVideo
* RTVideo
* SheerVideo
* Smacker
* Sorenson Video/Spark
* Theora
* Thor
* WMV
* XEB
* YULS

Audio
compression|

| ISO, IEC, MPEG|

* MPEG-1 Layer II
* Multichannel
* MPEG-1 Layer I
* MPEG-1 Layer III (MP3)
* AAC
* HE-AAC
* AAC-LD
* MPEG Surround
* MPEG-4 ALS
* MPEG-4 SLS
* MPEG-4 DST
* MPEG-4 HVXC
* MPEG-4 CELP
* MPEG-D USAC
* MPEG-H 3D Audio

|

ITU-T|

* G.711
* A-law
* µ-law
* G.718
* G.719
* G.722
* G.722.1
* G.722.2
* G.723
* G.723.1
* G.726
* G.728
* G.729
* G.729.1

IETF|

* Opus
* iLBC
* Speex
* Vorbis

3GPP|

* AMR
* AMR-WB
* AMR-WB+
* EVRC
* EVRC-B
* EVS
* GSM-HR
* GSM-FR
* GSM-EFR

ETSI|

* AC-3
* AC-4
* DTS

Others|

* ACELP
* ALAC
* Asao
* ATRAC
* AVS
* CELT
* Codec 2
* DRA
* FLAC
* iSAC
* Monkey's Audio
* TTA
* True Audio
* MT9
* Musepack
* OptimFROG
* OSQ
* QCELP
* RCELP
* RealAudio
* RTAudio
* SD2
* SHN
* SILK
* Siren
* SMV
* SVOPC
* TwinVQ
* VMR-WB
* VSELP
* WavPack
* WMA
* MQA
* aptX
* aptX HD
* aptX Low Latency
* aptX Adaptive
* LDAC
* LHDC
* LLAC

Image
compression|

| IEC, ISO,
IETF, W3C,
ITU-T, JPEG|

* CCITT Group 4
* DCT
* HEIF
* HEVC
* JPEG
* JPEG XR
* JPEG XT
* TIFF/EP
* Arithmetic
* JBIG
* JBIG2
* JPEG-LS
* JPEG 2000
* LZ
* GIF
* PNG
* TIFF
* TIFF/IT

|

Others|

* APNG
* BPG
* DjVu
* EXR
* FLIF
* ICER
* MNG
* PGF
* QTVR
* WBMP
* WebP

Containers|

| ISO, IEC|

* MPEG-ES
* MPEG-PES
* MPEG-PS
* MPEG-TS
* ISO base media file format
* MPEG-4 Part 14 (MP4)
* Motion JPEG 2000
* MPEG-21 Part 9
* MPEG media transport

|

ITU-T|

* H.222.0
* T.802

IETF|

* RTP
* Ogg

SMPTE|

* GXF
* MXF

Others|

* 3GP and 3G2
* AMV
* ASF
* AIFF
* AVI
* AU
* BPG
* Bink
* Smacker
* BMP
* DivX Media Format
* EVO
* Flash Video
* IFF
* M2TS
* Matroska
* WebM
* QuickTime File Format
* RatDVD
* RealMedia
* RIFF
* WAV
* MOD and TOD
* VOB, IFO and BUP

Collaborations|

* NETVC
* MPEG LA
* HEVC Advance

Methods|

* Discrete cosine transform
* DCT
* MDCT
* Entropy
* Arithmetic
* Huffman
* Modified
* FFT
* LPC
* ACELP
* CELP
* LSP
* WLPC
* Lossless
* Lossy
* LZ
* DEFLATE
* LZW
* PCM
* A-law
* µ-law
* ADPCM
* DPCM
* Transform
* Wavelet
* Daubechies
* DWT
* Transform

Lists|

* Comparison of audio coding formats
* Comparison of video codecs
* List of codecs

See Compression methods for techniques and Compression software for codecs

* v
* t
* e

Media player software

Free software

| Windows|

* Media Player Classic
* MediaPortal
* Mpxplay

|

Linux|

| active|

* cmus
* Kaffeine
* Music on Console
* Noise
* Parole
* Rhythmbox
* GNOME Videos
* Xine
* XMMS2

|

inactive|

* JuK
* Muine
* Ogle DVD Player
* XMMS
* QuuxPlayer
* Baudline
* Helix

Cross-platform|

| active|

* Amarok
* Audacious
* DeaDBeeF
* Exaile
* ffplay
* Kodi
* Mpg123
* MPlayer/mpv (IINA, SMPlayer)
* Emby
* Music Player Daemon
* MusikCube
* qmmp
* Quod Libet
* VLC

|

inactive|

* Banshee
* Miro
* Nightingale
* Songbird
* Zinf
* Clementine

Freeware

| Windows|

* Adobe Media Player
* AIMP
* Dell MediaDirect
* foobar2000
* GOM Player
* Groove Music
* jetAudio
* KMPlayer
* MadCat Media Browser
* Media Go
* MediaMonkey
* Microsoft Movies & TV
* Microsoft Photos
* Mod4Win
* MusicBee
* MusikCube
* InterActual Player
* PotPlayer
* QuickTime
* Quintessential Player
* Style Jukebox
* Winamp

|

Cross-platform|

* Boxee
* DivX Player
* iTunes
* Plex
* QuickTime
* RealPlayer

Commercial (proprietary)

| Windows|

* CD Player
* Connect Player
* DVD Player
* JRiver Media Center
* PowerDVD
* TotalMedia Theatre
* SonicStage
* WinDVD
* Windows Media Center
* Windows Media Player
* Yahoo! Music Jukebox

|

macOS|

* DVD Player
* Front Row
* Peel

Mobile|

* CoreAVC CorePlayer
* Core Pocket Media Player
* doubleTwist
* RealPlayer
* TuneWiki
* Winamp

Lists

* Video players
* Audio players
* Free software audio players
* Portable media players
* Personal video recorders

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Container_format_(computing)&oldid=319424"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template