Timecode on Set: LTC, Jam Sync, Free Run and Record Run
Updated
How cameras and sound recorders share timecode: LTC and VITC, free run and record run, jam sync and clock drift, sync boxes, and how editorial uses all of it to sync sound.
- Timecode
- Sound
- Camera
- Dailies
On this page
What timecode does on set
Timecode puts the same label on a frame of picture and on the matching moment of sound, so editorial can line up camera and recorder files automatically instead of hunting for a clap. It does that only if every device counts the same rate, in the same mode, from the same source. Most of this guide is about getting those three right.
- • Rate: the project frame rate, including 23.976 vs 24 and drop-frame vs non-drop at 29.97.
- • Mode: free run, time of day, on every device that has to sync.
- • Source: one master clock, usually the sound recorder or a sync box, jammed to everything else.
LTC, VITC and embedded timecode
SMPTE timecode can travel in several ways. The numbers are the same; the carrier differs.
| Carrier | How | Where you meet it |
|---|---|---|
| LTC | An audio-frequency signal, 80 bits per frame (1,920 bit/s at 24 fps, 2,400 at 30) | Timecode in/out on cameras, recorders and sync boxes; an audio track on cameras without a timecode input |
| VITC | 90 bits written into the video signal's vertical interval, usually on two lines | Standard-definition video and tape; rare on new productions |
| Embedded (ATC) | Carried as ancillary data inside an SDI signal (SMPTE ST 12-2) | SDI monitoring, video village, live and broadcast chains |
| File metadata | A start timecode in the clip's header or timecode track | Every camera and recorder file; what the NLE syncs with |
Each LTC frame also carries a drop-frame flag and 32 user bits (eight groups of four), which productions use for the date, a reel number or the camera ID. Set the user bits to the shoot date and every file says which day it was recorded.
Free run vs record run
| Free run | Record run | |
|---|---|---|
| Counts | All the time, recording or not | Only while recording |
| Usually set to | Time of day | A start value, often the card or reel number as the hour |
| Timecode between clips | Gaps (the time that passed) | Continuous, no gaps |
| Syncs devices? | Yes, when every device is jammed to the same source | No |
| Use it for | Double-system sound, multicam, anything that syncs in post | Single-camera work with sound on camera, and unique timecode per card |
Time of day is the usual free-run choice because it is easy to read back ("the take at 14:32") and because two devices jammed to it agree with anyone's watch. Its one catch: shoots past midnight cross 00:00:00:00, and clips on either side sort out of order. For a night shoot, preset the free-run start to a value that won't reach midnight before wrap.
Menus name the modes differently. Sony's cinema cameras pair a run setting (Rec Run or Free Run) with a start setting (Preset, Regen from the last clip, or Clock). RED calls time-of-day timecode TOD and record-run timecode Edgecode. Sound Devices recorders offer Free Run, Time of Day, Rec Run and external LTC. Whatever the label, check two things: does it count when not recording, and what does it start from?
Jam sync and drift
To jam a device is to load the master's timecode into its internal generator. From that moment the device counts on its own crystal, and any difference between its clock and the master's makes the two drift apart. Clock accuracy is quoted in parts per million (ppm):
Drift per day (s) = ppm × 86,400 ÷ 1,000,000
Drift in frames = drift (s) × frame rateExample: A 1 ppm clock at 24 fps
- Calculation:
- 1 × 86,400 ÷ 1,000,000 = 0.0864 s; × 24
- Result:
- 2.07 frames a day, one frame every 11.6 hours
| Clock accuracy | Drift per day | At 24 fps | One frame of drift after |
|---|---|---|---|
| 0.2 ppm | 17 ms | 0.4 frame | about 58 hours |
| 1 ppm | 86 ms | 2.1 frames | about 11.6 hours |
| 10 ppm | 0.86 s | 20.7 frames | about 70 minutes |
Camera clocks are the weak link. Sony's manual for the FR7, for example, warns that once the reference is unplugged its timecode may shift by a frame an hour. Not every device holds timecode through a power cycle either (Sound Devices' MixPre II recorders hold it for up to four hours with the power off). So: jam at call, re-jam after lunch and after any battery or body change, or keep a sync box plugged into the camera all day so it never runs on its own clock.
Sync boxes
A sync box is a small, very stable timecode generator that rides on each camera. You jam every box from the master (or from one another, wirelessly on newer models) at the start of the day, and each box feeds its camera all day. Cameras with a timecode input take it there and record it as metadata. Cameras and phones without one record it as LTC on an audio channel, and software decodes it later.
Makers quote their clocks in ppm; here is what they publish:
| Device | Clock accuracy (maker's figure) | Battery (maker's figure) |
|---|---|---|
| Tentacle SYNC E | 0.2 ppm TCXO; under 1 frame of drift in 24 hours | Up to 50 hours (mkII) |
| Ambient NanoLockit | About 0.1 ppm; under 1 frame a day | Up to 24 hours |
| Deity TC-1 | ±0.5 ppm TCXO | Up to 28 hours |
| Atomos UltraSync ONE | 0.5 ppm TCXO; about 1 frame in 24 hours | 25+ hours |
| Sound Devices MixPre-10 II (recorder) | 0.2 ppm; 0.5 frame in 24 hours | n/a (powered with the recorder) |
Run the numbers and these agree with the drift table above: 0.2 ppm is under half a frame a day at 24 fps, 0.5 ppm about one frame. That is why a box fed into the camera all day beats a single morning jam on the camera's own clock. Some systems also lock to each other over radio, which the makers quote as zero drift while the link holds.
Timecode is not genlock
Timecode says which frame is which. On most cameras it doesn't make two sensors start each frame at the same instant: as Ambient's FAQ puts it, cameras usually take timecode only as a timestamp. Locking the timing is genlock (or sync), a reference signal the camera's clock follows. A few cameras can lock their sensor to continuous LTC, but ARRI, for one, recommends tri-level sync where accuracy matters. For syncing sound and cameras in post, timecode is enough. Genlock matters when signals are cut live, for stereo rigs, and for cameras shooting LED walls or monitors, where the camera's timing has to match the screen's refresh.
A timecode setup that works
- Agree the rate in prep. Camera, sound and post sign off one frame rate, and DF or NDF at 29.97 and 59.94.
- Pick the master. Usually the sound recorder or a dedicated generator; every other device follows it.
- Set free run, time of day on every camera and recorder, and the user bits to the date.
- Jam everything at call. Check that each camera's display matches the master to the frame.
- Re-check after lunch and after any battery swap, body change or reboot.
- Slate anyway. A visible and audible sync point costs nothing and saves the day when timecode is wrong.
- Note it. The camera and sound reports say the rate, the mode and any re-jams.
Syncing in post
Assistant editors sync sound to picture by timecode in the NLE or a dailies tool: the picture's start timecode and the WAV file's timestamp (a Broadcast WAV stores it as samples since midnight) are lined up and merged into a synced clip. When it goes wrong, the pattern tells you why:
- • The same offset on every take: one device was jammed wrong or set to the wrong time. Measure the offset once at a slate and apply it to the day.
- • An offset that grows through the day: a device ran on its own clock, or at 24 against 23.976. Re-sync each take to its slate.
- • In sync at the slate, out at the tail: a speed mismatch, not timecode. See the audio sample rates guide.
- • Off by 108 frames an hour: drop-frame on one side and non-drop on the other. See drop-frame vs non-drop-frame.
To measure an offset, subtract one timecode from the other. CineMath's Timecode Calculator adds and subtracts timecode at any of its 18 frame rates, including 23.976, 29.97 DF and 59.94 DF, and the free timecode converter does the same in your browser.
Timecode on set questions
What is the difference between free run and record run timecode?
Free run timecode keeps counting whether or not the camera is recording, usually set to the time of day, so every device jammed to the same source shows the same number at the same moment. Record run counts only while recording, so the clips on a card form one continuous run of timecode with no gaps, but it cannot be used to sync devices.
What does jam sync mean?
Jam syncing sets a device's internal timecode generator to match an external source, then lets it keep running on its own clock. After a jam the device drifts at the rate of its own clock, so devices are re-jammed during the day or kept fed by a sync box.
What is LTC timecode?
LTC (longitudinal or linear timecode) is SMPTE timecode carried as an audio-frequency signal: 80 bits per frame, about 2,000 bits a second, sent over an audio or BNC cable or recorded on an audio track. Cameras and recorders read it on a timecode input, and sync software can decode it from an audio channel.
Do I still need a slate if I have timecode?
Timecode makes sync automatic, but a slate is still the cheapest insurance: it shows scene and take, gives a visual and audible sync point if timecode fails or was set wrong, and lets the assistant editor check the offset at a glance.
Is timecode the same as genlock?
No. Timecode labels frames with a time; genlock locks the timing of each frame so two cameras capture in step. Timecode alone is enough to sync sound and cameras in post. Genlock matters for live switching, stereo rigs and shooting LED walls.
Next: make sure everyone agrees on the frame rate before the jam. The frame rates guide covers 23.976 vs 24, and drop-frame timecode covers 29.97.
Calculators for this guide
- Timecode CalculatorAdd, subtract, multiply and divide timecode, and convert between timecode and frames.
- Data & Storage CalculatorSolve for file size, record time or bitrate, from codec presets or a camera's published data rates.
- Speed Change CalculatorPlayback speed and running-time change when footage plays at a different frame rate.