The multiplatform nablet IMF SDK includes tools for muxing and de-muxing of IMF files.
The Interoperable Master Format (IMF) is a SMPTE standard for the file-based interchange of content with multiple versions. It evolved from digital cinema, and is growing rapidly in popularity among broadcasters, OTT providers and many other content-centric businesses. The nablet IMF SDK includes a sample application to generate IMF-compliant XML for existing MXF files. An additional sample shows demuxing of an IMF packing list, and remixing MXF to IMF.
It is provided as a 32- and 64-bit C++ SDK. GStreamer and DirectShow modules are planned. The toolkit is available for Windows, macOS and Linux.
The nablet IMF SDK works well with nablet MXF, MPEG-2 and H.264 encoder and decoder SDKs.
n_demux_mxf.lib – MXF demuxer
n_imf_composer.lib – IMF composer to generate XML files
n_imf_demuxer.lib – IMF demuxer
n_imf_muxer.lib – IMF muxer
n_mux_mxf.dll – MXF demuxer
same as bin64 but 32-bit platform
All necessary includes
imf_composer_test – sample application showing how to generate IMF XMLs for existing MXF files
test_imf_demux – sample showing how to demux IMF packing list
test_mxf2imf – sample showing how to remux MXF file to IMF files set
Due to the limited available test cases there are some known limitations:
- The IMF muxer and composer does support IMF Application #2, i.e. ST 2067-20:2016 (j2k + pcm streams). Other applications like IMF Application #3 (MPEG-4 Visual Simple Studio Profile) may generate errors. We appreciate your feedback to help us fix any problems that may occur.
- Multiplexing of ancillary data track may generate errors. We appreciate your feedback to help us fix any problems that may occur.
- The IMF demuxer does support packing list parsing and demuxing. Parsing for composition playlists is not currently supported.
- The IMF demuxer will try to demux all formats known for low-level MXF demuxer.
Demo Version and Pricing
The Windows demo version is available below. Other versions are available by request. Please use the “Contact Us” button below to request a different version or pricing.