Premiere’s FCP XML sequence timecode export is a mess

It is. A real mess for all of people who have to deal with drop frame vs. non-drop frame timecode.

Having lived in the PAL land, where we’re lucky to never have to bother with this issue I have not realized until recently how awful Premiere Pro is at exporting proper attributes to FCP XML.

In the FCP XML specification there are four main tags that should describe how sequence’s timecode should be handled. All of them are present in the <timecode> tag contained within the <sequence> tag.

First: <rate> tag contains <timebase> which should give you the base frames per second, and the optional <ntsc> tag which is an indicator, whether the 30 fps means really 30 fps or 29.97. This one seems to be encoded properly.

Second: <displayformat> should tell you, whether the timecode is drop frame (“DF”) or non-drop frame (“NDF”). It seems to be totally ignored, but in an inconsistent fashion. For 29.97 it always encodes “DF”, regardless of what type of timecode is used. For any 23.978 and true 24p, as well as for any 59,94 it always encodes “NDF”.

Third: <string> which should also be a way to obtain the information about drop and non-drop frame timecode, always gets encoded with semicolons in case of 29.97, but with colons otherwise, including 23.978 and 29,97 with 3:2 pulldown. Wow. If that wasn’t enough, the tag should also properly encode the sequence starting point, and it mostly does… unless you work in 29.97 non-drop frame, in which case the 1:00:00:00 mark gets mysteriously converted to 1;00;03;18, or in 59.94 drop frame, when it becomes 00:59:56:24.

Fourth: <frame> should give you the sequence starting points in frames, and it looks like at least this one works fine, and gets actually encoded with proper values reflecting drop frame or non-drop frame timecode base.

The only way to obtain proper information about drop and non-drop frame timecode is to use the non-standard attributes that Premiere adds to the <sequence> tag, namely “MZ.Sequence.VideoTimeDisplayFormat”. But even here the values seem to be case specific:

  • 100 is a true 24 fps
  • 101 is a true 25 fps
  • 102 is a drop frame 29,97
  • 103 is a non-drop frame for 29,97 or 3:2 pull-down for 23.978
  • 104 is a true 30 fps
  • 105 is a true 50 fps
  • 106 is a drop frame 59.97
  • 107 is a non-drop frame 59.97
  • 108 is a true 60 fps
  • 110 is 23.978

Also you need to be aware, that on importing FCP XML Premiere does seem to first intrepret the <rate> tree with <timebase> and <ntsc> tags, and only then resorts to the MZ.Sequence… atribute to get the proper drop or non-drop frame attribute. Bad, bad Premiere. Why don’t you play well with others?

And to add two insults to the injury: this is only the case for Premiere CS6. Out of curiosity, I imported all the various frame rate sequences into Premiere CS5.5 via FCP XML, and it did not recognize the non-standard attributes at all. Bad, bad Premiere. You don’t even play well with your older mates! The last straw? Exporting FCP XML from Premiere Pro CS5.5 does not give you ANY indication whether the timecode was drop or non-drop frame. The information is simply lost in translation.

Update: The worst news is yet to come: every single clip has the same problem, and there is no additional data to recover the information from. If your footage was recorded with non-drop frame, it gets exported to FCP XML as a drop frame.

It’s no wonder that other software has problems interpreting Premiere’s FCP XML export, when even such a basic thing as timecode base is bug-ridden. And by the way, Avid export and import do not seem to fare that great either.

Fixed rendering bug in Feathered Crop for OS X

Thanks to the generosity of Adobe I received a time-limited licence for CS6 Production Premium on OS X to test and debug my plugins. The response to my inquiry was immediate, with no additional questions asked. I admit I am totally impressed with their reaction. Kudos, guys!

I was able to fix a really nasty render bug that made the Feathered Crop almost unusable with the latest version of Premiere, what a few users pointed out to me, some in a kind manner, others not so much.

As far as I was able to test it, the version 1.2.1 of the Feathered Crop should be production ready. Download it here and enjoy:

Feathered Crop CS6 OS X v1.2.1 (1722 downloads)


There might still be a few issues with displaying when the paused resolution is less than full, which I will try to address in the future, but if you find out that there are still some big problems, please let me know. And yes, test the plugins within your workflow before you start applying them en masse.