Transcript Segmentation and Timestamps: How They Work
Caption files are built from segments: time-bounded text blocks. Understanding what a segment is and how timestamps control it prevents most of the sync and formatting errors that come up in captioning work.
Ghulam Mujtaba
Software Developer at Codingtron · Vehari, Pakistan
Builder of Facebook to Transcript. Writes about AI transcription, video accessibility, and practical workflows for content creators and researchers.
Transcript Segmentation and Timestamps: How They Work
facebooktotranscript.com
What a transcript segment actually is
A transcript segment is a bounded unit of text with a start time, an end time, and content. In an SRT or VTT file, each segment is a self-contained block. The segment controls exactly when text appears on screen and when it disappears. Nothing about the segment is inherent to the meaning of the words — it is purely a display unit.
AI transcription tools generate segments automatically by detecting speech pauses, sentence boundaries, and breath patterns in the audio. The result is usually functional but not always readable: fast speakers produce dense segments that run close to the character limit, while slow speakers produce short segments with lots of white space. Human reviewing and adjustment is often needed for broadcast or accessibility-compliant use.
Timestamp format in SRT files
Every SRT segment follows this structure:
1 00:00:04,200 --> 00:00:07,800 First caption text here. 2 00:00:08,000 --> 00:00:12,500 Second caption text here. Can span two lines.
The timestamp format is HH:MM:SS,mmm where mmm is milliseconds. The separator between seconds and milliseconds is a comma. The separator between start and end timestamps is --> with a space on each side. Missing spaces or the wrong decimal separator will cause the file to fail validation on most platforms.
Timestamp format in VTT files
VTT follows a nearly identical structure with two differences: a WEBVTT header on line one, and a period (not a comma) as the millisecond separator.
WEBVTT 00:00:04.200 --> 00:00:07.800 First caption text here. 00:00:08.000 --> 00:00:12.500 Second caption text here.
VTT does not require sequence numbers (though they are allowed). The WEBVTT header must appear on the very first line with no leading whitespace or BOM character. VTT also supports optional cue settings after the timestamp: positioning, line number, and alignment, though most platforms that accept VTT ignore these.
Why segment boundaries affect search and editing
When a video platform indexes caption text for search, it uses segment boundaries to understand context. A search for a specific term returns results with timestamp links to that exact segment. If segments are poorly bounded — one segment spanning a topic transition, for example — the search result points to a less precise location in the video.
For transcript editing, segment boundaries determine where corrections are isolated. Correcting the text in one segment does not affect adjacent segments. This makes editing efficient: you can fix a specific error without re-timing the surrounding context. The transcript editing guide covers segment-level correction in the context of a full review workflow.
Segment length guidelines
| Parameter | Recommended | Why it matters |
|---|---|---|
| Characters per line | 42 max | BBC standard; prevents line wrapping on small screens |
| Lines per segment | 2 max | More than 2 lines obscures significant video area |
| Segment duration | 1–7 seconds | Below 1s is unreadable; above 7s strains working memory |
| Gap between segments | 2 frames min | Zero-gap makes adjacent segments blur into one |
Timestamp offset calculations when reassembling segment transcripts
When you transcribe a long video in segments and then combine the SRT files, each segment file has timestamps starting from 00:00:00,000. Before combining, you need to offset every timestamp in segment 2 by the duration of segment 1, and every timestamp in segment 3 by the combined duration of segments 1 and 2, and so on.
Example with three segments: segment 1 ends at 00:28:44,312. Segment 2 ends at 00:31:22,000 in its own timeline, but in the combined file it should end at 01:00:06,312 (the 28:44 offset added). Every timestamp in segment 2 gets 00:28:44 added to it. This operation can be done manually in a text editor with careful find-and-replace, or automatically with subtitle editing tools like Subtitle Edit (free, Windows) which has a batch offset function. For large multi-segment files, the automated tool is faster and less prone to arithmetic errors.
Sequence numbers also need to be renumbered continuously across the combined file. If segment 1 ends on block 214 and segment 2 starts from block 1, the combined file should start segment 2's blocks from 215. Most subtitle editors resequence automatically on save; plain text editing requires manual renumbering unless you use a script.
Caption sync problems: causes and fixes
Out-of-sync captions are one of the most common issues when uploading SRT files. There are three distinct causes, each with a different fix.
Cause 1: the SRT was generated from a different cut of the video.If you trimmed the video after transcribing it, the timestamps in the SRT no longer match the edited version. Fix: regenerate the SRT from the edited video. Cause 2: the video player adds a display buffer. Some players have a 100–200ms display delay that makes captions appear slightly after the speech. Compensate by subtracting that offset from all timestamps using a subtitle tool. Cause 3: file encoding issues. This is more common with VTT files on platforms that expect SRT, and with SRT files that contain periods instead of commas in timestamps. Verify the file format matches what the platform expects before uploading.
The quickest diagnostic: check whether the first caption block appears at the right time relative to the first spoken word. If the offset at the start equals the offset throughout, it's a uniform timestamp shift — easy to fix with a bulk offset tool. If it drifts (correct at the start, wrong by the end), the video frame rate was different from what the transcription tool assumed — more involved, needs a subtitle sync tool like subsync.
The single most common cause of caption upload failures in practice is not frame rate mismatch — it is the period-versus-comma separator issue combined with a file renamed from .vtt to .srt without converting the content. The platform accepts the file, displays no error, and then shows either no captions or garbled ones. I've watched this happen more times than I can count. A two-second check of the first timestamp line before uploading catches this every time.
The comma-vs-period problem catches everyone
The single most common cause of caption upload failures is SRT files with periods in timestamps instead of commas. This happens when a tool exports in VTT format (period separator) and the user renames the file to .srt without converting the content. The file looks like an SRT file, the upload process accepts it without error, and then the platform either rejects it or displays no captions. Always check the first timestamp line before uploading.
Frequently Asked Questions
What causes captions to appear out of sync with the video?
Three common causes: the SRT file uses timestamps from a different video cut than the one uploaded (editing the video after transcribing it shifts all the timings), the video player adds a display offset that the caption file does not account for, or the file was exported from a transcription of a trimmed clip without adjusting timestamps to start from 00:00:00,000. The fastest diagnostic: open the SRT file and check whether the first caption appears at approximately the right time relative to the first spoken word. If the offset at the start equals the offset throughout the video, it is a uniform timestamp shift that a bulk offset tool can fix in under a minute. If the error grows from start to end, the video frame rate does not match what the transcription tool assumed — that requires a subtitle sync tool like subsync to correct the drift.
How long should each caption segment be?
Industry standard is 42 characters maximum per line, two lines maximum per segment, and 1-7 seconds per segment duration. Segments shorter than one second flash too fast to read. Segments longer than 7 seconds require the viewer to hold text in memory while the speaker has moved on. Most AI transcription tools segment automatically within these parameters, but dense speech or very fast speakers sometimes produce segments that need manual adjustment.
What is the difference between a caption segment and a transcript paragraph?
A caption segment is a timed display unit, sized for readability at video speed. A transcript paragraph is a reading unit, sized for prose comprehension. They are different things. One transcript paragraph typically spans 3-8 caption segments. Never use SRT segments as the basis for a blog post or article — they are sized for a screen, not for reading.
Can I manually adjust timestamp offsets in an SRT file?
Yes. Open the file in any text editor. To shift all timestamps forward by 5 seconds, add 5 seconds to every timestamp in the file. For small adjustments, find-replace a specific value. For bulk shifts across a long file, free tools like Subtitle Edit (Windows) or subsync (command-line) automate the offset adjustment without requiring manual editing of every line.
Why does the timestamp format use commas in SRT but periods in VTT?
SRT was developed in the late 1990s for SubRip software and adopted comma as the decimal separator, consistent with European number formatting conventions of that era. VTT was developed by the W3C in 2010 and followed web standards, which use period as the decimal separator. This is a historical formatting difference, not a technical limitation — the underlying timing data is identical, only the punctuation differs.
What is a segment boundary and why does it matter for editing?
A segment boundary is the point where one caption block ends and the next begins. Boundaries placed mid-sentence force viewers to read across two separate caption displays, which increases cognitive load. Good boundaries follow natural speech pauses or clause boundaries. When editing an AI-generated SRT, check boundaries against the audio: a segment that cuts off mid-phrase should be extended or moved to the next natural pause.
Ready to Convert Your Facebook Videos to Text?
Use our free AI-powered tool to transcribe any Facebook video in seconds.
Try the Free Transcription Tool