bmx

IMF Track Files

The MXF OP1a writer has an Interoperable Master Format (IMF) flavour that helps with the creation of IMF Track Files (as defined in SMPTE ST 2067-2). The flavour makes it easier to create IMF Track Files by pre-selecting certain required options. However, it does not have knowledge of all the Track Files defined for IMF (across SMPTE ST 2067-2, the IMF Applications, the IMF Plug-ins, etc) and it does not enforce compliance. For example, it does not check that the input essence and metadata will result in a compliant Track File.

The IMF flavour is enabled using the -t imf clip type option in bmxtranswrap and raw2bmx. This results in the following settings for OP1a,

The settings can be found in the code by searching for the OP1a define OP1A_IMF_FLAVOUR and the descriptor define MXFDESC_IMF_FLAVOUR. E.g. see if ((flavour & OP1A_IMF_FLAVOUR)) in src/mxf_op1a/OP1AFile.cpp for the bulk of the settings.

IMF Track Files contain only a single essence component. bmx provides support for creating such files. If the input MXF files contain multiple essence tracks then use options such as --disable-video, --disable-audio, --disable-data and --track-map to disable tracks.

A number of topics related to creating complete IMF Track Files can be found in the docs/ directory, including Multi-channel Audio Labels, Timed Text, JPEG 2000 and ProRes.

The bmxtranswrap and raw2bmx tools allow setting metadata defined in SMPTE ST 2067-2,

and SMPTE ST 2067-21 - Application #2E,

IMF Track File names conventionally include the UUID material number of the top-level file source package UMID. This can be accomplished automatically by supplying an output filename argument as a pattern, such as -o {Type}_{fp_uuid}.mxf. This example pattern results in a filename beginning with VIDEO, AUDIO or DATA, such as VIDEO_a145db5d-4623-4233-913f-15e16980b840.mxf, but can be tuned with the --ess-type-names parameter.