MXF Overview

MXF is an open file format, conceived to act as a wrapper of audio-visual content, including associated data and metadata.

MXF is not a codec format: it will wrap any existing or future coding format, such as MPEG-2, AVC or MP3, in such a way that it allows generic decoders to access files in a consistent, format-agnostic manner. It can also carry uncompressed video or audio (PCM). Furthermore, wrapping the content in MXF does not entail any sort of format conversion: MXF is just a thin wrapper around the original encoding format. What does this mean? Unlike transcoding between, say MPEG and DV, the image quality is not altered at all, allowing the same content to be wrapped with various MXF flavours without the slightest impairment in quality.

MXF also defines ways of carrying ancillary data, such as timecode or closed-captions, as well as any metadata scheme. This is one of its major achievements as, for the first time, we have a standard way of bundling together all components of a programme, making it simple to interchange rich content.

MXF is extremely versatile, being useful for such distinct applications as storage of finalised works, just like a tape; streaming, such as edit-while-ingest; creation of cuts-only EDLs bundled with the source material or the definition of playlists/EDLs that point to external files, for the simple creation of multi-language versions of a programme.

Finally, MXF is efficient, as it was designed with a focus on maximizing the flexibility without compromising the efficiency. It defines several tools that can be used by vendors to construct files in ways that are optimized to the task in hand.

Quick technical overview from macro level

MXF is ultimately a collection of Packages of two kinds: File Packages, which represent the source material; and Material Packages, representing the desired output timeline. For example, if you want to compose a clip out of a pair of recordings, your MXF file will have two File Packages and a single Material Package, which instructs the decoder to play the two packages in sequence. Each of these packages is identified by a UMID.

mxf file structure

This concept of Packages is part of MXF’s Structural Metadata (SM). SM is key in MXF, as not only does it define the output timeline, but also it provides fundamental information such as technical characteristics of the media, identification of the packages, hooks to insert Descriptive Metadata, etc. This metadata is transported in the MXF file’s header and can be repeated throughout the files, possibly with updates.

This brings us to the structure of an MXF file (Fig. 2). MXF files are divided into at least two partitions, namely the Header and the Footer. Additional partitions can be inserted in the middle of the file and are called Body Partitions.

Structure of a basic MXF file

Quick technical overview from micro level

At this level, MXF is composed of Key Length Values (KLVs) [5]. A KLV is a triplet composed of a key which identifies what comes next, a length and the actual data. This mechanism is the cornerstone of MXF’s extensibility, allowing a decoder to skip data it does not understand.

And what about Essence? MXF carries it inside Essence Containers, which are a structured way of organizing the picture, audio and data elements. Essence Containers can be frame-wrapped, clipwrapped or custom-wrapped. The first kind wraps each frame and corresponding audio inside its own KLV. The second lumps all the samples inside a single KLV. The latter is used scarcely and is application-defined.

The last major component of an MXF file is the Index Table, which is invaluable to facilitate random access into any frame of the file. Index tables are basically a way to map a frame number into a byte offset and are therefore quite dependent on the essence format, namely whether frames have constant or variable sizes. For example, while an index table for a DV clip is straightforward, one for Long GoP MPEG must index each frame independently.

Controlling complexity

Just like most “large” standards, MXF leaves some room for manufacturers to “play with”. Although this is a good thing, it usually requires that users and manufacturers agree on functionality subsets; otherwise it is too difficult to achieve interoperability. One good example is the definition of MPEG Operating Points that were made for D-10/IMX.

In MXF, this constriction can be made by using Operational Patterns (OP). MXF defines the Generalized Operational Patterns, OP1a up to OP3c. These OPs constrain the complexity of a MXF file by controlling the relationship between File and Material Packages.

mxf sub-format

Generalized operational patterns

For example, an OP1a file has a single File Package and a single Material Package that “points” to the whole File Package. That is, the result of playing back the file is the same of playing all the essence it contains, from the beginning to the end. Another common OP is OPAtom, which requires that an MXF file contains essence of a single track, video, audio or data.

Structure of the standard documents

With extensibility being one of the basic tenets of MXF, it would be unwise to standardize it as a single document, as any extension would require that the standard had to be revised. Therefore, it was decided to split MXF into an open set of documents, allowing evolution to be achieved by defining new standard extensions to MXF.

mxf standard documents

The core of the MXF standard is the File Format document, S377M . It is by far the most important document, as it defines all common aspects of MXF files, irrespective of the essence format or metadata schemes they carry, as well as any constraints imposed by operational patterns.

Then, there are three main kinds of documents:

  • Operational Patterns, e.g. OP1a;
  • Descriptive Metadata plug-ins, e.g. DMS-1;
  • Essence Containers and Essence Container Mappings, e.g. MXF Generic Container [9] and Mapping of MPEG to the Generic Container.
  • Finally, there is a set of related documents, for example, the mapping of MXF Metadata to XML.

    By definition, this set is live: new documents are defined as required, for instance to support new Essence formats. An up-to-date list of all relevant documents can be found on the IRT’s MXF site.

    Filling in the gaps

    Operational Patterns are usually enough to constrain complexity but, on some occasions, other approaches work better or are needed in order to clarify some points.

    For example, some manufacturers publicly disclose the exact format of the MXF files they generate or accept, as did Sony and Panasonic via SMPTE. Another example is EBU R122, which is the outcome of an important work aimed at harmonizing the representation of timecode in MXF files. Finally, the Advanced Media Workflow Association is doing a very relevant work on Application Specifications, namely "AS-02 – MXF Versioning Application Specification", which intends to create a "multi-lingual, multi-versioned, web services friendly constrained version of MXF for use in facilities and systems"

    -- Doc above adopt from Pedro Ferreira's report


    -- Below is a blog intro about mxf from Teach Xiaowu

    MXF does not have a unified codec format, although the file extension are the same as.mxf, you may not be able to do the normal decoding, playback with the normal encoding clips or transcoding output. It is similar to other File Wrapper, a bit like AVI or MOV packaging. Unlike AVI and MOV, .mxf contains more of the metadata and it is one of the new standard.

    MXF structure includes: video codecs + audio codecs + data (Metadata) + manufacturers own code encryption + extension * .MXF.

    For example: Video codec is XDCAM HD + audio codec PCM + data (Metadata) embedded in TimeCode + manufacturers encoding encryption method Matrox Codec + extension * .MXF.

    So 1: When you get the above files it may not be able to open, because your computer is not installed with [manufacturers' own video and audio codec Matrox Codec] .

    2: You can play the file in the player, but can not edit in some editing software. Because your computer has installed XDCAM HD decoder and PCM decoder, but not installed Manufacturer Own video codec and audio codec Matrox Codec, so the editing software can not edit this .MXF video files.

    3: When you get the above files you can play in the player but only the sound no image, because your computer has installed the [XDCAM HD decoder and PCM decoder] and [Audio PCM Encoders and Decoders Matrox Audio Codec], but you do not have the [Matrox Video Codec Video Encoder and Decoder] . So you cannot edit the mxf video.

    ※MXF is divided into the following subtype specifications (sub-format)

  • MXF OP-Atom (Operational Pattern Atom), for example: P2 is used.
  • MXF OP1a (Operational Pattern 1a), for example: XDCAM HD.
  • Other MXF GC (Generic Container), for example: Matrox OP1a uses it.
  • MXF Operational Patterns OP1b, OP1c, OP2a, OP2b, OP2c, OP3a, OP3b, OP3c
  • ※MXF file name format is composed of six letters NNNNLL or LLNNNN, N on behalf of "Arabic numerals", L on behalf of "English letters" For example: 0087GJ.MXF.

    ※OP-1a = Operational Pattern-1a, including video and multi-track sound and related information, packaged together into a single MXF file. Sony XDCAM HD. mxf file, is the use of OP1a mode of operation.

    OP1a MXF file

    ※OP-Atom = Operational Pattern-Atom, which contains several independent files (AUDIO, CLIP metadata, ICON representative picture, PROXY low resolution proxy movie, VIDEO original film, VOICE photographer's voice recording). The bulk of data were individually packaged and become a directory folder of MXF file. But the common metadata or interrelated, can not be deleted or individually move missing, Panasonic P2. mxf file is the use of OP-Atom work mode.

    Panasonic P2 mxf

    Metadata is commonly referred to as "post-data", and the latter is called "information about the data" or "information in the data." The post-data provides information about the source, such as a book or a website name, Author, location, and the time the information was created, etc., because it is later collated to join, so called "post-set data."

    Metadata is to describe the data in the data, such as recording related data, file size, image size, frame rate, sound format, data flow, pixel ratio, codec, color depth, Device type, and so on. Metadata is usually in XML (eXtensible Markup Language) format, because it is shooting, recording or operation generated when there is information, so called Metadata.

    Metadata is like a database, contains many tables, and the table may refer to each other (reference) that is similar to the foreign key database.

    ※ XDCAM, P2 and MXF

    ◎ Sony XDCAM, XDCAM HD MXF work mode

    1. Connect XDCAM or XDCAM HD cameras or VCRs to the editing system via FAM (File Access Mode), ie IEEE1394 or Ethernet, eliminating the need for a large amount of capture time.

    2. Copy the MXF file to the editing system using the Sony PDZ-1 software, Microsoft's IE or FTP browser.

    3. You can also connect the XDCAM HD recorder to the editing system via the HD SDI interface for capture or recording.

    4. Sony XDCAM is divided into DVCAM (25mbps), IMX (50mbps, also known as D10), XDCAM HD (HQ35, SP25, LP17.5mbps) recorded in the extension. mxf.

    5. Now known Matrox AXIO, RT X2, MXO2 Max hardware devices, with Adobe Premiere Pro CS2.0 and newer versions, you can instant playback, editing, you can directly output DVCAM compatible 720x480 MXF format, IMX (also known as D10) compatible with the 720x512 MXF format, XDCAM HD 4: 2: 0 compatible 1440x1080 MXF files, XDCAM HD 4: 2: 2 compatible 1920x1080 MXF format.

    6. Adobe Premiere Pro CS3.1 and newer versions of the software, support MXF (OP-1a format), playback, editing work until CS6 built-in support to generate MXF OP1a format (other versions must use the plug-in Program in order to support the generation MXF OP1a format).

    Sony XDCAM MXF

    ◎ Panasonic P2 MXF work mode

    1. Save Panasonic P2 devices such as card readers, hard disk drives, P2 cameras, FireStore, USB, or IEEE1394 to transfer files to the editing system, which saves a lot of time.

    2. Directly in the P2 high-speed storage hard disk clip, or copy files to the editing system in the first clip. (Must install P2 software)

    3. The MXF of P2 now includes: DV, DVCPRO, DVCPRO 50, DVCPRO HD, AVC-Intra 50, AVC-Intra 100, H.264 Intra (Advanced Video Coding Intra).

    4. Matrox AXIO, RT X2, MXO2 Max hardware devices are now supported, supported by Adobe Premiere Pro 2.0 and later, for playback, editing, and output of P2 compatible MXF files. (Automatically packaged in the CONTENTS folder).

    5. Adobe Premiere Pro CS3.1 and newer versions of the software only support P2's MXF (OP-Atom format) for playback and editing, and directly back to P2 (Export to Panasonic P2).

    Panasonic P2 MXF work mode

    ◎ Sony XDCAM MXF using OP-1a as the packaging standard, an MXF is a video file packaging.

    ◎ Panasonic P2 use OP-Atom as the packaging standard, an MXF is a group of folders, files packaged in CONTENTS, including sub-directory AUDIO, CLIP, ICON, PROXY, VIDEO, VOICE.

    The Audio folder, which holds the original sound files, currently supports up to 6 channels.

    The Clip folder, which holds metadata that uses XML to record the relevant metadata. 

    ICON folder, a representative of the film image, so you can use the thumbnail to determine the video content.

    PROXY folder, stored with low resolution proxy video, usually the browser can read. Avi format.

    Video folder, which holds the original video file. (Normal IE browser can not display thumbnails)

    Voice folder, which holds photographers' voice recording files.

    Sony XDCAM MXF gets their support:

    Adobe After Effects, Adobe Premiere Pro, Apple Final Cut Pro X, Autodesk Smoke, Avid, Dalet, EVS, Harris, Omneon, Quantel, Rhozet, Sony Vegas Pro, Sorenson Squeeze, Telestream FlipFactory, GrassValley EDIUS, Grass Valley K2, and Merging Technologies VCube.

  • Panasonic P2 MXF gets their support:
  • Adobe After Effects, Adobe Premiere Pro, Apple Final Cut Pro X, Autodesk Smoke, Avid, Dalet, EVS, GrassValley EDIUS and Grass Valley K2.

  • Ikegami MXF gets direct support:
  • Avid DNxHD encodes 145 Mbps, MPEG-2 50 Mbps 4:2:2 long-GOP and 100 Mbps I-frame.

  • Canon XF MXF gets their support:
  • Adobe Premiere, Apple Final Cut Pro X, Avid Media Composer, and Grass Valley EDIUS.MPEG-2 50 Mbps, 16-bit PCM sound with XF encoder.

    There is a part .MXF can only rely on the original manufacturer to provide Codec support.