> Source: https://txtfetch.com/glossary/caption-track > Plain-text twin — every page on txtfetch.com has one. https://txtfetch.com/text --- # Caption track Text already stored inside or alongside a video/audio file, in a sidecar file or muxed into the container. Not the same thing as transcribing speech. definition A caption track is a stream of timed text: captions or subtitles. It's stored as a separate sidecar file (.srt, .vtt, .ttml), or muxed directly into a video container, distinct from the audio or video content itself. Also called: subtitle track, closed captions, embedded subtitles in-plain-terms Text in a video or audio file lives in one of a few places, and which one decides what an extraction call actually returns. A caption sidecar carries a real transcript someone wrote, wrapped in cue numbers and timestamps. A tagged .mp3 or .mp4 carries whatever tag metadata its encoder wrote, like a title or an artist. That tag data is the only text in the file unless a caption track was muxed in beside it. Some containers have no text-bearing parser at all: they detect fine from their bytes and hand back nothing. This matters because "extract text from video" bundles two genuinely different jobs that get conflated constantly. One is reading text that already exists in the file. The other is listening to the audio and writing down what's said. txtfetch does the first: it reads a caption track or a container's tag data if one is present. It does not transcribe speech. If a file's words only ever existed as sound with no caption track, that's a speech-to-text job for a different tool. Run that first, then send the resulting transcript through txtfetch like any other text file. why-it-matters - A plain audio file, or a video with no caption track, won't come back with a transcript. Expect an honest error instead, not a silent empty success. There's no text-bearing data in the file to find, so that's the correct outcome. - A caption sidecar's raw text still carries cue numbers and timestamps until it's cleaned up separately. The raw extraction and the clean transcript are two different outputs. how-to-check - Clean captions out of a video or subtitle file into a real transcript, entirely in your browser. [Clean a caption file into a transcript](https://txtfetch.com/tools/subtitles-to-text) - See exactly what each media container returns: caption sidecar, tag data only, or an explicit error. [See what each media format returns](https://txtfetch.com/extract/captions) related-terms - [Media type (MIME type) →](https://txtfetch.com/glossary/media-type) - [Document metadata →](https://txtfetch.com/glossary/document-metadata) faq **Does txtfetch transcribe speech from a video?**: No. It reads text that already exists in the file: a caption sidecar or a container's tag data. If a file's words only ever existed as sound with no caption track, that requires a separate speech-to-text tool run first. **What happens if a video file has no caption track and no tags?**: An explicit error, not a silent empty result. There's genuinely no text-bearing data in the file for extraction to find, and txtfetch says so rather than returning an empty success. related-reading - [Getting text out of video and audio →](https://txtfetch.com/blog/text-from-video-and-audio) - [All glossary terms →](https://txtfetch.com/glossary) File identity - [Media type (MIME type) →](https://txtfetch.com/glossary/media-type) - [Magic bytes →](https://txtfetch.com/glossary/magic-bytes) - [OOXML (Office Open XML) →](https://txtfetch.com/glossary/ooxml) - [Document metadata →](https://txtfetch.com/glossary/document-metadata) - [All terms →](https://txtfetch.com/glossary) ## See the term in real output. Drop a file into the free reader and watch it happen. [Open the file reader →](https://txtfetch.com/tools/file-to-text) [Get an API key →](https://app.txtfetch.com/signup)