SMPTE Timecode and the Phantom - (Why all of the other software vendors get it wrong.)
Posted by Robert Monaghan on 13 November 2014 05:31 PM
I am hearing a lot of the following:
"This is a non consistent offset between raw and transcodes (difference of a couple hours to twelve hours) and a difference in TC read of raw Cine files between QT apps using glue tools and davinci resolve. Our transcodes TC are consistent with the TC of the raw files when viewed in resolve, inconsistent when viewed with the toolkit."
If you transcode with a broken tool, of course it will match. (You would hope.)
Garbage In Equals Garbage Out.
The Phantom is a very unique camera. One of the things that makes the camera a little different than the others, is that it uses a "Circular Buffer" to store the image data as it is capturing. Because this buffer is circular, there is no beginning or ending while in record mode. This means that there is no "SMPTE TimeCode" start point either.
As a result, the only time a proper Cine movie "exists" is when the trigger button is pushed. Once the button is pressed, a start point, an end point (and most importantly) a Trigger Point is created. The Trigger Point is also known as "Frame 0". At this time, a SMPTE timecode stamp is applied to "Frame 0" (i.e.: The Trigger Point.)
Shortly afterwards, the Phantom camera operator/DIT will copy the shot to the Cinemag (or in some cases download directly to a computer.) Usually, the whole shot isn't kept. But rather, an In and Out point is specified, in order to save memory on the Mag. This also allows you to speed up the download time, too.
Some of you experienced Phantom operators will immediately notice something:
AND - the In Point and Out point often doesn't even include the Trigger point.
This means that the Trigger Timecode is NOT the timecode stamp of the first frame. As a matter of fact, the Trigger Point/SMTPE frame isn't even included in the movie!
Ok, here is what the Camera Hardware (as well as Quantel, Glue Tools and PCC) does with Timecode:
We convert the Trigger "SMPTE" Timecode value into "Frames Since Midnight" at what ever the viewfinder/playback framerate was.
So, for example:
If my playback framerate is 24ps and my trigger start point is 00:00:02:00, I have a Trigger Time of 48 frames from midnight.
BUT, my shot is exactly 6 frames long and the shot's In Point is -12. The Trigger Point's Timecode time stamp is past the end of the movie.
To get the real "Starting" TC, we need to compensate:
If you compare the Cine file (Using PCC, Quantel or Glue Tools) to the SMPTE Timecode from the actual hardware, you will find we match dead on.
This is the difference between "Free" software vs "Paid for" software.
Please, before emailing to tell me that my software is broken, please ask why there is a "difference" in the first place.