Material Exchange Format
|Internet media type||
|Type code||"mxf "|
|Type of format||Container format|
|Container for||audiovisual material, rich metadata|
A brief summary of MXF
MXF is a "container" or "wrapper" format which supports a number of different streams of coded "essence", encoded with any of a variety of codecs, together with a metadata wrapper which describes the material contained within the MXF file.
MXF has been designed to address a number of problems with non-professional formats. MXF has full timecode and metadata support, and is intended as a platform-agnostic stable standard for future professional video and audio applications.
MXF was developed to carry a subset of the Advanced Authoring Format (AAF) data model, under a policy known as the Zero Divergence Directive (ZDD). This theoretically enables MXF/AAF workflows between non-linear editing (NLE) systems using AAF and cameras, servers, and other devices using MXF.
MXF in use
MXF is in the process of evolving from standard to deployment. The breadth of the standard can lead to interoperability problems as vendors implement different parts of the standard.
MXF is fairly effective at the interchange of D10 (IMX) material, mainly because of the success of the Sony eVTR and Sony's eVTR RDD to SMPTE. Workflows combining the eVTR, Avid NLE systems, and broadcast servers using MXF in coordination with AAF are now possible.
As of Autumn 2005, there were major interoperability problems with MXF in broadcast post-production use. The two data-recording camera systems which produced MXF at that time, Sony's XDCAM and Panasonic's DVCPRO P2, produced mutually incompatible files due to opaque subformat options obscured behind the MXF file extension. Without advanced tools, it was impossible to distinguish these incompatible formats.
Additionally, many MXF systems produce split-file A/V (that is, the video and audio stored in separate files), and use a file naming convention which relies on randomly generated filenames to link them. Not only does this exacerbate the issue of knowing exactly what is in an MXF file without specialized tools, but it breaks the functionality of standard desktop computer techniques which are generally used to manipulate data on a level as fundamental as moving, copying, renaming, and deleting. Using a randomly generated filename is uninformative to the user, but changing the name breaks the loose database structure between files.[original research?]
Furthermore, the currently popular MXF export tools (i.e. the ones that are free or cost the least) will not allow the user to create a stereo AES file within the MXF wrapper, nor will they allow the user to add free-text annotation to the MXF file so created (in order, for instance, that the next user of the file be able to interpret his or her intentions). Thus, an MXF file received & unwrapped may reveal SMPTE D10 compliant essence with eight mono AES audio components; the recipient has no way of knowing whether these components are multiple stereo pairs, 5.1 or serve some other purpose.
Most of the incompatibilities were addressed and ratified in the 2009 version of the standard.
Sony's XDCAM MXF is supported by Adobe After Effects, Adobe Premiere Pro, Apple Final Cut Pro via XDCAM Transfer, Autodesk Smoke, Avid, Dalet, Harris, Omneon, Quantel, Rhozet, Sony Vegas Pro, Sorenson Squeeze Telestream FlipFactory, Thomson Grass Valley GrassValley EDIUS and K2.
Ikegami offers camcorders capable of recording in MXF wrapper using Avid DNxHD video encoding at 145 Mbit/s, as well as MPEG-2 video encoding at 50 Mbit/s 4:2:2 long-GOP and 100 Mbit/s I-frame.
In 2010 Canon released its new lineup of professional file-based camcorders. The recording format used in these camcorders incorporates MPEG-2 video with bitrates up to 50 Mbit/s and 16-bit linear PCM audio in what Canon has called XF codec. Canon claims that its flavor of MXF is fully supported by major NLE systems including Adobe Premiere, Apple Final Cut Pro, Avid Media Composer, and Grass Valley EDIUS.
The file extension for MXF files is ".mxf". The Macintosh File Type Code registered with Apple for MXF files is "mxf ", including a trailing space.
CinemaDNG (intended by Adobe and others to be an open file format for digital cinema files) exploits MXF as one of its options for holding a sequence of raw video images. (The other option is to store a sequence of DNG files in a specified directory).
NLE and MXF enablers
There are an increasing number of professional NLE's that can work with MXF files natively including Avid, Adobe Premiere Pro 3.1 or above, Sony Vegas, and GrassValley EDIUS or via import operations like in Final Cut Pro using the Sony XDCAM Transfer plug-in. Latest versions of Avid editing products store media in Avid MXF Op-Atom and import/export MXF Op1a or using mxfSPEEDRAIL F1000 applications that supports any kind of MXF flavour. PiTiVi is the first open source video editor to support the Material Exchange Format (MXF).
- FFmpeg, an open source project added support for muxing and demuxing of MXF and MXF D-10 in FFmpeg 0.5, released in March 2009.
- GStreamer is an open source Material Exchange Format (MXF) library. PiTiVi uses this tool.
- Ingex is an open-source (GPL) suite of software for the digital capture of audio and video data, developed and heavily used by the BBC. SDI capture is supported, as well as real-time transcoding (with MXF). Portions of the suite also act as a network file server for media files, as well as archiving to LTO-3 data tape.
The MXF standards
- SMPTE 377M: The MXF File Format Specification (the overall master document)
- SMPTE EG41: MXF Engineering Guide (A guide explaining how to use MXF)
- SMPTE EG42: MXF Descriptive Metadata (A guide explaining how to use descriptive metadata in MXF)
- SMPTE 390M: OP-Atom (a very simple and highly constrained layout for simple MXF files)
- SMPTE 378M: OP-1a (the layout options for a minimal simple MXF file)
- SMPTE 391M: OP-1b
- SMPTE 392M: OP-2a
- SMPTE 393M: OP-2b
- SMPTE 407M: OP-3a, OP-3b
- SMPTE 408M: OP-1c, OP-2c, OP-3c
- SMPTE 379M: Generic Container (the way that essence is stored in MXF files)
- SMPTE 381M: GC-MPEG (how to store MPEG essence data in MXF using the Generic Container)
- SMPTE 383M: GC-DV (how to store DV essence data in MXF using the Generic Container)
- SMPTE 385M: GC-CP (how to store SDTI-CP essence data in MXF using the Generic Container)
- SMPTE 386M: GC-D10 (how to store SMPTE D10 essence data in MXF using the Generic Container)
- SMPTE 387M: GC-D11 (how to store SMPTE D11 essence data in MXF using the Generic Container)
- SMPTE 382M: GC-AESBWF (how to store AES/EBU and Broadcast Wave audio essence data in MXF using the Generic Container)
- SMPTE 384M: GC-UP (how to store Uncompressed Picture essence data in MXF using the Generic Container)
- SMPTE 388M: GC-AA (how to store A-law coded audio essence data in MXF using the Generic Container)
- SMPTE 389M: Generic Container Reverse Play System Element
- SMPTE 394M: System Item Scheme-1 for Generic Container
- SMPTE 405M: Elements and Individual Data Items for the GC SI Scheme 1
Metadata, dictionaries and registries
- SMPTE 380M: DMS1 (a standard set of descriptive metadata to use with MXF files)
- SMPTE 436M: MXF Mappings for VBI Lines and Ancillary Data Packets
- SMPTE RP210: SMPTE Metadata Dictionary (the latest version is available here: http://www.smpte-ra.org/mdd/index.html )
- SMPTE RP224: Registry of SMPTE Universal Labels
Availability of standards
SMPTE's top standards page has information, for the ordering of CD-ROMs, which would hold formal copy of the SMPTE standards. Judging by SMPTE's index, all of the standards, referenced above, would be contained on those CD-ROMs, as available from SMPTE. IRT Test Center contains up-to-date information on the status of the SMPTE documents.
- AAF, Advanced Authoring Format
- BXF, Broadcast Exchange Format
- BWF, Broadcast Wave Format
- OpenCube Technologies
- Pedro Ferreira (23 July 2010). "MXF - a progress report (2010)".
- "Introducing the XF305 and XF300: Canon's New Pro Camcorders". 2010-04-09.
- "STANAG 4609 Edition 2". Retrieved 2010-08-18.
- "FFmpeg Changelog". 2009-03-03. Retrieved 2010-08-20.
- "FFmpeg". 2008-12-03. Retrieved 2010-08-20.
- "Ingex". Retrieved 2009-08-24.
- MXF - a progress report EBU Technical Review, 2010 Q3
- MXF— a technical overview EBU Technical Review, 2010 Q3
- http://www.pro-mpeg.org/ Forum where MXF was initially discussed
- http://www.craystone.co.uk MXF Aware tape units from Craystone of Bolton
- http://www.opencubetech.com/pub/rubrique.php?id=13/ MXF workflow enabler for professionals
- http://www.mog-solutions.com/ MXF solutions for professionals
- http://www.amwa.tv/ Advance Media Workflow Association
- http://mxf.info/ MXF Implementation
- http://www.irt.de/mxf/ MXF Test Center
- http://www.freemxf.org/ A multi-platform open source C++ library for reading and writing MXF files
- RFC 4539 (MIME type registration)
- US Library of Congress Digital Preservation Program: MXF Format Description Properties
- The Ingex Project