probably.co.uk logo

Extracting Audio Timecode using free software

328 words, 2 minutes.

Last year I went down a bit of a rabbit hole with trying to add timecode to every camera I film with.

One camera that I’ve struggled to get it right with, even just holding up a slate, is the Insta360 One X2.

I’d started to look at replacing the UltraSync Blue TC generators with Deity TC-1s, as I’m also finding bluetooth simply isn’t reliable enough. I already use a Deity PR-2 mic, and it’s rock solid. It also turns out you can jam DJI Action cameras using just its USB port (and I’ve tested this works with an ageing, but still utterly reliable, DJI Action 3).

I use Final Cut Pro for editing, which is a bit of a pain with audio timecode LTC as it can’t access it. Apparently, DaVinci Resolve can. I’m not swapping my workflow for this one, niche, feature though.

Off down another rabbit hole I went.

It turns out that there is a free, open source, piece of software called LTC-tools, which is available on macOS via Homebrew. Using that, plus ffmpeg (documented in the previous post), gives me a simple workflow to add LTC as metadata timecode that FCP can read.

Because LTC-tools only works on audio files, it’s a multi-step operation to extract and embed the timecode, but it’s pretty simple once one has all the tools lined up.

For 360º video, I use Insta360’s own Insta360 Studio to turn the video into an equirectangular projection file suitable for direct import into FCP (where I’ll choose the framing later)

insta360 studio export

Then it’s a case of extracting the audio, running ltcdump against it to get timecode, and adding it via the first frame the same in the previous post.

$ ffmpeg -i VID_20250314_122622_00_001.mp4 -vn -acodec libmp3lame audio.mp3

$ ltcdump -F audio.mp3 2>/dev/null | awk '/Timecode/ {getline; getline; print $2; exit}'
12:25:22:21

I’ll probably make another Shortcut to do this in due course. For now, this is a pretty easy solution for me.

✍️ Respond by email