Timecode in Animation Editing

Posted: 2022-09-21

Timecode is an interesting topic. It is too often neglected/forgotten and thus can cause issues down the line when conforming the edit with the highres .exr image sequences. Lets just go through some terminology quickly and then dive into it.



Lets jump in shall we! Look at regular time quickly, every 60 secs we count up to 1min right? For the sake of a mental experiment conventional time works at 60 FPS, we increase the next minute in 60s. This is why FPS is so important. Your show will increment the next second, based on your frame rate. Lets look at a 24 FPS show, at 23 frames timecode looks like 00:00:00:23, but at 24 frames it will increment to 00:00:01:00 we now have 1 second worth of frames.

Timecode will exist in more than one place:


A cautionary warning, editors must be very careful when casually colour grading on clips, retiming, ramping, time warps or any trickery your edit software supports. Unless you know you are skipping conform & online edits and just rendering from the offline edit. Some of these edit values will be transfered from offline edit to the online edit via the XML file, but it is not gaurenteed that a filter in Premiere exists in Resolve for example. Thus its safer to assume that just your cut in/cut out, cross fades and timing decisions will be transfered safely.

Note: Any colour changes, timewarps, retimes and specialised transitions should be communicated to comp and cleanly created in nuke or as early as animation so that we do not leave the edit software to attempt to drop or create frames. This can cause some very strange ghost frames where the edit software tries to blend frames together. Its just not worth it.


So lets pull all this together! Often companies do not start thier animation shots or renders at frame 1. Its just generally safer to assume it might not be, either due to handles or due to pre-roll for FX simulations, etc. Many companies start at frame 101 rather. We also need to assume the worst and that videos are going to get exported from edit, then re-imported possibly shorter than they were before.

Lets look at 24fps project Frame 1 = 00:00:00:01 Frame 96 = 00:00:04:00 Frame 101 = 00:00:04:05

Here is the kicker, most video file/formats assume that the frame at the start is the first frame. (I feel like quicktime is frame 0 but I no longer use Apple products so have lost touch) Let me reword this, the first frame is frame 00:00:00:01. This means that if a shot gets cut (5 frames from the head) and exported, then what was the first frame is lost and we have a new start frame (frame 6). However if an XML is generated from the above mentioned timeline cut then the frame count will reflect accurately… but not if the exported video is brought back into the same timeline, becuase now the clip starts at frame 1. We also then have a 100 frame slippage, assuming comps renders start at frame 101 and edit starts at 001… thus we will have a mismatch in conform.

We need a better piece of data stored within the video file to track time, and thus timecode is the solution. Its metadata embedded in the video file which can be more realiably transfered from video, timeline, and XML.

Having a reliable source of data to know what frame we should be looking at, at any given time means that we can recreate the timeline in the online edit using .exr image sequences assuming those .exr files also contain matching timecode.

Lets get technical

If you know and work with ffmpeg here is the command for adding timecode metadata to an existing video file:

ffmpeg -i input.mp4 -map 0 -map -0:d -c copy -timecode 00:00:00:01 output.mp4

this will work for most video formats.


It is important to look at your companies outputs. If you are simply exporting from Premiere (your offline edit) then timecode may not be so important to you. However if your company plans to send the show to Grade, then you need to assume that the offline edit will need to be rebuilt using Online Media and thus timecode or frame counts become much more important and should be utilised to save a world of pain later in the production.