Getting Started with Restreamer
Restreamer (by datarhei) is a free, open-source live streaming solution that lets you ingest a video source and push it to multiple platforms simultaneously — YouTube Live, Twitch, Facebook Live, and any custom RTMP destination — all from a self-hosted web interface. Available as a managed service in Eyevinn Open Source Cloud.
Prerequisites
- An Eyevinn OSC account (free trial or paid plan)
Step 1: Create a Restreamer instance
Navigate to the Restreamer service in the OSC web console. Click Create restreamer and enter a name for your instance (letters, numbers, and underscores only).
Once the status indicator turns green and shows running, click the instance card to open the Restreamer web interface.
Step 2: Initial setup and login
On first launch Restreamer will prompt you to create an admin account. Choose a username and a strong password — these become your permanent login credentials.
After logging in you will see the Restreamer dashboard where you can configure your video sources and streaming destinations.
Step 3: Configure a video source
In the Restreamer UI, click + Add Source and choose how your video arrives:
- RTMP — push a stream from OBS, ffmpeg, or any RTMP encoder to the instance's RTMP ingest URL (shown in the UI)
- URL — pull from an existing HLS, RTMP, or file URL
- Webcam / capture device — if running locally with hardware access
Step 4: Add streaming destinations
After configuring a source, click + Add Destination and select the platform or enter a custom RTMP URL. For each platform you will need the platform's Stream Key (available in each platform's broadcast settings).
Common destinations:
| Platform | RTMP URL |
|---|---|
| YouTube Live | rtmp://a.rtmp.youtube.com/live2 |
| Twitch | rtmp://live.twitch.tv/live |
| Facebook Live | rtmps://live-api-s.facebook.com:443/rtmp |
| Custom | Any rtmp:// endpoint |
Restreamer will push your source stream to all configured destinations simultaneously.
Usage example
Ingest with ffmpeg and push to your Restreamer instance over RTMP:
INSTANCE_HOST=mystream.datarhei-restreamer.auto.prod.osaas.io
ffmpeg -re -i input.mp4 \
-c:v libx264 -preset veryfast -b:v 3000k \
-c:a aac -b:a 128k \
-f flv rtmp://${INSTANCE_HOST}:1935/live/mystream
Replace live with your configured RTMP application name and mystream with your chosen stream name. Both are set in the Restreamer system settings.
Supported ingest protocols
RTMP
Port 1935 (TCP). The RTMP server is disabled by default and must be enabled in Restreamer's System Settings. Once enabled, push to:
rtmp://<instance-host>:1935/<app>/<stream-name>
where <app> is the RTMP application name you configure (for example live) and <stream-name> is an arbitrary label for the stream. An optional token parameter can be appended: ?token=<your-token>.
RTMPS (encrypted) is also available on port 1936 (TCP).
SRT
Port 6000 (UDP). SRT support is configured in Restreamer's System Settings. The SRT server accepts streams in listener mode. An optional passphrase can be set to encrypt the stream.
OSC automatically exposes UDP port 6000 for SRT ingest. The push URL format is:
srt://<instance-host>:6000
For the optional token parameter, append ?streamid=<value> according to the Restreamer SRT settings. See the datarhei SRT documentation for the full streamid syntax.
SRT-to-RTMP bridge
Use ffmpeg to receive an SRT stream from an external source (for example an SRT Stream Generator instance) and push it into Restreamer via RTMP:
SRT_SOURCE_HOST=my-generator.bjowestman-srt-stream-generator.auto.prod.osaas.io
RESTREAMER_HOST=mystream.datarhei-restreamer.auto.prod.osaas.io
ffmpeg \
-i "srt://${SRT_SOURCE_HOST}:9000?mode=caller" \
-c:v copy -c:a copy \
-f flv "rtmp://${RESTREAMER_HOST}:1935/live/mystream"
This passes through audio and video without re-encoding. Adjust the SRT port and mode to match your source's configuration.
Port reference
| Port | Protocol | Purpose |
|---|---|---|
| 8080 | TCP | Restreamer web UI (HTTP) |
| 8181 | TCP | Restreamer web UI (HTTPS) |
| 1935 | TCP | RTMP ingest (must be enabled in settings) |
| 1936 | TCP | RTMPS ingest (must be enabled in settings) |
| 6000 | UDP | SRT ingest |
CLI usage
osc create datarhei-restreamer mystream -o name="mystream"
Resources
- Restreamer documentation
- datarhei/restreamer on GitHub
- Restreamer service in OSC
- SRT Stream Generator — generate test SRT streams to push into Restreamer