🎙️ Multi-User Transcription Server

Merge captions from multiple streamers into a single OBS display

What is this?

This server allows multiple streamers using the Local Transcription app to merge their real-time captions into a single stream. Perfect for collaborative streams, podcasts, or gaming sessions with multiple commentators.

🔒 Secure

Room-based isolation with passphrase authentication

🎨 Colorful

Each user gets a unique color (supports 20+ users)

⚡ Real-time

Low-latency streaming via Server-Sent Events

🌐 Universal

Works on any standard PHP hosting

Get Started

Click the button below to generate a unique room with random credentials:

📱 For Desktop App Users

Room Name:
-
Passphrase:
-
Server URL:
-

📺 For OBS Browser Source

Display URL:
-
Note: The display URL does not contain the passphrase for security. Only users with the passphrase can send transcriptions.

How to Use

Generate Room Credentials

Click "Generate New Room" above to create a unique room with a random name and passphrase. Share these with your streaming team.

Configure Desktop App

In the Local Transcription app, go to Settings → Server Sync and enter:

  • Enable Server Sync: ✓
  • Server URL: (from above)
  • Room Name: (from above)
  • Passphrase: (from above)

Add to OBS

In OBS, add a Browser source and paste the Display URL. Set width to 1920 and height to your preference (e.g., 200-400px).

Start Streaming!

All team members start transcription in their apps. Captions from everyone appear merged in OBS with different colors per person.

Frequently Asked Questions

How many users can join one room?

Technically unlimited, but we've tested up to 20 users successfully. Each user gets a unique color.

Is my passphrase secure?

Yes! Passphrases are hashed using PHP's password_hash() function. They're never stored in plain text.

How long does a room stay active?

Rooms are automatically cleaned up after 2 hours of inactivity to save server resources.

Can I use custom room names?

Yes! You can use any room name you want instead of the randomly generated one. Just make sure all team members use the exact same name.