Preparing FCP Sequences for Distributed Editing via XML

kentbye's picture
| | | |

I've been spending the last couple of days learning the ropes with Motion 2, Soundtrack Pro, Garageband and the new features in Final Cut Pro 5.

Lots of new tools that provide even more possibilities.

I thought I'd report some preliminary results from some of my experiments with the Final Cut Pro XML export capabilities.

There seems to be some promising possibilities for doing distributed editing of interview footage by using dummy MP3 audio files that are linked to offline static video & high-res audio footage.

Initial tests show that MP3 dummy files could serve as an effective timecode placeholder and a provide a bandwidth workaround for projects with a lot of media files. But I'll have to look into it further as there does seem to be some timecode slippage when converting from AIFF to MP3 (i.e. the converted MP3 files have more frames than the original quicktime/AIFF files).

Below is a rough sketch for How to prepare a Final Cut Pro sequence for distributed editing...

1.) Create a sequence with one video track on V1, and the stereo audio tracks on tracks A1 & A2.

2.) Export the 1st & 2nd audio tracks into an AIFF file (Export > Audio to AIFF (s)...).

3.) Use Audacity & LAME's MP3 encoder to convert the exported AIFF (26.2 MB) file into a lower res MP3 file (2.2MB). Save the MP3 file in a folder on the desktop named "Folder_X."

4.) Import the MP3 file into Final Cut Pro & overlay the duplicated audio on the 3rd & 4th audio tracks of the sequence. Render it, and match it up as best as possible. There may be extra frames and a bit of an echo. Hopefully it'll be close enough. You don't have to render the MP3 file to export the sequence to XML.

5.) Link the 1 video and 4 audio tracks together by highlighting them all and pressing "Option + L"

6.) Keep all 5 tracks enabled, highlight the sequence in the Browser, and then export it to XML (File > Export > XML)

7.) E-mail the XML file, and the 2.2 MB MP3 file to an editor. You don't need to send over the 26.2 MB AIFF file or 593 MB video file. Have the distributed editor place the MP3 file on a desktop folder also named "Folder_X" (this has yet to be tested).

8.) Have the editor import the XML file into FCP. Since she won't have the high res video (V1) or audio (A1 & A2) loaded on her computer, then she'll get the following error message:

WARNING: Non-critical errors were found while processing an XML document. Would you like to see a log of those errors now?

The XML Error Log window will then say,

Errors Found Importing XML_FileName.xml
: Unable to find file located at
"file://localhost/Volumes/LaCie%20Disk%202/News03/Capture%20Scratch/EchoChamber/ohanlon01_offline".( line 3 )

FCP seems to still load the sequence & MP3 file despite this message. The V1, A1 & A2 will appear to be offline.
It appears as if Final Cut Pro XML export capabilities were developed for a single computer that would have all of the media stored in the same place on import and export. But in this case, the large video and audio files are not transferred to all of the computers, and this seems to result in some errors like this one and others.

9.) Then have the editor disable the V1, A1 & A2 tracks so that these offline clips won't need to be rendered.

10.) Render the MP3 file in the timeline to hear it. (Command + R)

11.) Edit together new sequences using the MP3 audio that's linked to the V1, A1 & A2 in order to maintain timecode continuity.

12.) When the distributed editor finishes editing a sequence using a MP3 dummy file, then re-enable the V1, A1 & A2 tracks before exporting the XML to send back to the master editor. Exporting sequences with offline data is bad news that gives serious errors when importing it back into the master computer. Importing XML data from a sequence with offline data gives the following error message:

"Unable to attach specified media file to new clip"

This ultimately means that even though the media in the V1, A1 & A2 tracks can be manually reconnected, the tracks will be permanently disabled for some reason. It seems like a bug where it's impossible to re-enable the tracks -- or at least I haven't found a way to re-enable them just yet.
Again, this FCP XML import/export capability seems to be designed for the same computer containing all media online -- as opposed to distributed editors who may not have access to all of the media files.

13.) Once the distributed editors sends the edited XML file back to the master computer, then it can be loaded back into FCP -- and hopefully the V1, A1 & A2 tracks will be automatically loaded. But you may have to manually reconnect some files.

14.) Delete the MP3 file so that you don't have to render it, and you can then watch the sequence edited together by the editor -- Distributed Editing & Filmmaking Collaboration!

I noticed is that there was some timecode imprecision with using a low-res MP3 file. It may turn out that MP3 files are a poor timecode dummy file for longer clips.

There are also audio imperfections with snapping and popping. EmotionDV's Duane explains why:

Despite the fact that FCP is capable of resampling and decompressing audio in real time, it is not a good idea to make it do so. The clicks and pops are likely a result of the upsampling being done from 44.1kHz to your timelines 48kHz. The dropping out because FCP is having to decompress the MP3 file.

Final Cut's XML is a bit more complicated and nuanced to manually parse through than I originally thought. It's still possible to piece together sequences, but it isn't very intuitive. I plan on experimenting with using Microsoft XL to manufacture edited sequences with FCP XML sometime next week.

For keeping track for how the FCP settings change the XML file, I found that the Developer Tools xCode's FileMerge program provided sufficient diff capabilities for comparing differences between FCP XML files. It was a bit tricky to find a good diff program actually.

I found this list of open source XML diff programs, but I couldn't actually compile and run the one that I tried.

The 3DM tool seemed really promising since it is also "aware of the structure of the processed XML documents," but my Java skills are non-existent and I couldn't compile a working application.

I finally stumbled upon the FileMerge program after installing the XcodeTools.mpkg -- and I was finally able to use it to do diffs on XML files.

Anyway, I'm about to head out to a conference on Consciousness & Healing with my wife, and should be back early next week for more experimenting and specification.