PDA

View Full Version : Conversion from field count to timestamp


evdberg
26th March 2007, 21:54
I remember that I once read somewhere (not necessarily on this forum or the doom9 website) how to convert a field count to a timestamp (hours, minutes, seconds and frames), but I can not find it anymore.

The problem is that with NTSC you have 29.97 frames per second, so 59.94 (interlaced) fields. Conversion would be straightforward in case of 60fps, but with 59.94 you have to 'drop' a field now and then. Ofcourse I can think of some way to compensate myself, but I remember there is an 'official' way to do it. I hope that someone knows how, or can point to a site where it is explained. Thanks in advance for any help!

JohnnyMalaria
26th March 2007, 22:28
Every whole minute, you drop two frames (4 fields)
EXCEPT for every whole tenth minute.

i.e.,
hh:mm:ss:ff
------------
00:08:59;27
00:08:59;28
00:08:59;29
00:09:00;02 (;00 and ;01 are dropped on the whole minute)
00:09:00;03
..
..
00:09:00;29
00:09:01;00 (not a whole minute, so not dropped)
00:09:01;01 (not a whole minute, so not dropped)
..
..
00:09:59;29
00:10:00;00 (whole tenth minute, so not dropped)
00:10:00;01 (whole tenth minute, so not dropped)
..
..
00:10:59;29
00:11:00;02 (;00 and ;01 are dropped on the whole minute)
00:11:00;03
..
..

slk001
26th March 2007, 23:17
Unfortunately, drop frame is an poor choice of words, since no frames are actually dropped. What it should have been was slipped timing, since that's what really happens. 108 frames are "slipped" per hour to bring the actual framerate to 29.97. JohnnyMalaria's method looks to be correct "mathwise".

evdberg
26th March 2007, 23:38
Thanks, this was indeed the method I read about before. Is this method standardized (so used by other/all authoring software)?

JohnnyMalaria
27th March 2007, 01:41
The method I described is the SMPTE-defined method.

Basically, every whole minute, drop the frames numbered 00 and 01, except for every whole tenth minute.

By dropping 2 frames every nine minutes yields the required 108 frames that need to be "dropped" every hour.

Though I can't possibly vouch for every software application that supports drop-frame, I'd be amazed if it isn't implemented correctly!

mpucoder
27th March 2007, 02:08
The complete name for the method is drop frame timecode, what is dropped is not frames, but timecodes (always frame 0 and 1).

DVD's do not use drop-frame timecode, although many authoring applications allow you to specify timescodes in drop-frame format, and accept assets with embedded drop-frame timecodes.

It is not possible to specify an elapsed time accurately using drop-frame timecode (this is the reason it is not used in DVDs), because the tenth minute is now relative (where do we start counting from when something is divided up into many pieces?). For this reason conversion to frame counts or non-drop timecode can only be accurate to within 2 frames. Since absolute accuracy cannot be achieved many applications do not use the 9 of 10 rule, but instead convert using the ratio of 1000/1001. The format is intended only for real-time (ie wall clock accurate) timecodes.