Live captions
Live captions are text versions of speech shown on screen while a live stream or broadcast is happening. They are produced by streaming speech recognition, which processes audio as it arrives, or by a human stenographer typing in real time. Because the words are recognized on the fly, live captions trail the speaker by a few seconds and usually contain more errors than captions made after the event. They are delivered as a timed text track alongside the video or embedded inside the video signal, and the player shows them in sync with the picture.
How do live captions work?
The encoder pushes the stream to the platform's ingest. At that point the audio is copied off to a streaming speech recognition engine while the video carries on to the transcoder that builds the live bitrate ladder.
The recognizer outputs partial words within a second or two, then revises and commits them as more speech arrives. Committed words are grouped into short cues with times on the stream's own clock. For HLS delivery, those cues are written into WebVTT segments that sit in a subtitles playlist next to the video segments, so the player fetches captions the same way it fetches video. Broadcast-style workflows instead embed CEA-608 or CEA-708 caption data inside the video stream itself, which HLS can also carry and declare in the playlist.
Because captions and video share one timeline, the player can line them up, as long as caption segments arrive before the video they belong to is played.
How much delay do live captions add?
Recognition needs a little context to be accurate, so a speech model typically commits text a second or more after the words are spoken. Whether viewers notice depends on how far behind the live edge the player sits.
With standard HLS, players often run many seconds behind real time, so there is room to wait for final caption text and stitch it in with the right timing. As latency drops with LL-HLS, that buffer shrinks. The system then has to choose: hold the video slightly so captions stay in sync, or show captions that appear just after the words are heard.
Caption display style changes perception too. Pop-on captions show a full line at once, which reads cleanly but waits for the line to finish. Roll-up captions add words as they arrive and scroll, which keeps up with fast speech, such as sports commentary, but can show a word being corrected.
Live captions vs. captions on the recording
Live captions are judged twice: once during the stream and again when someone watches the replay. During the event, nobody can correct a misheard name before viewers see it, and streaming recognition never hears the end of a sentence before committing its start.
After the event, the recording can keep the live caption track as it was or get a fresh batch transcription, which sees the whole file and usually produces cleaner text. Replays of classes, webinars and press conferences get watched for months, so the better track is worth having there.
Requirements differ for each. WCAG success criterion 1.2.4, Captions (Live), makes captions for live audio a Level AA requirement; criterion 1.2.2 covers prerecorded media at Level A. A live event that is archived falls under both, once live and once as a recording.
How do you add live captions to a live stream?
There are three common routes. The platform that ingests the stream runs speech recognition and publishes the caption track itself. A third-party captioning service receives the audio and returns text over an API. Or a human captioner writes into a caption encoder that embeds CEA-608 data in the signal before it leaves the venue.
Platform captioning has the fewest moving parts, because nothing extra sits between the encoder and the viewer. A skilled human captioner usually gets names, jargon and crosstalk right more often than a model, and is still chosen for high-stakes events with legal accessibility duties.
Whichever route you choose, test with the real setup: your encoder, your microphones, your speakers and their accents, and the names and terms that will come up. Sports commentary over crowd noise and a quiet single-speaker webinar behave very differently. Also decide in advance what the replay should carry, the live track or a new pass.
How does FastPix handle live captions?
A FastPix live stream accepts RTMP, RTMPS or SRT from your encoder or a phone, with an authenticated stream key and a backup ingest path. Real-time speech-to-text captions run on the stream inside FastPix, so there is no separate captioning service between the encoder and the viewer.
Delivery is LL-HLS with 4 to 7 seconds of delay from camera to screen, across 300+ points of presence, so the caption pipeline has only a few seconds of slack. The FastPix Player, with native SDKs for web, Android (Media3-based, including Android TV), iOS (AVPlayer-based, including tvOS and visionOS) and Flutter, renders captions with its captions styling API, and viewers can use DVR to pause, rewind and return to the live edge. Webhooks fire on connect, disconnect and error, and real-time bitrate and dropped-frame health show whether the encoder is struggling. You can simulcast the same stream to YouTube, Twitch and Facebook Live while keeping your own player as the main destination.
When the broadcast ends, auto_archive turns it into an on-demand replay under the same playback ID and access policy. You can also clip a highlight mid-event.
Live encoding is $0.0324 a minute at any resolution up to 1080p. Live captions are billed per minute of stream they run on, and viewing is billed per viewer-minute. Run a captioned test stream with your own microphones and speakers inside the free plan's 30 live minutes, no card needed.
By the numbers
- WCAG success criterion 1.2.4, Captions (Live), is a Level AA requirement: captions are provided for all live audio content in synchronized media. (Understanding SC 1.2.4: Captions (Live) (W3C))


