Sep 152012

Over the last few days I tried to automatically convert Avid OP-Atom MXF files to ProRes 422 HQ MOV files. At first this didn’t sound too hard but it took me several days to come up with an good solution.

So what’s the problem?

The problem is that Avid uses the so called Operational Pattern Atom. This pattern splits each audio channel and the video data into a separat MXF file. Additionally several audio and video MXF files are kept in the same folder without an easy way to match the corresponding files. After hours and hours I discovered mxfdump (based on MXFlib). This tool allows you to gather the UMID (unique material ID) and the data type (either audio or video) from a given file.

With this help I was able to find the associated media files – but the next problem arised immediately!

Another problem?

Sure! Avid uses a codec called DNxHD. My standard en/decoding tool ffmpeg is not able to handle it correctly. I was happy to discover a fork called ffmbc that is able to decode DNxHD and can encode ProRes HQ.

My solution

To create a good workflow I created a small script called MXFMuxer. It monitors a folder for incoming MXF files and builds up groups using their UMID. After that it validates them (for example if is there at least one audio and video file) and kicks in ffmbc to create a single ProRes 422 HQ MOV file.


  • monitor a folder for incoming files
  • validate them to be sure they are OP Atom and we have a video file and one or two audio tracks
  • convert them to a single ProRes mov file
  • use all the available physical cores while converting (not handled by ffmbc)
  • can be daemonized and scheduled using launchd
  • uses ffmbc and MXFlib
  • delete or move the original MXF files
  • can be easily modified to generate previews for Archiware PresSTORE

Where can I get it?

That’s the best part of it! I have release it as a supplementary utility (see the utils folder) to PresSTORE Media Converter – you can freely download it at Google Code.

But be aware: It’s not that easy to install! You have to compile at least libx264, liblame, mxflib yourself. If you need help just leave a comment!

  5 Responses to “Avid: Automatically converting OP-Atom MXF to ProRes MOV”

  1. Is this possible to reverse engineer what you have here? Such as I have a OP1-A MXF File and I want to convert it to OP-ATOM MXF File?

    By the way this is an awesome script!

  2. HI Florian: I’m not a programmer, but want to convert mxf files to prores and your solution seems best. I downloaded the readme. Do I have to install FFmpeg, ImageMagick and Poppler before I start with your instructions? What is the Terminal Application? Will it be obvious once I have the Developer and MacPorts installed? CAn you tell me where to enter the commands you reference in step 3 and where to enter the code lines you reference in step 4? Thanks so much! Aloha, Robin

    • Hi Robin,
      No the applications get installed by running the commands. However based on your questions I think my solution might not be the right for you. The whole setup and configuration is based on the command line. As you have never used Terminal (OS X’s default terminal emulator and the preferred way to access the command line) I think you should look for a more user-friendly solution.

      • Take a look at the workflow used here. If you don’t have hundreds of MXF files it could be easier to just export them per hand.
      • As an alternative someone else could set my tool up for you. Even I can do it for a small fee if you like. Just let me know.
      • Thanks, Florian: Unfortunately I don’t have Avid. An editor sent me the files that contain archival footage that I want to use in my project. I thought I could transcode them with commercial software, but it doesn’t work on the Op-atom mfx files. I will try to find someone with Avid who can convert the files for me. aloha, Robin

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>