2

I have some data outside that i would like to use to create certain edit effects in Adobe Premiere Pro. Rather than editing by hand adding keyframes over time with my data i would like to automate this and write or use a tool to create an XML fragment and update the project file.

I have looked at the XML and some properties are evident. However most data is hidden away as comma separated values, which of course means theres no self documenting tag name. I am therefore after a schema or documentation that describes the format of some or all effects.

<VideoComponentParam ObjectID="48" ClassID="fe47129e-6c94-4fc0-95d5-c056a517aaf3" Version="8">
        <Node Version="1">
            <Properties Version="1">
                <ECP.Angle.Expanded>false</ECP.Angle.Expanded>
                <ECW.Parameter.VelocityHeight>54</ECW.Parameter.VelocityHeight>
            </Properties>
        </Node>
        <RangeLocked>false</RangeLocked>
        <ParameterID>5</ParameterID>
        <CurrentValue>0.</CurrentValue>
        <UnitsString></UnitsString>
        <UpperBound>32767.</UpperBound>
        <LowerBound>-32768.</LowerBound>
        <Keyframes>913287043468800,270.,0,0,0,0.166667,-32.4615,0.166667;914685944772533,91.230003356934,0,0,-32.4615,0.166667,14.5418,0.166667;916236575654400,180.,0,0,14.5418,0.166667,-11.4292,0.166667;920237090572800,0.,0,0,-11.4292,0.166667,0,0.166667;</Keyframes>
        <StartKeyframe>-91445760000000000,0.,0,0,0,0,0,0</StartKeyframe>
        <ParameterControlType>3</ParameterControlType>
        <DiscontinuousInterpolate>false</DiscontinuousInterpolate>
        <IsLocked>false</IsLocked>
        <IsTimeVarying>true</IsTimeVarying>
        <Name>Rotation</Name>
    </VideoComponentParam>

The interesting tag is of course the Keyframes, which appears to include the keyframe, rotation degrees and some other numbers. I havent yet decyphered the first value which is obviously the timestamp.

Any help in undetrstnding the XML is appreciated.

ADOBE FORUMS

http://forums.adobe.com/thread/962485

  1. Todd_Kopriva, 14-Feb-2012 00:18 in reply to br4ime Report No, there is not any public documentation about the structure of the Premiere Pro project file format. Was this helpful? Yes No

FINAL CUT PRO XML I have exported a simple project to Final Cut Pro XML and it appears to be functional but in the above case about rotation over several keyframes, the FCP file has far fewer values.

<parameter authoringApp="PremierePro">
                                                <parameterid>rotation</parameterid>
                                                <name>Rotation</name>
                                                <valuemin>-8640</valuemin>
                                                <valuemax>8640</valuemax>
                                                <value>0</value>
                                                <keyframe>
                                                    <when>107634</when>
                                                    <value>123</value>
                                                </keyframe>
                                                <keyframe>
                                                    <when>107784</when>
                                                    <value>124</value>
                                                </keyframe>
                                                <keyframe>
                                                    <when>107934</when>
                                                    <value>126</value>
                                                </keyframe>
                                            </parameter>
mP.
  • 18,002
  • 10
  • 71
  • 105
  • I guess one of the starting points for this would be the most minimalist `.prproj` file allowed by CS4-6. [Here is a 540kb beast](https://gist.github.com/Xeoncross/31f1663d3b965126f172) for a single JPEG image in the timeline. – Xeoncross Aug 11 '14 at 20:17
  • Please clarify if you're trying to obtain the schema for prproj XML format (which as Todd Kopriva said, is not publicly available), or the FCP7 XML format that Premiere can export and import, which is answered by iviiner below. – Drew Aug 13 '18 at 05:48

2 Answers2

2

Here is full description of Final Cut XML format. it is same as Premiere XML. Go to developer.apple.com and find the document that describes FinalCutPro XML format, it's exact the same as Premiere pro XML. The structure is simple, for example this is sequence block format:

<?xml version="1.0" encoding="UTF-8"?>
<xmeml version="3"> 
  <sequence>
    <name>Sequence 1</name>
    <duration></duration>
    <rate>. . .</rate>
    <timecode>. . .</timecode>
    <media>
      <video>
        <format></format>
        <track></track>
      </video>
      <audio>
        <format></format>
        <outputs></outputs>
        <track></track>
        <track></track>
      </audio>
    </media>
  </sequence>
</xmeml>

direct link is: https://developer.apple.com/appleapplications/download/FinalCutPro_XML.pdf

iviiner
  • 21
  • 4
  • [Overview of the Final Cut Pro XML Interchange Format](https://documentation.apple.com/en/finalcutpro/usermanual/index.html#chapter=97%26section=3%26tasks=true) – Xeoncross Jan 31 '17 at 01:41
1

THe best solution is to make changes and study the file differences with your favourite diff'ing tool. Its not terribly difficult to understand small fragments and hand edit the XML. Naturally its a pain to make a change and reload the project file and observe the changes, buts its doable.

mP.
  • 18,002
  • 10
  • 71
  • 105
  • 1
    Any update on this? I too am trying to figure out the schema so I can make changes. Some of the large numbers like "9223372036854775807" seem to be constants that define something like "30fps" (`9223372036854775807` – Xeoncross Aug 11 '14 at 20:12
  • `When a frame rate is represented as a PrTime, the frame rate is the number of ticks in a frame duration.` from https://buildmedia.readthedocs.org/media/pdf/premiere-plugin-sdk-guide/latest/premiere-plugin-sdk-guide.pdf#page=100&zoom=100,0,845 Here's how it's done through the SDK: https://github.com/fnordware/AdobeWebM/blob/master/src/premiere/WebM_Premiere_Import.cpp#L2067 – koral Sep 02 '19 at 16:36
  • There are 254016000000 ticks per second. (https://forums.adobe.com/message/8590485#8590485). It works for `10160640000` where 10160640000 / 254016000000 = 0.04 (25fps). It unfortunately doesnt work from MediaFrameRate :/ – koral Sep 03 '19 at 08:49