We’ve all seen it. It’s in the corner of our timelines, the viewfinder of our cameras, and hundreds of other places throughout the production process. But what do you really need to know about timecode in video production?
It’s time to decode the timecode.
Timecode is absolutely critical to video production. It can save time and money in production, and it can cause a lot of problems if not used correctly. As such, it is important to understand how video timecode works, how different frame rates affect it, and how to resolve potential timecode issues that may arise during your production process.
Timecode and Frame Rates
Understanding how frame rates work is important to understanding how timecode is designed.
For example, an editor looking to place manual keyframes on a project every half-second would find it useful to know the exact number of frames each interval needs. Without knowing the frame rate the project was filmed in, a well-versed editor could find this information quickly and make creative decisions based on that information.
Frame rate—the number of still images per second of video—can be tricky to visualize. For cameras, NLEs, and auxiliary functions like audio sync, video runtime must be quantified in a consistent, decodable way. To solve this issue, the standardized timecode was created.
Timecode values are a way of numbering frames in video. Standardized by SMPTE (the Society of Motion Picture and Television Engineers), video timecode is usually represented as hour, minute, second, then frame number each separated by a colon (:). For example, the 6th frame at 1 hour, 23 minutes, and 45 seconds of a video would be displayed as timecode 01:23:45:06.
Understanding Standard Timecode
When dealing with whole number frames per second, this can be easily converted to actual times. For example, in a video with 30 fps, each frame is shown for 33.333(repeating) milliseconds. This means we can determine the actual time at which that frame is displayed.
Similarly, in a video with 24 frames per second, each frame is shown for 41.666(repeating) milliseconds.
For both 24 and 30 frames per second, frame number X within any given second has the same offset as frame number X within a different second (see timecode 00:00:00:01 and 00:00:01:01 above).
This is not true in the case of video with a 30,000/1,001 frame rate (approximately 29.97 fps)—like NTSC television—shown below. As you can see, the actual display time in milliseconds is drifting by about one millisecond per second at this frame rate.
Catching the Drift
This timecode drift for non-integer frame rates grows continuously with longer videos. Below are the timecode values for 10 minutes into the 29.97 fps video. The drift is six-tenths of a second off from the actual display time. In another 10 minutes, there will be an entire second’s difference between the timecode value and the actual display time.
In this particular case, there is a modification called Drop Frame Timecode where some timecode seconds have fewer than 30 frames.
Every minute—except for the tenth minute—two frame numbers are dropped. This might be confusing, but it’s necessary to combat the drift. Drop Frame Timecode typically uses a semicolon as the separator before the frame number, instead of the colon that is used by regular timecode.
Notice that the frame counts 00 and 01 were skipped at the start of minute 01. This brings the timecode value closer to the actual display time for the frames. Each frame is displayed for about 33 milliseconds, so the drift of 0.060 seconds is close to the amount of time needed.
Why does Drop Frame Timecode work? For each 10-minute segment of 29.97 fps video, there are 17,982 frames (10 minutes * 60 seconds per minute * 29.97 frames per second). Ten minutes of video at 30 fps would be 18,000 frames exactly. The difference is 18 frames, explaining why the “drop frame” standard is to drop two frames from 9 of every 10 minutes. The scheme drops 18 timecode frames every 10 minutes, which keeps the timecode value much closer to the actual display time.
It’s worth noting that 10 minutes of video at 30,000/1,001 fps would contain 17,982.018 frames (10 * 60 * 30,000/1,001), so the Drop Frame Timecode does not perfectly model actual television transmission rates.
All in Good Time
Understanding the ins and outs of frame rate and timecode can help head off potential issues with your production, giving you a better chance at a smooth editing process no matter how many cameras, cuts, and complexities you encounter. And when you consider the necessary precision and specificity that go into timecode, as shown above, it can become a lot more complicated than one might expect when starting out.
It’s more than just time. It’s timecode. Decoded.
Want to nerd out some more? Check out our posts on 29.97 Things You Didn’t Know About Frame Rates and 4K Shared Storage—Considerations for Post, Color, VFX, and Archive.
Jason Gyorog is a Quality Assurance Engineer at Studio Network Solutions. As an expert in media post-production technology and a longtime fixture in the St. Louis arts community, he has helped produce numerous narrative projects with local filmmakers. Jason earned a B.S. in Computer Science from the University of Missouri at Columbia and recently created his own calendar widget for Android.