Starting Frame.

My broadcast SRT started at the one-hour mark and left an empty opening.

By Brian Pilgrim — producer, 20 years in commercial and broadcast video; PGA member. See the work

I imported a caption file and nothing showed up.

Not a typo. Not a broken upload. The animation just sat there, empty, for what felt like forever. I almost deleted the file and started over. Then the words finally appeared — about an hour in.

An hour. The captions were all there. They were just waiting until 01:00:00 to start.

If you’ve ever pulled subtitles off a broadcast deliverable and watched your tool render a blank opening, that’s the same thing. You’re not crazy. The file isn’t corrupt. It’s doing exactly what it was built to do, in a world you weren’t told about.

Why your file thinks the show starts an hour in

Broadcast timecode doesn’t start at zero. It starts at 01:00:00:00.

That first hour isn’t dead space — it’s where color bars, tone, slate, and countdown live. Program content starts at the top of hour one so there’s a full hour of runway before anything an audience sees. It’s a convention older than most of us, and it’s baked into how broadcast SRTs get timed.

So when you export captions from that timeline, cue one isn’t at 00:00:01. It’s at 01:00:01. Your captions tool, which assumes the world starts at zero like every web video does, reads that and goes: cool, I’ll wait an hour. And it does. Most tools never tell you why. They just leave you staring at a blank canvas wondering what you broke.

You broke nothing. Two different worlds met and nobody translated.

The fix is one checkbox

I hit this myself, in my own tool, with my own file. So I built the translator.

In Typo there’s now a checkbox in the SRT panel: Timecode starts at 1 hr. Tick it, and every cue shifts back by 3,600 seconds. Cue one lands at 00:00:01 where it belongs. The blank hour collapses. The words show up the second you press play.

That’s it. No re-timing by hand. No math. No opening the file in something else to renumber forty cues. One click and the broadcast world and the browser world finally agree on when the show starts.

The part I actually cared about

Here’s the thing I want you to hear, because it’s the whole reason I built it the way I did.

The checkbox only shifts the preview. Your saved file keeps its original timecodes.

If you tick the box, watch it line up, then save — you get your file back with 01:00:01 intact. Untouched. Because that file might go back to a broadcast pipeline, or to an editor, or to whoever sent it to you, and the last thing they need is your tool silently rewriting their timing under them. The rebase is for your eyes. Not for their file.

I think about this a lot. A tool should help you see your work, not quietly change it and hope you don’t notice. So Typo holds the original cues in memory the whole time. The toggle is just a lens. Take the lens off, the file is exactly what you imported.

And honestly, you shouldn’t have to think about it

So the last thing I did: I made it detect itself.

If the first cue in your file lands at or past the one-hour mark, Typo ticks the box for you. A broadcast file opens already rebased. The captions are just there, where you expect them, and you never had to know any of this.

You can untick it if I guessed wrong. You’re always in control. But the default is: the thing works the first time, and the surprise blank hour never happens to you the way it happened to me.

That’s the kind of fix I love most. Not flashy. Just the moment a confusing thing stops being confusing. If you’re cutting captions or kinetic type and want a tool that meets you where your files actually are, the whole Cue suite is free to use right now.

Go import something messy. See what it does.