Control Datarhei Restreamer directly from OBS Studio
- What is OBS Polyemesis?
- Architecture Overview
- Installation
- Quick Start
- Configuration
- Usage
- Troubleshooting
- FAQ
OBS Polyemesis is a plugin that integrates Datarhei Restreamer control into OBS Studio, allowing you to:
- ✅ Start/stop Restreamer streams directly from OBS
- ✅ Monitor stream status in real-time
- ✅ Control multiple Restreamer instances
- ✅ Manage multistreaming configurations
- ✅ View stream health and statistics
┌─────────────────────────────────────────────────────────────────┐
│ OBS Studio │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ OBS Polyemesis Plugin │ │
│ │ │ │
│ │ ┌──────────────┐ ┌───────────────┐ ┌──────────────┐ │ │
│ │ │ UI Dock │ │ Config │ │ API Client │ │ │
│ │ │ (Qt/C++) │◄─┤ Manager │◄─┤ (REST) │ │ │
│ │ │ │ │ (C) │ │ (C) │ │ │
│ │ └──────┬───────┘ └───────────────┘ └──────┬───────┘ │ │
│ │ │ │ │ │
│ └─────────┼──────────────────────────────────────┼──────────┘ │
│ │ │ │
└────────────┼──────────────────────────────────────┼─────────────┘
│ │
│ User Interactions │ HTTPS/REST
▼ ▼
┌────────┐ ┌──────────────────┐
│ User │ │ Restreamer │
└────────┘ │ HTTP API │
│ (Port 8080) │
└────────┬─────────┘
│
┌────────▼─────────┐
│ Restreamer │
│ Streaming │
│ Engine │
└──────────────────┘
│
┌────────▼─────────┐
│ YouTube/Twitch │
│ Other Platforms │
└──────────────────┘
User Action → UI Dock → Config Manager → API Client → Restreamer API
▲ │
│ │
└────────────── Response ◄───────────────────┘
- OBS Studio 28.0 or newer
- Operating System:
- Ubuntu 22.04+ / Debian 11+
- macOS 12+ (Intel or Apple Silicon)
- Windows 10/11 (64-bit)
- Datarhei Restreamer instance (local or remote)
-
Download the plugin:
- Go to Releases
- Download the appropriate package for your OS:
- Linux:
obs-polyemesis-X.Y.Z-linux-x86_64.tar.gz - macOS:
obs-polyemesis-X.Y.Z-macos.pkg - Windows:
obs-polyemesis-X.Y.Z-windows-x64.zip
- Linux:
-
Install the plugin:
Linux (Ubuntu/Debian):
tar -xzf obs-polyemesis-*-linux-x86_64.tar.gz sudo cp -r obs-polyemesis /usr/lib/obs-plugins/ sudo cp -r data/* /usr/share/obs/obs-plugins/obs-polyemesis/
macOS:
# Double-click the .pkg file and follow the installer # Or via terminal: sudo installer -pkg obs-polyemesis-*.pkg -target /
Windows:
1. Extract the ZIP file 2. Copy the contents to: C:\Program Files\obs-studio\ 3. Merge folders when prompted -
Restart OBS Studio
See BUILDING.md for detailed build instructions.
If you don't have Restreamer running:
# Using Docker
docker run -d \
--name restreamer \
-p 8080:8080 \
-p 8181:8181 \
-p 1935:1935 \
datarhei/restreamer:latestAccess Restreamer at: http://localhost:8080
-
Open OBS Studio
-
Find the Restreamer Control Dock:
- Menu:
Docks→Restreamer Control - The dock will appear in your OBS layout
- Menu:
-
Connect to Restreamer:
┌─────────────────────────────────────────┐ │ Restreamer Connection Setup │ ├─────────────────────────────────────────┤ │ │ │ URL: http://localhost:8080 │ │ │ │ API Key: [your-api-key-here] │ │ │ │ [Test Connection] [Save] │ │ │ └─────────────────────────────────────────┘ -
Get Your API Key:
- Go to Restreamer web interface
- Navigate to:
Settings→API - Copy the API key
- Paste it into OBS Polyemesis
-
Configure Your Stream in Restreamer:
- Add your streaming platforms (YouTube, Twitch, etc.)
- Set up video/audio sources
- Save the configuration
-
Control from OBS:
┌─────────────────────────────────────────┐ │ Restreamer Control Panel │ ├─────────────────────────────────────────┤ │ │ │ Status: ● Connected │ │ │ │ Active Streams: │ │ ┌─────────────────────────────────┐ │ │ │ ▶ YouTube - Main Channel │ │ │ │ ● Live (00:45:23) │ │ │ ├─────────────────────────────────┤ │ │ │ ▶ Twitch - Gaming │ │ │ │ ● Live (00:45:23) │ │ │ └─────────────────────────────────┘ │ │ │ │ [Start All] [Stop All] [Refresh] │ │ │ └─────────────────────────────────────────┘ -
Click "Start All" to begin streaming to all platforms
The plugin stores configuration in:
- Linux:
~/.config/obs-studio/plugin_config/obs-polyemesis/config.json - macOS:
~/Library/Application Support/obs-studio/plugin_config/obs-polyemesis/config.json - Windows:
%APPDATA%\obs-studio\plugin_config\obs-polyemesis\config.json
Example configuration:
{
"restreamer_url": "http://localhost:8080",
"api_key": "your-api-key-here",
"auto_connect": true,
"poll_interval_ms": 2000,
"timeout_ms": 5000
}| Option | Description | Default |
|---|---|---|
restreamer_url |
Restreamer API URL | http://localhost:8080 |
api_key |
Authentication key | Required |
auto_connect |
Connect on OBS startup | true |
poll_interval_ms |
Status update frequency | 2000 (2 seconds) |
timeout_ms |
API request timeout | 5000 (5 seconds) |
You can control multiple Restreamer instances:
┌────────────────────────────────────────────────────┐
│ Instance 1: Production (http://prod:8080) │
│ Status: ● Connected │
│ Streams: YouTube, Twitch, Facebook │
├────────────────────────────────────────────────────┤
│ Instance 2: Backup (http://backup:8080) │
│ Status: ● Connected │
│ Streams: YouTube (backup), Twitch (backup) │
└────────────────────────────────────────────────────┘
Start OBS Studio
│
▼
Plugin Auto-Connects to Restreamer
│
▼
View Stream Status in Dock
│
├──► Start Individual Stream ──► Stream Goes Live
│
├──► Start All Streams ──────► All Streams Go Live
│
├──► Stop Stream ──────────────► Stream Stops
│
└──► Monitor Status ───────────► View Live Stats
- Click the stream in the list
- Click
▶ Startbutton - Monitor status indicator
- Click
Stop Allbutton - Confirm in dialog
- All streams stop simultaneously
The dock shows real-time status:
● Green = Stream is live and healthy
● Yellow = Stream is starting/buffering
● Red = Stream error or stopped
● Gray = Disconnected from Restreamer
Problem: Cannot connect to Restreamer
Solutions:
-
Verify Restreamer is running:
curl http://localhost:8080/api/v3/config
-
Check firewall settings:
# Linux sudo ufw allow 8080/tcp # macOS # System Preferences → Security & Privacy → Firewall
-
Verify API key is correct
-
Check OBS logs:
- Linux:
~/.config/obs-studio/logs/ - macOS:
~/Library/Application Support/obs-studio/logs/ - Windows:
%APPDATA%\obs-studio\logs\
- Linux:
Problem: Stream fails to start from OBS
Solutions:
- Verify stream is configured in Restreamer web interface
- Check Restreamer logs:
docker logs restreamer
- Test stream manually in Restreamer interface
- Verify network connectivity to streaming platforms
Problem: Plugin doesn't appear in OBS
Solutions:
- Verify installation path is correct
- Check OBS version compatibility (28.0+)
- Review OBS logs for errors
- Reinstall the plugin
Problem: OBS becomes slow with plugin enabled
Solutions:
- Increase
poll_interval_msto reduce API calls:{"poll_interval_ms": 5000} - Disable auto-connect if not needed
- Update to latest plugin version
A: No. This plugin controls Restreamer, which is a separate multistreaming service. OBS still handles your video capture and encoding.
A: Yes, they work independently.
A: Yes, both Restreamer and Restreamer Core are supported.
A: Minimal. The plugin only controls Restreamer via API; it doesn't affect video encoding or transmission.
A: Yes! Just update the restreamer_url to point to your Restreamer instance:
{"restreamer_url": "http://192.168.1.100:8080"}A: Yes, use HTTPS URLs:
{"restreamer_url": "https://restreamer.example.com"}A: Download the latest release and reinstall. Your configuration is preserved.
A:
- GitHub Issues - Bug reports
- Discussions - Questions
- Wiki - Advanced guides
The plugin uses these Restreamer API endpoints:
GET /api/v3/config - Get configuration
GET /api/v3/process - List streams
POST /api/v3/process/{id}/start - Start stream
POST /api/v3/process/{id}/stop - Stop stream
GET /api/v3/process/{id}/state - Get stream state
Enable debug logging:
-
Set environment variable before starting OBS:
export OBS_POLYEMESIS_DEBUG=1 obs -
Check logs for detailed API communication
For high-load scenarios:
{
"poll_interval_ms": 10000,
"timeout_ms": 10000,
"max_retries": 3,
"connection_pool_size": 5
}- Install OBS Studio 28.0+
- Install Restreamer (Docker or standalone)
- Install OBS Polyemesis plugin
- Get Restreamer API key
- Configure connection in OBS
- Test connection
- Set up streams in Restreamer
- Control streams from OBS
- Monitor stream status
- Join community for support
- Read CONTRIBUTING.md to contribute
- See BUILDING.md to build from source
- Check CHANGELOG.md for updates
- Visit Restreamer Documentation
Need help? Open an issue on GitHub