SMPTE timecode
Video and film editors label every frame with a timecode in the form hours:minutes:seconds:frames (HH:MM:SS:FF), standardized by SMPTE. The frame count goes from 0 up to the frame rate minus one, then the seconds advance.
Frames = (hours × 3,600 + minutes × 60 + seconds) × nominal frame rate + frames
Real time versus timecode
Several common frame rates are not whole numbers. They come from the color NTSC television system, which slowed the frame rate by a factor of 1000/1001:
| Frame rate | Exact value | Where it is used |
|---|---|---|
| 23.976 | 24,000 ÷ 1,001 | film-style video for North America |
| 24 | 24 | cinema |
| 25 | 25 | PAL video, Europe |
| 29.97 | 30,000 ÷ 1,001 | NTSC broadcast |
| 30 | 30 | web video |
| 50 | 50 | high frame rate PAL |
| 59.94 | 60,000 ÷ 1,001 | high frame rate NTSC |
Timecode at 23.976 or 29.97 counts as if the rate were 24 or 30, so it runs slow compared with the clock: one hour of non-drop timecode lasts 1 hour and 3.6 seconds of real time.
Drop-frame timecode
To keep 29.97 timecode in step with the clock, drop-frame timecode skips frame numbers 00 and 01 at the start of every minute, except every tenth minute. No video frames are removed, only labels. It is usually written with a semicolon before the frames, such as 01:00:00;00. The remaining drift is only a few frames a day.
Example
At 23.976 fps, the timecode 01:00:00:00 is 86,400 frames and lasts 3,603.6 seconds. At 25 fps, the same timecode is 90,000 frames and lasts exactly one hour. At 29.97 drop-frame, it is 107,892 frames and lasts 3,599.996 seconds.
Tips
- Keep one frame rate for a whole project; mixing rates causes drift and audio sync problems.
- Check whether your edit software expects drop-frame or non-drop-frame timecode before importing an edit list.
- For broadcast deliveries, follow the broadcaster’s technical specifications.