Skip to main content

Add Automated Closed Captioning to Live Streams

Learn how to create, edit, and add automated native or translated captions to a channel when using different video sources.

Updated over 3 weeks ago

Introduction

Videolinq's EDIT offers a cost-effective and efficient way to add AI-Based automated native or translated captions to live streams while improving the accuracy of the output captions before they are inserted back into the broadcast. "Captions" refers to creating text from the native spoken language, while "Subtitles" are the creation of text translation from the native spoken language. This article will address all speech-to-text data created as "captions". Automated captions is a fee-based service. This article explains how to add GenAI captions to four types of video sources:

  • Connected Webcam or virtual meeting.

  • RTMP/RTSP (SRT coming soon) stream sent to Videolinq from a media encoder or virtual meeting.

  • RTMP/RTSP Stream (SRT coming soon) stream was pulled from the internet.

  • Pre-recorded media file or multiple files in a playlist.

Videolinq offers automated captions output as five "workflows":

1. Closed Captions (CEA-608/708)

What it is: Captions embedded directly into the video stream as compliant broadcast data.
Used for:

  • Traditional broadcast systems

  • Social platforms that read 608/708 (YouTube, Facebook Live, LinkedIn, etc.)

  • Any workflow requiring regulatory accessibility compliance (FCC, AVMSD)

2. Open Captions

What it is: Burned-in subtitles are permanently visible on the video.
Used for:

  • Events where every viewer must see subtitles

  • Trade shows, hybrid events, public screens, digital signage

  • Simple distribution when platforms don’t support caption files

3. Subtitles (Web) / In-App Subtitles

What it is: Real-time subtitles delivered as an HTML overlay or in-app widget.
Used for:

  • Onsite attendees using an app

  • OBS, vMix, TriCaster overlays

  • Custom player integrations and low-latency subtitle previews

4. Subtitles (Web) / TTML

What it is: XML-based timed-text format with styling and precise timing.
Used for:

  • Broadcasters and enterprises needing editable, frame-accurate subtitles

  • Playout systems, OTT workflows, and archive/compliance files

  • Integrations requiring push or pull TTML streams

5. Player Integration (WebVTT via HLS manifest)

What it is: Sidecar VTT captions referenced by M3U8 manifests.
Used for:

  • Video players that expect VTT sidecar tracks (JW Player, Shaka, HLS.js)

  • OTT, streaming apps, and multi-language subtitle menus

  • Low-latency updates aligned with the live manifest

Important:

  • When using the a delay under 1 minute, captions will not show in the Editor.

  • To switch the automated captions method (e.g., from closed to open captions), follow these steps: stop the automated captions generation, stop all destinations, stop the channel, and stop the video source. Then, restart everything in reverse order: start the video source, select the proper captions mode, start the channel, start the captions, and finally, start the destinations.

All Videolinq plans have access to this feature, so let's get started!

Webcam/Virtual Meeting

Open the channel. Click on Sources. Click on the webcam or virtual meeting radio and "Update".

Expand the controls tab under the preview player and click on the Captions tab. Check the radio of the automated captions option. Last, push "Go Live".

When you see live video in the preview player it means the channel is active. Go back to the Captions tab. Select the required delay to edit the captions before they are inserted into the live stream. Drop down "Select Language" to match the audio source. Drop down "Translate" to select a target language, or set it to "None" if no translation is needed. Leave the "Language Model" as-is or try an alternative ti improve the output. Click on the "Start" icon to begin.

Wait about 60 seconds until you see captions in the preview player. Click on the "Editor" to access EDIT.

Real-time closed captioning will appear in EDIT. The red countdown number tells you how many seconds you have before the captions box disappears. Edit the text as needed. Click outside the text box to autosave changes. After the broadcast ends export SRT VTT or transcripts in PDF format.

When the live broadcast ends, do the following:

  • Stop video distribution to destinations.

  • Stop the automated closed captioning service (click on "Stop Captions").

  • Stop the channel (click on "Streaming"). The red icon will turn green "Go Live".

  • Stop the video source.

RTMP Encoder

First, read this article and learn how to configure your RTMP output stream. Next, open the channel. Click on Sources. Click on the RTMP radio and "Update".

Expand the controls tab under the preview player and click on the Captions tab. Check the radio of the automated closed captioning option.

Click and expand the Encoder tab. Copy the RTMP path and stream key to your preferred media encoder.

Start your media encoder. Confirm you see video in the preview player. Push "Go Live".

Go back to the Captions tab. Select the required delay to edit the captions before they are inserted into the live stream. Drop down "Select Language" to match the audio source. Drop down "Translate" to select a target language, or set it to "None" if no translation is needed. Leave the "Language Model" as-is or try an alternative ti improve the output. Click on the "Start" icon to begin.

Wait about 60 seconds until you see captions in the preview player. Click on the "Editor" to access EDIT.

Real-time closed captioning will appear in EDIT. The red countdown number tells you how many seconds you have before the captions box disappears. Edit the text as needed. Click outside the text box to autosave changes. After the broadcast ends export SRT VTT or transcripts in PDF format.

When the live broadcast ends do the following:

  • Stop video distribution to destinations.

  • Stop the automated closed captioning service (click on "Stop Captions").

  • Stop the channel (click on "Streaming"). The red icon will turn green "Go Live".

  • Stop the video source.

RTMP/RTSP Stream

Open the channel. Click on Sources. Click on the Stream radio, and place in the text box the RTMP or RTSP path to a live stream. Click "Update".

Expand the controls tab under the preview player and click on the Captions tab. Check the radio of the automated closed captioning option. Last, push "Go Live".

When you see live video in the preview player it means the channel is active. Go back to the Captions tab. Select the required delay to edit the captions before they are inserted into the live stream. Drop down "Select Language" to match the audio source. Drop down "Translate" to select a target language, or set it to "None" if no translation is needed. Leave the "Language Model" as-is or try an alternative ti improve the output. Click on the "Start" icon to begin.

Wait about 60 seconds until you see captions in the preview player. Click on the "Editor" to access EDIT.

Real-time closed captioning will appear in EDIT. The red countdown number tells you how many seconds you have before the captions box disappears. Edit the text as needed. Click outside the text box to autosave changes. After the broadcast ends export SRT VTT or transcripts in PDF format.

When the live broadcast ends do the following:

  • Stop video distribution to destinations.

  • Stop the automated closed captioning service (click on "Stop Captions").

  • Stop the channel (click on "Streaming"). The red icon will turn green "Go Live".

  • Stop the video source.

Recorded file(s)

Open the channel. Click on Sources. Click on the File radio. Upload recorded MP4 file, or drop down to select previously uploaded media. Click "Update".

Expand the controls tab under the preview player and click on the Captions tab. Check the radio of the automated closed captioning option. Last, push "Go Live".

When you see live video in the preview player it means the channel is active. Go back to the Captions tab. Select the required delay to edit the captions before they are inserted into the live stream. Drop down "Select Language" to match the audio source. Drop down "Translate" to select a target language, or set it to "None" if no translation is needed. Leave the "Language Model" as-is or try an alternative ti improve the output. Click on the "Start" icon to begin.

Wait about 60 seconds until you see captions in the preview player. Click on the "Editor" to access EDIT.

Real-time closed captioning will appear in EDIT. The red countdown number tells you how many seconds you have before the captions box disappears. Edit the text as needed. Click outside the text box to autosave changes. After the broadcast ends export SRT VTT or transcripts in PDF format.

When the live broadcast ends do the following:

  • Stop video distribution to destinations.

  • Stop the automated closed captioning service (click on "Stop Captions").

  • Stop the channel (click on "Streaming"). The red icon will turn green "Go Live".

  • Stop the video source.

Supported Languages

These are the supported languages for the CEA-608/708, Open-Captions, TTML, VTT Manifest, HTML inApp output workflows: Albanian (Albania)*, Arabic (Algeria), Arabic (Bahrain), Arabic (Egypt), Arabic (Iraq), Arabic (Israel), Arabic (Jordan), Arabic (Kuwait), Arabic (Lebanon), Arabic (Mauritania), Arabic (Morocco), Arabic (Oman), Arabic (Qatar), Arabic (Saudi Arabia), Arabic (State of Palestine), Arabic (Tunisia), Arabic (United Arab Emirates), Arabic (Yemen), Bulgarian (Bulgaria), Bengali (Bangladesh), Catalan (Spain)*, Chinese (Simplified, China), Chinese, Mandarin (Traditional, Taiwan), Chinese, Cantonese (Traditional Hong Kong), Czech (Czech Republic)*, Danish (Denmark)*, Dutch (Netherlands)*, English (Australia)*, English (Canada)*, English (India)*, English (UK)*, Finnish (Finland)*, French (Canada)*, French (France)*, German (Germany)*, Greek (Greece), Hindi (India), Hungarian (Hungary)*, Indonesian (Indonesia)*, Italian (Italy)*, Japanese (Japan), Kannada (India), Khmer (Cambodia), Kinyarwanda (Rwanda)*, Korean (South Korea), Macedonian (N Macedonia), Malayalam (India), Marathi (India), Norwegian (Norway)*, Persian (Iran), Polish (Poland)*, Portuguese (Brazil)*, Portuguese (Portugal)*, Romanian (Romania)*, Russian (Russia), Southern Sotho (South Africa)*, Spanish (Colombia)*, Spanish (Mexico)*, Spanish (Spain)*, Spanish (United States)*, Swati (Latin, South Africa)*, Swedish (Sweden)*, Tamil (India), Telugu (India), Thai (Thailand), Tsonga (South Africa)*, Tswana (Latin, South Africa)*, Turkish (Turkey)*, Ukrainian (Ukraine), Urdu (Pakistan), Venda (South Africa)*, Vietnamese (Vietnam)*, Xhosa (South Africa)*.

* Languages supported for CEA-608/708.

Current Known Issues (in progress):

  • Browser compatibility: Captions may not display properly in Safari on iOS 13 or earlier.

  • Transcript exports: Some non-Latin character languages do not render correctly when exporting transcripts to PDF.

Language Models and Region Availability

Videolinq provides three models for language processing, each designed to balance accuracy and latency differently:

  • Premium - Focuses on maximum contextual accuracy, ideal for complex or formal language (10+ seconds).

  • Standard - Offers a balance of speed and translation accuracy (1-2.5 seconds).

  • Basic - Prioritizes low latency (1–2.5 seconds) for live conversations and fast broadcasts.

Not all models are available in all regions. To simplify operations, Videolinq automatically maps each language pairing, model selection, and regional availability in the background.

When selecting a combination of language, model, and region, you may notice that certain options appear grayed out or unclickable in the UI. This simply means that the selected model is not yet available for that region or language group.

Tips & Tricks

Read below a few recommended steps our team prepared for new users of the service. Do you have questions about this service? Contact customer service by starting a chat conversation, on this page, or in the lower right corner of the media dashboard.

Technical Guidelines -

  1. Use high-quality audio equipment. Poor sound quality leads to missing or inaccurate captions. Use directional microphones when possible.

  2. Maintain proper microphone distance. Keep the mic at least 10 cm (5 inches) away from your mouth.

  3. Use a stable internet connection. A wired Ethernet connection is preferred over Wi-Fi for best performance.

  4. Use a device with a screen size of 1024 pixels or more for the best user experience.

  5. Avoid changing Editor delay settings during a live broadcast. If needed, stop the output stream first to prevent time shifts in the video.

  6. Real-time captions appear in 1, 2.5, 10, 60, 120, or 180 seconds delay, depending on whether you're using Closed captions, Open captions, Subtitles (Web), or Player integration. When selecting 1, 2.5, or 10 seconds of delay, captions will not show in the Editor. Learn more about delays.

  7. Do not exceed 8 hours per captioning session. For longer events, stop the captioning service for 1 minute and restart it while keeping the stream live.

Operational Guidelines -

  1. Avoid speaking over each other. This helps the system capture clear, distinct speech.

  2. Wait 1 minute when switching between languages. Do not stop the live stream, unless you are changing the caption method (close captions, open captions, or data feed). Stop the captioning task, wait, then restart the task.

  3. Follow the proper shutdown order. First stop the destinations, then the captioning service, and finally the channel to avoid stream disruption.

  4. Hourly fees apply. Stop the automated captioning service when not in use to avoid unnecessary charges.

  5. Need to edit after the broadcast? Go to Sources > Content Management > Recorded Captions, find your file, rename, edit, and export.

This product is not necessarily ADA compliant, and we recommend that you also check with federal regulations to ensure compliance.

Did this answer your question?