Material eXchange Format (MXF) is a container format for professional digital video and audio media defined by a set of SMPTE standards. MXF is a file format for the exchange of programme material between servers, tape streamers and to digital archives. Its contents may be a complete programme as well as complete packages or sequences. There are basic facilities available for cuts between sequences and audio crossfades. This way the sequences can be assembled into programmes. MXF is self-contained, holding complete content without need of external material.
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
MXF and AAF
Advanced Authoring Format (AAF) is an industrydriven open standard for multimedia authoring and postproduction. It enables content creators to easily exchange digital media and metadata across platforms and between applications. It simplifies project management, saves time and preserves valuable metadata that was often lost in the past during media transfers.
MXF is derived from the AAF data model and is a simple interchange format, primarily to facilitate the transfer of finished content, whole programmes or completed sections, between servers and to tape streamers. MXF also helps with the migration of playout operations and simpler production systems into standard networked environments.
The two formats are especially complementary. Whereas AAF integrates closely with, and complements, existing media file formats, MXF offers the same for existing stream formats as well as AAF files. Both formats can stand on their own and each has a functionality and design optimised for their particular spheres of application. At the same time, one does not depend on the other. For example, a whole broadcast system may use only MXF and a postproduction house, just AAF, but a broadcaster with a post facility may well use both.
While the MXF and AAF are complementary, there are many differences. One is that AAF may carry references to outside material held in other places, to be used in an edit whereas MXF is always complete and self-contained: not requiring any access to outside material. In addition AAF includes basic video transition processing whereas MXF, carrying completed programme material, has no need of that.
MXF in use
Sony’s XDCAM MXF is supported by Adobe After Effects, Adobe Premiere Pro, Apple Final Cut Pro via XDCAM Transfer and MXF4Mac, Autodesk Smoke, Avid, Dalet, Front Porch Digital, Harris, mxfSPEEDRAIL, Omneon, Quantel, Rhozet, Sony Vegas Pro, Sorenson Squeeze Telestream FlipFactory, Thomson Grass Valley GrassValley EDIUS and K2. The program has full support to convert Sony XDCAM/Canon XF/Panasonic DVCPRO HD P2 MXF to CyberLink PowerDirector compatible formats.
Panasonic’s P2 MXF is supported by Adobe After Effects, Adobe Premiere Pro, Apple Final Cut Pro, Dalet, Autodesk Smoke, Avid, MXF4mac for Final Cut Pro, mxfSPEEDRAIL and P2Soft from OpenCube Technologies.
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.
Free programs to use file extension .MXF files: VLC media player can open and play file extension .MXF files. Don’t worry, since FCP X has no native support for the MXF format, you can transcode MXF to Apple Prores codec which has been designed to work especially well as high quality, performance editing codec for Final Cut Pro X.
A multi-platform C++ library for reading and writing MXF files. MXFLib is an Open Source project and can be found of SourceForge at http://sourceforge.net/projects/mxflib. It is platform independant and has so far been tested on: Windows, MacOS X, SUSE Linux, Redhat Linux, FreeBSD and Solaris.
More detailed information