Copy link to clipboard
Copied
I have a CEP plugin I've written that relies on the Media Start timecode of clips selected in the Project/Bin. It was just brought to my attention that audio wasn't using the correct timecode in my plugin. I did some digging, trying to solve what had changed, but it turns out that Premiere Pro 2023 doesn't have the correct Media Start timecode in its Metadata.
You actually don't even have to dig into code to see this. To reproduce, import an audio clip that has timecode. Open the Metadata pane and select the audio clip in the Project pane. You can see the Media Start in the Project pane is correct, while the Media Start in the Metadata pane is incorrect.
In code, when calling getProjectMetadata(), getProjectColumnsMetadata(), or startTime() on a ProjectItem, you get the same incorrect result (shown in the Metadata pane).
Here are some screenshots showing the descrepancy in timecodes.
Premiere Pro 2022
Premiere Pro 2023
Hopefully I'm not missing something dumb here! 😅
I think we covered this recently:
Copy link to clipboard
Copied
Maybe @Matt_Stegner might be of help?
Copy link to clipboard
Copied
I think we covered this recently:
Copy link to clipboard
Copied
So after a little trial and error math, it seems the discrepancy is the difference in hz/fps. For example 60hz = 59.94fps (or more exact: 60 / 1.001). This value, per the NTSC standard.
When examining the metadata xml, I see this:
<premierePrivateProjectMetaData:Column.Intrinsic.VideoInPoint rdf:parseType="Resource">
<rdf:value/>
<premierePrivateProjectMetaData:min>0</premierePrivateProjectMetaData:min>
<premierePrivateProjectMetaData:max>-101606410594584000</premierePrivateProjectMetaData:max>
<premierePrivateProjectMetaData:offset>3282371636544000</premierePrivateProjectMetaData:offset>
<premierePrivateProjectMetaData:time_display>110</premierePrivateProjectMetaData:time_display>
<premierePrivateProjectMetaData:frame_rate>10594584000</premierePrivateProjectMetaData:frame_rate>
</premierePrivateProjectMetaData:Column.Intrinsic.VideoInPoint>
<premierePrivateProjectMetaData:Column.Intrinsic.VideoOutPoint rdf:parseType="Resource">
<rdf:value/>
<premierePrivateProjectMetaData:min>-101606389405416000</premierePrivateProjectMetaData:min>
<premierePrivateProjectMetaData:max>18307441152000</premierePrivateProjectMetaData:max>
<premierePrivateProjectMetaData:offset>3282371636544000</premierePrivateProjectMetaData:offset>
<premierePrivateProjectMetaData:time_display>110</premierePrivateProjectMetaData:time_display>
<premierePrivateProjectMetaData:frame_rate>10594584000</premierePrivateProjectMetaData:frame_rate>
</premierePrivateProjectMetaData:Column.Intrinsic.VideoOutPoint>
It seems the most reliable way to get the start and end times in seconds would be the metadata's
Copy link to clipboard
Copied
My guess is you should post over on the other thread, you've got 3 Adobe employees who have posted on it. Also, check the third thread on the bottom of the linked thread:
The thread with 3 employees:
Solved: Re: Importing WAV results in incorrect timecode an... - Adobe Support Community - 10863937
And a thread that one refers to:
Re: Discuss: New Metadata & Timecode Burn-in effec... - Page 2 - Adobe Support Community - 11972661
Copy link to clipboard
Copied
Reading a book on video post, high-end stuff. There, it's noted that there are differences in computation for framerates & audio files depending on the specific framerate of the files. And that you cannot normally use dividing by the 23.976 or whatever numbers, for anything but a few frames, without getting drift. So they say all computations must use the full say 60/1.001 type calculations. Just as your post tells us.
What a ... joy.