Koine
HomeGuides › Live captions in OBS
Guide

Live captions in OBS, one browser source.

OBS treats a web page as a first-class layer. One URL pasted into a Browser Source puts live translated captions over your stream or your projector feed — no plugin, no capture tricks, nothing new in the rack.

What you need before you start

  • A clean audio feed. A soundboard output or a headset mic on the speaker. This is the single biggest factor in caption quality — a room mic at the back of a reverberant hall produces poor text in any language.
  • Network on the OBS machine. The overlay is a web page, so the computer running OBS needs to reach the internet.
  • Your permanent screen link. Screen setup in the Koine console shows a permanent presentation link addressed to your room — not to one event. You can set everything up with nothing live; the layer simply stays empty until an event starts.

The setup, step by step

1. Copy the permanent link

Open Screen setup in the Koine console and copy the permanent presentation link. Paste it once and you are done for good: it lights up with captions whenever an event is live in your room and shows nothing in between. The caption styling follows your saved screen settings, so a restyle in the console updates the layer without anyone touching OBS.

2. Add it as a Browser source

In OBS: Sources → + → Browser, name it something like “Koine captions”, and paste the link as the URL. Set the width and height to match your canvas — 1920 × 1080 for most setups. The overlay’s background is transparent, so it composites over your cameras and slides without any keying.

3. Keep it on top, and reuse the same source everywhere

Sources render top-down, so the captions belong at the top of the list, above cameras and screen shares. When several scenes need captions, don’t create a new Browser source in each — use “Add Existing” to reference the same one, so there is exactly one connection and one styling to think about.

4. Pick a look

Start from one of four presets and adjust from there:

  • Lower third — a single band across the bottom. The safest choice over a camera shot.
  • Original + translation — both languages stacked, source above, translation below.
  • Bare text — no panel, just words, for when the design should come from your own scene.
  • Green screen — a solid chroma background for hardware switchers downstream of OBS that cannot take an alpha channel. Inside OBS itself you never need it.

One stream, one language

Worth being deliberate about: captions burned into the stream reach every viewer in the same language. That is usually the room’s own language, serving viewers who are hard of hearing. Everyone who needs a different language gets their own — captions and voice — on their own phone through your join link, in the room or watching remotely. Many streams show the join QR in a corner for exactly this reason.

What to check before you go live

  • Switch scenes with captions running. Confirm every scene that should carry captions references the same Browser source, and none drops it.
  • Judge the stream, not the preview. Streaming compression smears thin type; at typical bitrates a semibold weight survives where a light one blurs.
  • Check contrast against your busiest scene, not your plainest one. White text over a bright camera shot is the usual failure.
  • Decide the on-screen language once, and let phones carry the rest.
Questions

Setup questions.

Do I need an OBS plugin?

No. The Browser source ships with OBS, and the overlay is an ordinary web page. Paste one URL — there is no plugin, script or extra hardware.

Is the background really transparent?

Yes. OBS composites browser sources with their alpha channel, so the captions layer over your scene with no keying. The green-screen preset exists only for hardware switchers downstream that cannot take alpha.

Do I have to update the link for every service?

No. The permanent link is addressed to your room, not to one event, so the same pasted URL works every week. It shows whichever event is live right now — in that event’s languages and your saved caption look — and shows nothing between events.

Can different viewers get different languages on the stream?

Not burned into the video — a stream carries one picture. Viewers who need another language open your join link on their phone and get their own captions and translated voice there, whether they are in the room or watching the stream from home.

Does it work in vMix?

Yes — Add Input → Web Browser, same URL, same transparent background. Anything with a web or browser source takes the same link.

What if our audio feed is poor?

Fix that before anything else. Captions are only as good as the audio they are made from — a soundboard feed or a headset mic reads cleanly, a distant room mic does not.

See captions & overlays Live captions in ProPresenter