NerdSubs + OBS Setup Guide
Add live subtitles to your stream in 5 minutes
1Prerequisites
Important: Access via localhost
For microphone and camera permissions to work, you must access NerdSubs via http://localhost:3000 (not via IP address). Browsers only allow mic/camera access from secure contexts (localhost or HTTPS). If you access via http://192.168.x.x:3000, the browser will block permissions.
Tip: Open OBS on the same computer running NerdSubs, and use localhost in the Browser Source URL.
2Quick Start
Open OBS Studio
Launch OBS Studio and open your scene collection. If you don't have one yet, create a new scene.
Add Browser Source
In the Sources panel, click + and select Browser. Name it "NerdSubs Subtitles" and set the dimensions to 1920 x 1080.
Paste the URL
In the Browser Source properties, paste the overlay URL from the section below. Use localhost (not the IP) so the browser grants mic access.
3OBS Overlay URLs
Configure all URLs below
4URL Parameters
Customize the overlay behavior by adding these query parameters to the URL:
| Parameter | Default | Description |
|---|---|---|
session | main-stage | Which session to listen to |
source | auto | Source language (auto-detect, en, es, pt, etc.) |
target | es | Target language for translation |
fontsize | 48 | Font size in pixels |
maxlines | 3 | Max subtitle lines visible |
mode | translate | transcribe or translate |
5Multiple Scenes
Set up different Browser Sources for each session to switch between them during your event:
Scene "Main Stage" → main-stage URL
Keynotes & opening talks
Scene "Track A" → track-a URL
Frontend & UX sessions
Scene "Track B" → track-b URL
Backend & Infrastructure
Scene "Track C" → track-c URL
AI & Data Science
Pro tip: Use OBS Studio Scene Transitions to smoothly switch between sessions. Each Browser Source maintains its own connection, so subtitles keep flowing even when switching scenes.
6Custom Sessions
If you created custom sessions in the Session Manager, they appear in the URL grid above alongside the default sessions. You can also construct URLs manually:
Replace your-session-id with the ID from your Session Manager. Session IDs are URL-safe slugs of the session name.
7Pro Tips
Use HTTPS
Run npm run dev:https for secure connections. Required for microphone access on some networks.
Match Resolution
Adjust fontsize based on your stream resolution. 48px for 1080p, 72px for 4K.
Clean Subtitles
Use maxlines=2 for a minimal look, maxlines=3 for more content. Default is 3.
Test First
Play a YouTube video with audio before going live to verify subtitles work correctly.
Need help? Open NerdSubs