How to set up OBS live subtitles and real-time translation

Add accurate live captions and two-language AI translation to OBS Studio. Everything runs privately on your Windows PC, with no audio uploads.

OBS preview showing local bilingual captions over a livestream

How to set up OBS live subtitles and real-time translation

By the end of this guide, OBS Studio will show live subtitles and real-time translation in up to two target languages. OMNI Live Translator listens and turns speech into captions on your Windows PC. It also translates those captions there, so your audio is not sent to a captioning server.

Key takeaways

  • OMNI adds translated captions to OBS through a browser source — a way to show a web page inside your stream.
  • Speech recognition and translation both run on your own PC.
  • You can display the original speech plus two translated languages for each phrase.
  • OMNI uses its built-in AI translation, so there is no cloud captioning service to pay by the minute.
  • After the first setup and language downloads, live captions work offline.

What you need

You only need a Windows PC, your usual streaming equipment, and a few minutes to set everything up.

  • A 64-bit Windows 10 or Windows 11 PC.
  • A modern NVIDIA graphics card for the best real-time performance.
  • OMNI Live Translator with its 30-day free trial.
  • OBS Studio with a scene — the screen layout that holds your video, camera, and other stream items.
  • A microphone or other audio input carrying the speech you want to caption.
  • Internet access for the first app and language downloads. You will not need it afterward.

How to add live subtitles and translation to OBS

The simplest setup is to let OMNI listen to your microphone, create the captions, and send the finished caption overlay into OBS. An overlay is text or an image placed on top of your stream.

  1. Install and open OMNI. Download the installer, run it, and start the trial. You do not need an account or credit card. Leave OBS closed during this first setup. That makes it easier to test your microphone and captions one step at a time.
  2. Choose the speech input. Select the microphone or audio feed carrying the presenter’s voice. This can be the same microphone you use in OBS. Avoid sending all stream audio into OMNI unless you also want guests, videos, alerts, and every other spoken sound captioned. A clear microphone signal makes a bigger difference than almost any other setting.
  3. Configure the languages. Open the Languages & Models page. Choose the language being spoken, then select one or two translation targets from the 30+ languages available in the app. For example, an English-language stream aimed at Latin America can show Spanish and Portuguese together. Use automatic source detection for conversations that really switch between languages. For a solo stream in one language, choosing that language directly is usually steadier.
  4. Download the languages you need. Open Get more languages and download the speech and translation files required for your chosen languages. You do not need to understand the different AI options. Pick Fastest, Balanced, or Most accurate, and OMNI will choose the right setup for your PC.
  5. Pick a performance preset. Start with Balanced. It aims for a useful mix of speed and caption quality. Choose Fastest if the captions start falling behind during a busy game. Try Most accurate if your graphics card has spare power. Test while OBS and your game are both running. A setting that feels fast on an empty desktop may slow down when your PC is also playing and broadcasting a game.
  6. Run a spoken test. Say several complete sentences at the same speed and volume you will use on stream. Check the original caption first, then check the translation. If the app hears a name or gaming term incorrectly, the translated caption will usually be wrong too. Pause naturally between thoughts, but do not judge the result from one or two isolated words.
  7. Add the overlay to OBS. In OMNI, choose the browser-source overlay and copy the URL it gives you. In OBS, open Sources → + → Browser. “Sources” are the items shown in your scene, such as your game, camera, or captions. Create a new browser source, paste the URL, and enter its width and height. These numbers control the visible area used for the captions. For a 1920 × 1080 stream, 1920 × 300 is a good starting point. For 1280 × 720, try 1280 × 240. OBS’s official Browser Source documentation confirms that the URL, width, and height fields control the embedded page and its viewport.
OMNI Live Translator caption overlay in a stream scene: English speech captioned live with Spanish and Portuguese translations
  1. Position, layer, and rehearse. In the Sources list, move the caption source above your game, camera, and background. Items near the top appear in front of items below them. Drag the captions into the lower part of the OBS preview. Leave room for player controls, and do not cover health bars, maps, or other useful game information. Record a 2-minute test with quiet speech, fast speech, names, and a scene change. Watch the recording and check both timing and readability before going live.

Because the captions use an OBS browser source, the translated text becomes part of the finished video. Every viewer will see it. If you do not use OBS, you can open OMNI’s movable caption window and turn on its always-stay-on-top option instead.

The same overlay setup works when sending an OBS stream to Twitch or YouTube. The platform-specific steps are covered in the Twitch live translation guide and YouTube live-stream translation guide. For a recording that you plan to edit and upload later, use the separate guide to adding subtitles to a video.

Picking languages: English, Spanish, Portuguese, Japanese, and Korean

Choose languages based on the people you expect to watch. Do not add a second translation just because you can. Two-language translation is most useful when your stream regularly brings together two clear audience groups.

ScenarioSourceTarget 1Target 2
Reaching Latin AmericaEnglishSpanishPortuguese
English stream with an East Asian audienceEnglishJapaneseKorean
Korean streamer going globalKoreanEnglishJapanese
Spanish creator expanding internationallySpanishEnglishPortuguese

For English → Spanish + Portuguese, keep them as separate caption outputs. Portuguese is not simply Spanish with a few words changed. Viewers will notice awkward wording quickly.

English → Japanese + Korean works best when the app can hear a complete sentence before finishing the translation. Important verbs and endings may arrive later than they do in English. Translating tiny pieces too early can lead to the wrong sentence structure.

For Korean → English + Japanese, test politeness and tone as well as the basic meaning. Korean honorifics and Japanese politeness levels can carry details that a short English sentence does not show directly. OMNI’s built-in AI translation uses the full sentence to make better choices, but names, community jokes, slang, and playful speech still need a test run.

Spanish → English + Portuguese is a practical setup for streams reaching audiences across North and South America. Pay close attention to similar-looking words and game-specific terms during rehearsal. In my experience, the thing that causes trouble all night is rarely an unusual language. It is usually one proper noun nobody tested before going live.

Why run translation locally?

Running everything on your PC keeps your audio, captions, and translations private. Nothing is uploaded for captioning. There are no monthly fees or per-minute charges, and you do not have to wait for audio to travel to a cloud service and back. On a gaming PC with a modern NVIDIA graphics card, the first captions can appear in under a second. After setup, the downloaded language files also keep working without an internet connection.

This is more than replacing words one by one. OMNI listens to the sentence, turns the speech into captions, and uses its built-in AI translation to choose suitable wording and word order. Context matters when a phrase can have more than one meaning. My pet peeve with cloud captioning is not simply getting a bill. It is finding out after a long charity stream that every quiet minute was charged too.

How does it compare to familiar OBS captioning options?

OMNI is the straightforward choice if you want a ready-made bilingual browser source. LocalVocal is another capable option for people who want captions built directly into OBS and are comfortable managing more settings themselves.

ComparisonOMNI Live TranslatorLocalVocalWeb CaptionerCloud captioning services
Languages covered30+ selectable languagesDepends on the downloaded setup and translation optionInput language could be changed; no live translationVaries by provider
TranslationRuns on your PC; two target languages at onceCan run on your PC or use an optional cloud providerNo translation between languagesVaries; translation may cost extra
Audio processingRuns fully on your PCRuns on your PC unless a cloud provider is selectedUsed an online browser serviceRuns on provider servers
LatencyFirst captions in under a second on a modern NVIDIA graphics cardDepends on the PC and chosen settingsDepends on the browser and internet connectionDepends on the network and provider
Pricing model30-day trial, then $19.95 one-time launch priceFree, open-source OBS pluginFormerly free; service is no longer availableCommonly charged by audio duration
Works offlineYes, after setupYes when using its local optionsNoNo

LocalVocal’s project documentation confirms that its speech recognition and translation can run locally, while optional cloud translation providers are also available. It is a strong choice if you only need an adjustable OBS filter — an effect added directly to an audio source — and do not mind managing the language downloads and caption outputs yourself.

The original Web Captioner repository records that the service was shut down on October 31, 2023. It was a convenient free browser captioning tool. However, it offered speech captions rather than translation, depended on an online service, and is no longer available as a current hosted option.

Cloud services can make sense when a production team needs one managed system for many streams at the same time. Prices and available languages vary. For example, Amazon Transcribe bills streaming recognition by audio duration. That can be a fair trade for a large team, but most new streamers will find a one-time local app simpler to understand and budget for.

FAQ

Does the OBS Browser Source send my audio to OMNI?

No. The browser source only shows the finished captions. OMNI listens to the audio input you selected and creates the captions and translations on your PC. Your normal stream audio still goes through OBS using the audio sources you already set up.

Can OBS show two translated languages at the same time?

Yes. OMNI can show two translated languages side by side for each phrase. For example, English speech can appear with Spanish and Portuguese translations. Choose both targets on the Languages & Models page before copying the overlay URL into OBS.

Will live subtitles work without an internet connection?

Yes. You need internet access for the first setup and language downloads. After that, the app’s speech recognition and translation run on your device. Your audio, captions, and translations are not uploaded or logged by a captioning server.

How much does OMNI cost?

The full app includes a 30-day free trial with no credit card. After the trial, a lifetime license costs the one-time $19.95 launch price. There is no subscription or per-minute fee. The license covers one PC at a time, and you can move it by resetting the license up to three times.

Do I need an NVIDIA GPU for OBS real-time translation?

A modern NVIDIA graphics card is recommended for real-time speed, especially when OBS and a game are using the graphics card at the same time. The Fastest, Balanced, and Most accurate choices help the app pick a suitable speech and translation setup for the power available on your PC.

Download the OMNI Live Translator free trial when you’re ready to test the complete OBS caption setup on your own stream.