To recreate this issue, define a clip using the following extendScript
ThisClip=app.project.activeSequence.videoTracks[0].clips[0];
//i.e. the first video clip on the first video track of the active sequence.
Output={ name:ThisClip.name, start:ThisClip.start.seconds, end:ThisClip.end.seconds, inPoint:ThisClip.inPoint.seconds, outPoint:ThisClip.outPoint.seconds, duration:ThisClip.duration.seconds
};
Then take a clip, called "TestClip", 0:00:00:00 and a TRT of more than 6 seconds.
For clarity's sake make the Active Timeline an even frame rate (24, 25 or 30fps, not 29.97 or 23.976)
Take a 4-second stretch of "TestClip" from source 0:00:02:00 and edit into the Active Sequence starting at 10 seconds, clip speed / duration at 100%
So you'll effectively:
Source from 0:00:02:00 to 0:00:06:00
in the timeline from 0:00:10:00 to 0:00:14:00
There is nothing else in this timeline.
If you run the above ExtendScript
the variable "Output" above will populate as follows, exactly as expected.
name | start | end | inPoint | outPoint | duration |
---|
TestClip | 10 | 14 | 2 | 6 | 4 |
All is well and right with the world
Now apply a clips speed of 200% to the clip in the timeline and run the same ExtendScript above.
The results will show inaccuracies for inPoint and outPoint
name | start | end | inPoint | outPoint | duration |
---|
TestClip | 10 | 12 | 1 | 3 | 2 |
Consider that in the timeline the source content has not changed, only its speed.
The expected result for inPoint and outPoint should be the SAME as the Output for 100%, starting at 2, ending at 6, representing 4 seconds of source even though it accounts for only 2 seconds of TRT in the timeline. It runs the footage faster, but uses the same source In and Source Out. But our Output is falsely reporting we're starting source at source sec 1, ending at source sec 3 which is not true. You can verify by looking at your footage, and of course, if you match frame from the first frame of source in the timeline, indeed you pull up second 2 in the source monitor, not second 1.
Same issue with the clip slowed down to 50% though in this case the inPoint is at 4, ending at 12, when, again is should show from second 2 to second 6.
name | start | end | inPoint | outPoint | duration |
---|
TestClip | 10 | 12 | 4 | 12 | 8 |
Am I missing something or is this a bug in the ExtendScript API?