Standards: Containers - Standards For Media Container Files
Media containers are the invisible infrastructure that holds audio, video, subtitles and metadata together in a single synchronized package. This guide maps the landscape of container formats – from legacy AVI to modern MP4 and MXF – and explains how to choose the right one for production, distribution or archiving.
What Are Media Containers?
Choosing the right media container file facilitates ease of production and deployment. Some container types allow multiple time-synchronized assets to be embedded inside a single file. The various codecs in common use and their symbiotic relationship to the media container files are fundamental for packaging content effectively for storage or delivery.
Some containers describe an essence format that is integral to the packaging mechanism. Many of them are based on Matroška and RIFF as their foundation but having come from different regimes they are incompatible with one another at the reading and parsing level even though internally they are very similar. Containers also carry descriptive metadata to facilitate the production.
Why Do We Need Container Files?
Media storage container files are essential for managing and automating workflows. Streaming architectures such as ST 2110 are useful in specific situations but permanent storage is always necessary. Each container format is designed for a specific task:
- RAW Essence – Individual essence files simplify the workflow process. The workflow must maintain the synchronization and run length, but can apply effects and other modifications more easily. This facilitates automation.
- Production – Production files carry uncompressed data for the content editing and creation process. Many different data types are stored in these files. Audio and video are the most obvious, but additional metadata that describes visual effects, 3D models, textures and associated timed text must all be stored in a structured fashion.
- Distribution – File containers for distribution are optimized for streaming to client player applications and devices.
- Archiving – Archival formats benefit from additional metadata for the supporting materials stored with them. It may be expedient to collect scanned images and textual documents into
a single container. A Zip archive might be appropriate. Proprietary and application specific file types are not recommended. Simple, uncompressed sampled audio and individual video frames are good. Plain text files with markup to add styling are more likely to be readable in 500 years’ time than a highly structured word processor file. - Legacy – Because archive and library collections tend to gather assets over a very long time, vintage content will be stored using older formats. These should be carefully documented. Older formats should be up-converted to a higher quality storage container to avoid losing access. Once the assets have been ingested, this can be automated to run on a scheduled basis.
What Do We Need To Carry?
Modern containers can carry multiple video streams and multiple alternative audio tracks for language, accessibility support and surround-sound. Other kinds of media can be stored and synchronized with the video and audio for subtitles and interactive presentations.
| Content | Notes |
|---|---|
| Video | Lossless for production, lossy permitted for deployment. |
| Secondary-video | Additional video tracks for multi-angle viewer selection. |
| Audio | High quality lossless for production but can be down-sampled and compressed for deployment. |
| Audio description | Additional audio track for accessibility. |
| Commentary | Optional extra tracks for commentary by the film makers. |
| Surround-sound | Multiple tracks of spatial audio. |
| Subtitles | Stored as Unicode text in one or more languages. |
| Event triggers | Timed events to activate JavaScript handlers to update the user interface. |
| Seek buttons | Skip buttons for trailers and recaps implemented as an event trigger with a target play-head position as a payload. |
| URL tracks | Links to call up web pages in a separate browser app or call JavaScript functions directly in the current page. |
| Metadata | Describes the format and semantics of the content. |
Containers Vs. Codecs
Confusion sometimes arises because a few containers have the same name as a codec stored inside them. The AVC/H.264 video codec has several alternative names which adds to the uncertainty. Currently the most popular codecs for end-user deployment are:
- AV1.
- AVC.
- HEVC.
- MPEG-2.
- VP9.
These can all be carried in the ISO standard MP4 container along with anything else that has been registered as a compatible media type. Virtually anything can be stored in a Matroška container file.
You may see containers described as being lossless but the containers themselves do not affect the video quality. They are simply a means of packaging the output of a codec. It is the codec that might be lossy and not the container!
Compatible Combinations
Certain combinations of video and audio codecs are frequently used together. If you defy the conventions and use an unusual combination, your viewers may only see the video but not hear the sound, or vice-versa. The container type dictates your available choice of audio and video codecs.
| Format | WebM | MKV | MP4 | QTFF | ASF | AVI | MXF |
|---|---|---|---|---|---|---|---|
| MPEG-1 Video | No | Yes | Yes | Yes | Yes | Yes | Yes |
| MPEG-2 Video | No | Yes | Yes | Yes | Yes | Yes | Yes |
| AVC (H.264) | No | Yes | Yes | Yes | Yes | Yes | Yes |
| HEVC (H.265) | No | Yes | Yes | Yes | Yes | Yes | Yes |
| AV1 | Yes | Yes | Yes | No | No | No | No |
| VP8 | Yes | Yes | Yes | No | Yes | Yes | No |
| VP9 | Yes | Yes | Yes | No | Yes | Yes | No |
| MVC | No | Yes | No | No | No | No | No |
| M-JPEG | No | Windows | Yes | Yes | Yes | Yes | No |
| JPEG 2000 | No | No | Yes | No | No | Not standard | Yes |
| Apple ProRes | No | No | No | Yes | No | No | Yes |
Common Container Files
There are many alternative container formats to choose from. Some are designed for simple carriage of a specific kind of media essence. Others are general purpose packaging formats but can also be used for media. There is a small sub-set of formats that you will likely encounter in day-to-day use.
- AAF – Advanced Authoring Format.
- AES31 – Portable audio content.
- AIFF – Audio Interchange Files.
- ASF – Advanced System Format.
- AVI – Audio Video Interleave.
- IMF – Described by SMPTE ST 2067.
- Matroška – The basis of many other open formats.
- MPEG-4 – Based on ISOBMFF.
- MXF – Material eXchange Format.
- PDF – Portable Document Format.
- QTFF – QuickTime File Format.
- WAV – Waveform Audio Files.
- WebM – Web Media Files.
- Zip – Generic archive packaging (also used as the basis of some document types).
The most versatile container formats are the ISO Base Media Format Files (ISOBMFF) also known as MP4 (MPEG) and the MKV (Matroška) format. These offer the widest range of codec compatibility and support across multiple platforms. The MP4 format in particular is well supported in all browsers and many other kinds of devices. The AVI file format is almost as versatile but lacks support for some modern codecs.
Analyzing Container Files
An archiving system with historical content will likely contain some ancient formats in addition to the more familiar and commonplace modern containers. You need a range of generic tools to operate on them. It is important to understand their internal structure. That equips you to design more powerful workflow processes to interact with them. Here are some toolkit ideas:
- Examining the internals of video, audio & image file formats.
- Hex dumping files for analysis.
- Disassembly tools to inspect the internal structure in detail.
- Validation tools to look for incorrectly formatted content.
- QA checking tools to validate that the file has all the metadata required for distribution.
- Reading the headers to extract metadata.
- Internal metadata vs file system modification time stamping.
- Identifying unlabeled files.
- Forensics and tracing the provenance of the content.
- Verifying the authenticity of content.
- Detecting AI generated content.
- Command line tools to extract metadata to steer shell scripts.
- Modifying the file content from the command-line.
Identifying Unlabeled Files
The forensic and verification processes will increasingly rely on technologies such as C2PA which can embed metadata and watermarks to authenticate content.
In a UNIX environment the File Magic tools are useful for identifying unlabeled files with missing or incorrect file extensions. Alternatively, use the od command to dump out the first few bytes of a file for inspection. Files often have recognizable tags at the beginning which identify the content type. The File magic tools use this to identify the file type.
If containers have been created correctly, the file extension should identify the content. In some cases, the essence carried inside the container may need to be inspected to determine what it is when the file extension is ambiguous.
File Name Extensions
File name extensions identify the contents of a file provided the correct one is used. Some containers have multiple alternative file extensions for subtle variations of their content. Audio only and video content often have different file extensions. Some file types have synonyms that identify the container type with more than one extension, but the content is identical for both extension values. One of these will be the default or preferred file name extension.
Selecting an appropriate handler inside your software application can use a coding technique called a dispatcher. This examines the value of the file extension and builds a switch/case tree to select the right code:
- Always select the last item from the filename splitting process. This avoids spurious cases where the filename might have multiple period characters embedded. That is more commonplace than you would expect.
- Convert the file extension to lower case to avoid the need for multiple switching routes for upper and lower case variants. Some file systems behave differently regarding the sensitivity and preservation of upper/lower case naming.
- Always implement a default generic handler in your switch trees for unmatched extensions.
Here is a pseudo code example that is easily translated into the language of your choice:
$myFileName = search directory for a filename;
$myFileNameSplit = array by splitting filename;
$myFileExtension = Select
the last element of
$myFileNameSplit;
$myFileExtension = toLowerCase($myFileExtension);
Switch($myFileExtension)
{
case “heic” call HEIC inside HEIF handler;
break;
case “heif” call HEIC inside HEIF handler;
break;
case “hif” call special purpose Nikon handler;
break;
Default call generic handler;
}
These are the file name extensions for container types you may encounter. There are others that are more obscure and may crop up in rare circumstances. Some of these are simple containers for a single element or media object. Others can carry multiple elements which are synchronized for presentation in a player:
| File ext | Description |
|---|---|
| .3g2 | Mobile phone video or audio. |
| .3gp | Mobile phone video or audio. |
| .aac | AAC Audio file. |
| .aaf | Advanced Authoring Format files. |
| .aifc | Compressed Audio Interchange File Format. |
| .aiff | Audio Interchange File Format. |
| .asf | Advanced Streaming Format (Compressed Windows audio/video). |
| .au | Audio file. |
| .audio.mcf | MCF-file, only containing audio. |
| .av.mcf | MCF-file, containing audio and video (this is the normal case). |
| .avi | Audio Video Interleave file. |
| .avif | AV1 Image File Format. |
| .caf | Apple Core Audio Files used by GarageBand, Soundtracks Pro, Logic and iMessage audio messages. |
| .dvb | DVB-FF files for recording off-air broadcasts. |
| .evo | Enhanced Video Object file used by HD DVDs. |
| .f4v | A container format for Flash Video as an alternative to FLV. |
| .flac | Audio file containing FLAC encoded lossless audio. |
| .flv | A container format for Flash Video. |
| .gif | Graphics Interchange Format (Ancient). |
| .heic | Compressed HEIF raster image file. |
| .heif | Compressed HEIF raster image file. |
| .hif | HEIF file as used on Nikon cameras. |
| .img | Disk image. Normally ISO but other formats may be embedded with different file systems that might not be mountable on your OS. |
| .m2p | MPEG Program stream. |
| .m2t | MPEG Transport Stream. |
| .m2ts | BDAV MPEG-2 transport stream. |
| .m4a | MPEG4-14 audio file. May be carrying AAC coded audio. |
| .m4p | DRM protected MPEG4-14 audio file. |
| .m4r | An alternative name for m4a files. |
| .m4v | MPEG4-14 video file which might also have DRM. |
| .mcf | Multimedia container format file with no explicit content type specified. |
| .mid | MIDI music file. |
| .mid | MIDI music file. |
| .mka | Matroška audio file. |
| .mkv | Matroška video file. |
| .mov | QuickTime movie container. |
| .mp2 | MPEG audio file. |
| .mp3 | MPEG layer 3 audio stream. |
| .mp4 | MPEG4-14 ISOBMFF multimedia container. |
| .mpa | MPEG audio stream containing layer 1,2 or 3 content. |
| .mpeg | Multimedia container format. |
| .mpg | Three letter version of the mpeg file extension. |
| .mts | MPEG Transport Stream. |
| .mxf | Material exchange format as defined by RFC 4539 and ST 377. |
| .oga | Audio stored in the Ogg container format. |
| .ogg | Vorbis audio stored in the Ogg container format. |
| .ogv | Video stored in the Ogg container format. |
| .opus | Opus audio stored in the Ogg container format. |
| Portable Document Format. | |
| .png | Portable Network Graphics file. |
| .ps | MPEG Program stream (not to be confused with Adobe Postscript source files). |
| .rm | Real Media. |
| .rmvb | Real Media Variable Bitrate. |
| .snd | Audio content. |
| .swf | Ancient Flash multimedia container format. |
| .tak | Lossless audio container. |
| .tar | Ancient UNIX based archive packaging format. |
| .ts | MPEG Transport Stream file. |
| .tsa | MPEG Transport Stream file carrying audio content. |
| .tsv | MPEG Transport Stream file carrying video content (not to be confused with Tab Separated Values data files). |
| .video.mcf | MCF-file, only containing video. |
| .vob | Video object file as used by DVDs. |
| .wav | Microsoft audio file. |
| .weba | WebM container carrying audio. |
| .webm | Royalty free media container. |
| .webp | Web image file. |
| .zip | ZIP archive file. Other file extensions are introduced by the open-source version of the ZIP archiver. |
Product Design & Coding Quality
We just contemplated a small coding example that implements a switch tree dispatcher. Coding is not only a specialist craft skill but somewhat of an art that is improved by experience and diligence.
After 10,000 hours of practice you will become adept and highly skilled at any endeavor you apply yourself to. Aspire to become a JEDI Master.
Choosing the right algorithm is important. The wrong one leads to excessive code needed to make it do what you wanted.
Reduce the number of lines of code without obfuscating it. I guarantee that six weeks later even the programmer who wrote it will struggle to understand what they composed. Less code = less maintenance overhead.
Look for useful command-line solutions that you can invoke with a single instruction. For example, OpenOffice does a much better job of rendering a PDF from an MS Word document file than the 100 thousand lines of PHP code you need to implement to accomplish the same task. Wrap OpenOffice in a shell script and call it from PHP with an exec() function.
Design for robustness and test frequently while coding to ensure the software is doing what is expected.
Concentrate on boundary scenarios for that is where the dragons live.
| Language/Tool | Description |
|---|---|
| PHP, SQL | PHP calling out to databases using SQL scripts. |
| Shell, OpenOffice | Document conversion using OpenOffice driven via the command-line. |
| PHP, Shell | Command line shell scripts and tools called from PHP using the exec() function. |
| C and Objective-C | Auxiliary tools written in ANSI standard C and steered by shell scripts. Objective C is even more powerful. Newer languages such as Swift are also relevant for creating compiled apps. |
| Python, Perl | Scripts written in Python and Perl to exploit their strengths in text processing. |
| HTTP protocol | Remote resources called using HTTP via the CURL and WGET tools. |
| ImageMagick | Command line tools such as ImageMagick for script driven image rendering. Insights gained from working with Photoshop inform how to do this. It is equally powerful. |
| TCPDF, GhostScript, PostScript, PDF | PDF creation with TCPDF libraries or ingest with GhostScript. |
| Mail, MIME types, SMTP protocol | Mail services integration with the PHPMailer library. |
Skilled developers work in several coding languages at the same time. For example, this is a very powerful combination for high performance web server back-end development.
Selecting an appropriate language is also vital. Languages are not all created equal even if they do support many of the same programming constructs. Choosing the wrong language because it is the only one you are familiar with will lead to serious problems later on.
Libraries of code obtained from open-source projects are powerful time savers. Open source apps often have command-line interfaces that can empower your designs.
Develop a mindset that always builds robust behavior into your product design and coding to avoid the need for maintenance fixes later. It may take a little bit longer but it will save time, trouble and money. You also avoid the damage to your brand image and reputation caused by fixing bugs in public view. That just demonstrates ineptitude and insults your customers. Always go the extra mile so your customers won’t have to.
Abbreviated Container Type Names
These are not file extensions but abbreviations that are often used to describe media containers in documentation.
| Abbrv | Format |
|---|---|
| 3G2 | 3GPP2. |
| 3GP | 3GPP. |
| AIFF | Audio Interchange File Format. |
| ALAC | Apple Lossless Audio Codec. |
| ASF | Advanced Systems Format. |
| AVI | Audio Video Interleave. |
| DMF | DivX Media Format. |
| EVO | Enhanced VOB. |
| F4V | Flash Video. |
| FLAC | Free Lossless Audio Codec. |
| FLV | Flash Video. |
| ISOBMFF | ISO Base Media File Format. |
| M2TS | Blu-ray BDAV MPEG-2 transport stream. |
| MKV | Matroška nested object file. |
| MP4 | MPEG-4 Part 14. |
| MXF | Material Exchange Format. |
| PS | MPEG program stream (Do not confuse with raw PostScript print stream). |
| QTFF | QuickTime File Format. |
| RIFF | Resource Interchange File Format. |
| RMVB | RealMedia Variable Bitrate. |
| TS | MPEG transport stream. |
| VOB | DVD Video Object. |
| WAV | Waveform Audio File Format. |
Format Owners & Creation Dates
New container formats are developed from time to time. It is argued that the later ones are more useful because we would expect them to inherit features from what went before. The Matroška container is probably the most versatile and has been around for some time. The more recent Adobe Flash video containers are now obsoleted so later doesn’t always mean better.
| Vintage | Owned by | Format |
|---|---|---|
| 1991 | Apple | QuickTime File Format (QTFF) |
| 1992 | Microsoft | Audio Video Interleave (AVI) |
| 1993 | MPEG | MPEG program stream (PS) |
| 1995 | MPEG | MPEG transport stream (TS) |
| 1996 | Microsoft | Advanced Systems Format (ASF) |
| 1996 | DVD Forum | Video Object (VOB) |
| 2001 | MPEG | MPEG-4 Part 14 (MP4) |
| 2002 | Matroška | Matroška (MKV) |
| 2003 | 3GPP | 3GPP (3GP) |
| 2003 | Adobe | Flash Video (FLV) |
| 2003 | Xiph | Ogg |
| 2003 | RealNetworks | RealMedia Variable Bitrate (RMVB) |
| 2004 | 3GPP2 | 3GPP2 (3G2) |
| 2004 | Blu-ray Disk Association | BDAV MPEG-2 transport stream (M2TS) |
| 2004 | SMPTE | Material Exchange Format (MXF) |
| 2005 | DivX | DivX Media Format (DMF) |
| 2006 | DVD Forum | Enhanced VOB (EVO) |
| 2007 | Adobe | Flash Video (F4V) |
| 2010 | Web Media (WebM) |
Patent Rights & Intellectual Property Issues
Patent and royalty issues may determine your choice of container. Some licenses cover patented technologies which are provided free of charge while others levy a fee on all content created with them.
The MPEG standards are usually patent encumbered and require license fees to be paid. The Matroška format (MKV) is license free and whilst the WebM profile might prefer to use codecs built with patented technology, they are carried in a royalty free container.
Note that there may be royalties on the video codecs used to code the video stored in a container but not on the container formats that carry the essence. Since container formats are standardized separately, any patent encumbrance could apply to either, both or neither.
| Format | Licensing |
|---|---|
| Matroška | Free and open. |
| WebM | Royalty free. |
| Advanced Systems Format | Container is free but codecs stored in it may require license fees. |
| Ogg | Open-source. |
| SMPTE Material Exchange Format | Patent-free. |
| MPEG program stream | Patent-free. |
| MPEG transport stream | Patent-free. |
| QuickTime File Format | Proprietary. |
| Audio Video Interleave | Proprietary. |
| Flash Video | Proprietary. |
| Real Media Variable Bitrate | Proprietary. |
| DivX Media Format | Proprietary. |
| MPEG-4 Parts 1,12,14 and 15 | Patent encumbered. |
| BDAV MPEG-2 transport stream | Patent encumbered. |
| Video Object | Patent encumbered. |
| Enhanced VOB | Patent encumbered. |
| 3GPP | Patent encumbered. |
| 3GPP2 | Patent encumbered. |
| Flash Video | Patent encumbered. |
Media Type Identifiers
These Media Type identifiers are used when delivering content over a network connection, usually to a web browser but not exclusively. Any application can use them to identify specific or generic formats.
These values are sometimes described as MIME types. The name is inherited from when they were first invented to identify individual parts of a mail message so that attachments could be included. It is appropriate to use that terminology when they are described in the context of a mail message forming part of the title of an RFC document.
Most of these media type identifiers are registered with the IANA but a few are not. One web site that claims to list all the available media types declares that there are nearly 3700 different kinds, but even that list is incomplete. There are other identifiers used in broadcasting that are not included in that collection.
The Media Type identifier format is in two parts. The first is the general category and the second is the unique type. The same unique suffix type may be cited in several categories to describe different contexts and container contents. For example:
- video/ogg
- audio/ogg
The ‘X-’ prefixed media type identifiers are sometimes used to introduce new features into web browsers and other software. The prefix hides them for general use and allows experimentation with the features until they are confirmed to work. At that point the prefix is removed. The temporary media types are not canonical and should not be registered with the IANA.
The media type identifiers you are most likely to encounter in a broadcasting context are listed here under their separate categories.
Generic Containers
These containers can be used for a variety of different media:
| Media Type | Reference | Description |
|---|---|---|
| application/mp4 | RFC4337, RFC6381 | MPEG-4 video. |
| application/mxf | RFC4539 | MXF file. |
| application/ogg | RFC5334, RFC7845 | Generic Ogg container. |
| application/vnd.aaf | AMWA | Advanced Authoring Format file. |
| application/x-iff | EA | Interchange File Format. |
| application/x-iso9660-image | ISO | ISO disk image. |
| application/x-riff | Library of Congress | Resource Interchange File Format. |
| application/x-tar | POSIX | TAR archive file. |
| application/zip | PKWARE | ZIP archive file. |
Audio Media Type Identifiers
Some identifiers are defined to describe audio-only content. Audio can be carried on its own in the video types, but it is not recommended to deliver video in the audio-only containers to avoid confusing the player logic:
| Media Type | Reference | Description |
|---|---|---|
| audio/3gpp | RFC3839, RFC6381 | 3GPP audio file. |
| audio/3gpp2 | RFC4393, RFC6381 | 3GPP2 audio file. |
| audio/aac | ISO-IEC_JTC_1 | AAC audio file. |
| audio/aiff | Apple | AIFF audio file (preferred type code). |
| audio/aiff | Apple | AIFF-C audio file. |
| audio/x-caf | Apple | Core Audio Files. |
| audio/DV | RFC6469 | DV video file. |
| audio/flac | RFC9639 | FLAC audio file. |
| audio/matroska | RFC9559 | Generic Matroška container. |
| audio/mp4 | RFC4337, RFC6381 | MPEG-4 audio file. |
| audio/mpeg | RFC3003 | Generic MPEG audio file. |
| audio/ogg | RFC5334, RFC7845 | Ogg audio file. |
| audio/opus | RFC7587 | Opus codec in an Ogg container. |
| audio/tak | TAK website | TAK lossless audio container. |
| audio/vnd.dvb.file | DVB | Audio only DVB-FF files. |
| audio/vorbis | RFC5215 | Vorbis audio file. |
| audio/wav | Microsoft | WAV audio file (preferred media type identifier). |
| audio/webm | WebM container carrying audio. |
Image Media Identifiers
These are a few of the more popular image types. There are many more. Some of them support a variant that carries a sequence of images that is presented as a very short looping movie.
| Media Type | Reference | Description |
|---|---|---|
| image/avif | AOMedia | AVIF image file. |
| image/heic | ISO-IEC_JTC_1 | HEIC image file. |
| image/heif | ISO-IEC_JTC_1 | HEIF container. |
| image/jpeg | RFC2045, RFC2046 | JPEG image file (preferred type code). |
| image/png | W3C | PNG image file. |
| image/webp | RFC9649 | WebP image file. |
Video Media Identifiers
Video encapsulation should use containers that are labelled as such. It is often permitted to carry audio with no video streams but you should confirm that with the specifications. Video content has a display rectangle where sub-titles may be displayed. If there is no video rectangle the player may struggle to support them:
| Media Type | Reference | Description |
|---|---|---|
| video/3gpp | RFC3839, RFC6381 | 3GPP video file. |
| video/3gpp2 | RFC4393, RFC6381 | 3GPP2 video file. |
| video/AV1 | AOMedia | AVI video file. |
| video/DV | RFC6469 | DV video file. |
| video/jpeg | ISO | Motion JPEG video file. |
| video/jpeg2000 | RFC5371, RFC5372 | Motion JPEG2000 video file. |
| video/matroska | RFC9559 | Matroška video file. |
| video/mp2p | ISO | MPEG Programme Stream. |
| video/mp2t | ISO | MPEG Transport Stream. |
| video/mp4 | RFC4337, RFC6381 | MPEG-4 video file. |
| video/mpeg | RFC2045, RFC2046 | Generic MPEG video file. |
| video/ogg | RFC5334, RFC7845 | Ogg container carrying video. |
| video/quicktime | RFC6381 | QuickTime media container. |
| video/smpte291 | RFC8331 | SMPTE ancillary data container file. |
| video/vnd.dvb.file | DVB | All DVB-FF files including audio only. |
| video/VP8 | RFC7741 | VP8 coded video file. |
| video/VP9 | RFC9628 | VP9 coded video file. |
| video/webm | WebM container carrying video. | |
| video/x-m4v | ISO | MPEG-4 video file. |
Relevant Standards
Where a standard comprises multiple separate documents that are not enumerated, the date for the latest part or amendment is used to define the vintage of the whole standard:
| Document | Vintage | Description |
|---|---|---|
| DVB-A158 | 2011 | Guidelines for the Use of the DVB File Format Specification for the Storage & Playback of DVB Services. |
| ECMA 119 | 2025 | Also published as ISO 9660 but the ECMA document is free & may be more up to date. |
| ETSI TS 102 584 | 2011 | DVB-SH Implementation Guidelines. |
| ETSI TS 102 833 | 2008 | DVB File Format Specification for Storage & Playback of DVB Services. |
| ISO 9660 | 2023 | CDR disk image (see ECMA 119). |
| ISO 10918-5 | 2013 | JPEG File Interchange Format (JFIF). |
| ISO 14496-12 | 2020 | MPEG ISOBMFF – Deeper dive in more detail. |
| ISO 14496-14 | 2003 | MP4 File Format. |
| ISO 14496-15 | 2022 | AVC File Format. |
| ISO 15444-2 | 2021 | JPEG JPX files. |
| ISO 15444-6 | 2003 | JPEG Compound image format. |
| ISO 15444-12 | 2015 | Storing JPEG 2000 images in ISOBMFF. |
| ISO 15444-16 | 2021 | HEIF – Encapsulating JPEG 2000 HEIC images inside HEVC files. |
| ISO 18181-2 | 2024 | JPEG XL – Image file format. |
| ISO 19566-1 | 2016 | JPEG files. |
| ISO 21122-3 | 2022 | JPEG JXS files. |
| ISO 23000 | 2020 | MPEG-MIAF – Multi-Image Application Format. |
| ISO 23004 | 2009 | MPEG-E – Multimedia Middleware. |
| ISO 23006 | 2019 | MPEG-MXM – MPEG-M – Extensible middleware. |
| ISO 23008-10 | 2015 | HEIF (2). |
| ISO 23008-12 | 2025 | HEIF – High Efficiency File Format. |
| ISO 29116 | 2008 | Supplemental Media Technologies (See MPEG-M Part 4). |
| ISO 32000 | 2020 | PDF files. |
| RFC 4539 | 2006 | MXF file format. |
| RFC 4539 | 2006 | MXF file format. |
| ST 377-1 | 2019 | MXF file format specification. |
| ST 377-2 | 2019 | KLV-Encoded Extension Syntax (KXS). |
| ST 377-4 | 2021 | Multichannel Audio Labelling Framework. |
| ST377-41 | 2023 | Multichannel Audio Controlled Vocabulary Content Property Values. |
| ST 377-42 | 2021 | MCA Label Controlled Vocabulary. |
| ST 429 | 2023 | DCP – Digital Cinema Package. |
| ST 2067 | 2024 | SMPTE-IMF. |
| ST 2127 | 2024 | Mapping audio into MXF containers. |
| TSP 2121 | 2019 | IMF Application – DPP using Apple ProRES. |
Choose Your Containers Carefully
For deployment on the Internet, the WebM and MP4 containers together offer the widest possible support. Implement your <video> tag in a web page so it will fall back to secondary formats if the first one is not supported. The browser will gracefully handle the choice of media. Note that the video and audio codecs supported by WebM are chosen because they are royalty free and you may require special tools to encode the content.
Production Video can be managed with MP4 files but the codecs must be profiled correctly to avoid losses. The AVC and HEVC codecs both support lossless profiles. Apple ProRes is popular for TV production work but can only be carried in QuickTime or MXF containers.
The MKV (Matroška), MP4 (ISO) and MXF (SMPTE) containers are the most versatile for building automated workflows.
The MXF file format lacks support for some end-user deployment codecs because it is designed for B2B scenarios and not for delivery to the general public. Check the SMPTE standards library before starting a project with MXF as the standard is still being improved from time to time. Using an older version of the standard may work for now but it may break later when the receiving end uses a later description. Watch for updates and pay attention to any necessary code alterations flagged by the revision.
Consider the codec and container formats for your audio and video content carefully to avoid limiting your choice of codecs. Some combinations are mandated and others are prohibited.
Storing media in container files must be an entirely lossless process even if the payload might have been compressed with a lossy codec.
Worldwide Standards Convergence
The SMPTE IMF file format is an industry standard preferred by many organizations that need to share content. Whilst there are alternatives that may be technically superior, some of them are proprietary.
The creation of world-wide standards and supporting advisory documents – such as SMPTE TSP 2121 which describes the Interoperable Master Format for use in DPP applications using Apple ProRes coding – moves us closer to content that can be deployed in multiple countries with little or no post-processing required.
If this level of collaboration continues, the future does look very encouraging, but it will depend on agreed standards to make it all work.
These Appendix articles contain additional information you may find useful:
Supported by
You might also like...
Network Traffic Engineering: RIST & SRT - The Success Of ARQ Based Protocols
IP networks are inherently unreliable. We kick off this series on IP Network Traffic Engineering with a look at how RIST and SRT give broadcast engineers user-configurable control over the latency-versus-reliability trade-off for real-time media streaming.
Standards: Video - Standards For Video Coding
From 4K to 32K, the demand for ever-larger video formats is pushing codec technology to its limits. This guide surveys the landscape of video coding standards – from legacy MPEG formats to AI-driven neural network compression – to help navigate the choices sha…
Broadcast Standards 2026 – Video Coding
Video coding was developed to deliver video conferencing services over low-bandwidth modem connections, but modern demands for ever-larger video formats are pushing codec technology to its limits.
Network Traffic Engineering: Part 1
IP networks are inherently unreliable. They always have been – it is literally designed in as a feature.
Standards: An Introduction To Standards
There are many standards relevant to the broadcasting and media industry. In this section we examine the background to standards, who develops them, where to find them and why they are absolutely and totally necessary.