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,
--head-fill 8192)--index-follows)--part 60)--clip-wrap)--track-map singlemca)--primary-package)--no-tc-track)--audio-layout imf). Use the --audio-layout option to override this default value.--display-f2-offset 0)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,
--ref-image-edit-rate)--ref-audio-align-level)--active-height)--active-width)--active-x-offset)--active-y-offset)--center-cut-4-3 and --center-cut-14-9)and SMPTE ST 2067-21 - Application #2E,
--display-primaries)--display-white-point)--display-max-luma)--display-min-luma)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.