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

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