Re: time & timecode semantics in XML exports
Re: time & timecode semantics in XML exports
- Subject: Re: time & timecode semantics in XML exports
- From: Helena Ju <email@hidden>
- Date: Wed, 1 Aug 2007 11:30:36 -0700
On Jul 25, 2007, at 2:26 AM, Andreas Kiel wrote:
Hi all,
(Helena - You still have some time to waste?)
It isn't wasted time to respond, Andreas, but I certainly have to
make that time.
To be honest - even if I sound stupid or look like an idiot - I
still got not an exact idea how to retrieve clip in/out with
(variable) time remap.
Below an example from a BBC production. This example uses a
variable speed exported as XML V2 (from 5.1.4 as stated by the
people from BBC who created it)
…
<in>8916</in>
<out>9159</out>
…
<effect>
<name>Time Remap</name>
<effectid>timeremap</effectid>
<effectcategory>motion</effectcategory>
<effecttype>motion</effecttype>
<mediatype>video</mediatype>
<parameter>
<parameterid>variablespeed</parameterid>
<name>variablespeed</name>
<valuemin>0</valuemin>
<valuemax>1</valuemax>
<value>1</value>
</parameter>
<parameter>
<parameterid>mappedduration</parameterid>
<name>mappedduration</name>
</parameter>
<parameter>
<parameterid>speed</parameterid>
<name>speed</name>
<valuemin>-100000</valuemin>
<valuemax>100000</valuemax>
<value>100</value>
</parameter>
<parameter>
<parameterid>reverse</parameterid>
<name>reverse</name>
<value>FALSE</value>
</parameter>
<parameter>
<parameterid>frameblending</parameterid>
<name>frameblending</name>
</parameter>
<parameter>
<parameterid>graphdict</parameterid>
<name>graphdict</name>
<valuemin>0</valuemin>
<valuemax>29494</valuemax>
<keyframe>
<when>0</when>
<value>0</value>
<speedkfstart>TRUE</speedkfstart>
<speedvirtualkf>TRUE</speedvirtualkf>
<origvalue>0</origvalue>
</keyframe>
<keyframe>
<when>8916</when>
<value>8916</value>
<speedkfin>TRUE</speedkfin>
<speedvirtualkf>TRUE</speedvirtualkf>
<origvalue>8916</origvalue>
</keyframe>
<keyframe>
<when>8988</when>
<value>8988</value>
</keyframe>
<keyframe>
<when>9000</when>
<value>10681</value>
</keyframe>
<keyframe>
<when>9159</when>
<value>10840.7</value>
<speedkfout>TRUE</speedkfout>
<speedvirtualkf>TRUE</speedvirtualkf>
<origvalue>10840.7</origvalue>
</keyframe>
<keyframe>
<when>9943</when>
<value>11628</value>
</keyframe>
<keyframe>
<when>29494</when>
<value>29494</value>
<speedkfend>TRUE</speedkfend>
<speedvirtualkf>TRUE</speedvirtualkf>
<origvalue>29494</origvalue>
</keyframe>
<interpolation>
<name>FCPCurve</name>
</interpolation>
<value>1302</value>
</parameter>
</effect>
It seems to be pretty simple here since I can search for <when>
== 8916 and <when> == 9159 or the <speedkfin> and <speedkfout>
and get the value from there. Unfortunately there is no suggestion
in the docs how to handle the 10840.7 -- going back to FCP it could
be 10839 or 10840 or 10841. Same even with an integer as an out
frame let's say 10840 - back to FCP it can be 10840 or 10839. Is
there some documentation about the scheme (how to handle) available?
There isn't any documentation on how to handle this since as you
noted in FCP there will be some variance in what that value is
interpreted as. Unfortunately these values imply a kind of
specificity which isn't there.
( ;-) Again it would be nice with XML V4 to have an node which
tells me how number formats are handled -- on my german system the
10840.7 would be 10840,7 which can cause some collisions when
working international, especially if I want to go backwards (but
I've to check that for more details)).
While it is true that we haven't documented number formats, I believe
what you're seeing there is a bug in FCP6. All versions of the xml
exported will export whatever the system setting for displayed number
formats.
Another example from Australia (same FCP setup as above - as stated
by the user). Here the editor decided to remap and then to reset
the things -- an entry still exists in the XML without <when> - I
can still look at <speed> = 100 and forget, but hmmmm :).
Also the entry <parameter><parameterid>mappedduration</
parameterid><name>mappedduration</name><value><timecode> … looks
more "rich" as in the previous example and looks some kind of
senseless to me as the time base is 0 - I can't find any docs about
that to handle.
…
<in>4108</in>
<out>4128</out>
…
<effect>
<name>Time Remap</name>
<effectid>timeremap</effectid>
<effectcategory>motion</effectcategory>
<effecttype>motion</effecttype>
<mediatype>video</mediatype>
<parameter>
<parameterid>variablespeed</parameterid>
<name>variablespeed</name>
<valuemin>0</valuemin>
<valuemax>1</valuemax>
<value>0</value>
</parameter>
<parameter>
<parameterid>mappedduration</parameterid>
<name>mappedduration</name>
<value>
<timecode>
<rate>
<timebase>0</timebase>
</rate>
<string>0</string>
<frame>0</frame>
<displayformat>NDF</displayformat>
</timecode>
</value>
</parameter>
<parameter>
<parameterid>speed</parameterid>
<name>speed</name>
<valuemin>-100000</valuemin>
<valuemax>100000</valuemax>
<value>100</value>
</parameter>
<parameter>
<parameterid>reverse</parameterid>
<name>reverse</name>
<value>FALSE</value>
</parameter>
<parameter>
<parameterid>frameblending</parameterid>
<name>frameblending</name>
<value>TRUE</value>
</parameter>
</effect>
If you have steps on how to create this situation, I'd love to get a
bug on this. It is not clear to me what it takes to get to here, but
I think we'd throw this mapped duration away because of invalid
parameters.
Here an example for variable speed from the same sequence from
Australia:
"<clipitem id=\"BJ001dv2\">
<name>BJ001dv</name>
<duration>56094</duration>
<rate>
<ntsc>FALSE</ntsc>
<timebase>25</timebase>
</rate>
<in>2630</in>
<out>2758</out>
<start>729</start>
<end>857</end>
<filter>
<effect>
<name>Time Remap</name>
<effectid>timeremap</effectid>
<effectcategory>motion</effectcategory>
<effecttype>motion</effecttype>
<mediatype>video</mediatype>
<parameter>
<parameterid>variablespeed</parameterid>
<name>variablespeed</name>
<valuemin>0</valuemin>
<valuemax>1</valuemax>
<value>1</value>
</parameter>
<parameter>
<parameterid>mappedduration</parameterid>
<name>mappedduration</name>
<value>
<timecode>
<rate>
<timebase>0</timebase>
</rate>
<string>0</string>
<frame>0</frame>
<displayformat>NDF</displayformat>
</timecode>
</value>
</parameter>
<parameter>
<parameterid>speed</parameterid>
<name>speed</name>
<valuemin>-100000</valuemin>
<valuemax>100000</valuemax>
<value>212.023</value>
</parameter>
<parameter>
<parameterid>reverse</parameterid>
<name>reverse</name>
<value>FALSE</value>
</parameter>
<parameter>
<parameterid>frameblending</parameterid>
<name>frameblending</name>
<value>TRUE</value>
</parameter>
<parameter>
<parameterid>graphdict</parameterid>
<name>graphdict</name>
<valuemin>0</valuemin>
<valuemax>61658</valuemax>
<keyframe>
<when>0</when>
<value>0</value>
<speedkfstart>TRUE</speedkfstart>
</keyframe>
<keyframe>
<when>2607</when>
<value>2866</value>
</keyframe>
<keyframe>
<when>2630</when>
<value>2901.11</value>
<speedkfin>TRUE</speedkfin>
</keyframe>
<keyframe>
<when>2683</when>
<value>2983</value>
</keyframe>
<keyframe>
<when>2703</when>
<value>3028</value>
</keyframe>
<keyframe>
<when>2743</when>
<value>3144</value>
</keyframe>
<keyframe>
<when>2758</when>
<value>3172.5</value>
<speedkfout>TRUE</speedkfout>
</keyframe>
<keyframe>
<when>2783</when>
<value>3220</value>
</keyframe>
<keyframe>
<when>3149</when>
<value>3149</value>
</keyframe>
<keyframe>
<when>56094</when>
<value>61658</value>
<speedkfend>TRUE</speedkfend>
</keyframe>
<interpolation>
<name>FCPCurve</name>
</interpolation>
<value>2887.62</value>
</parameter>
</effect>
</filter>
<sourcetrack>
<mediatype>video</mediatype>
</sourcetrack>
In FCP the source in is shown as "3197" and out as "3172".
Sorry - where are these numbers in FCP? are these keyframe values?
In? Out? Duration?
Cheers,
Helena
With that clip above I currently have no idea how extract these
values from the above data.
Any help would be really appreciated.
Regards
Andreas
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Pro-apps-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden