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.
Features
- 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!