The usual self-hosted Restream alternative is a small relay server: OBS sends one stream to a VPS, and the VPS copies it to Twitch, YouTube, Kick or any other RTMP or SRT ingest. nginx with the RTMP module, MediaMTX, datarhei Restreamer and ffmpeg can all do that job, and none of them charges per destination.
This post compares those options with each other and with a hosted service: what each is good at, the bandwidth arithmetic, the ports to open, what it costs, and when paying for Restream is still the sensible choice. For a full walkthrough of one tool, follow the links in each section; this page is the comparison.
What is a self-hosted multistream relay?
A hosted multistreaming service such as Restream takes your stream on its own servers and pushes copies to the platforms you connect. You pay a monthly plan, and the plan decides how many channels you can be live on at once. On Restream's pricing page, read on 2 November 2026 (Creator plans, billed monthly), the free plan streams to 2 channels with Restream branding, Standard is $19 a month for 3 channels, Professional $49 for 5, and Business $239 for 8.
A self-hosted relay does the fan-out part of that job on a server you rent. Your encoder uploads one stream; the relay receives it and opens one outgoing connection per destination, copying the packets without re-encoding them. The number of destinations is limited only by the server's outbound bandwidth, and your stream keys never leave a machine you control.
What you give up are the extras around the fan-out. Restream's page lists cross-platform chat, stream analytics, cloud recordings, a browser studio with guests and a backup feed that takes over on disconnect. A relay gives you none of that by default; you add what you need yourself.
Which multistream relays can you run yourself?
Five options cover nearly every setup. Four run on a VPS; the first needs no server at all.
| Option | Runs on | Configured with | Good at | Watch out for |
|---|---|---|---|---|
| OBS + obs-multi-rtmp plugin | Your PC | An OBS dock | No server at all | Your home upload carries every copy |
| nginx + RTMP module | VPS | nginx.conf | Lightest plain RTMP fan-out | No RTMPS in its feature list |
| MediaMTX | VPS | mediamtx.yml | SRT, RTMP or WebRTC in, native RTMPS forwarding out | No admin web UI |
| datarhei Restreamer | VPS (Docker) | Web UI | Wizard, player page, many outputs | The UI must sit behind TLS |
| ffmpeg with the tee muxer | VPS | One command | Scriptable, nothing else to install | One process: restarts are your job |
OBS with the obs-multi-rtmp plugin
OBS Studio (33.0.1 at the time of writing) streams to one service from its Stream settings. The free, GPL-licensed obs-multi-rtmp plugin adds extra outputs, each with its own server and key. It costs nothing and needs no server, but every destination is a separate upload from your connection: three platforms at 6 Mbps is 18 Mbps leaving your house, and a dip hits all of them at once. It suits two destinations on a fast, stable uplink.
nginx with the RTMP module
The nginx-rtmp-module (BSD-2-Clause) is the long-standing option, and its relay support covers push and pull. On Debian or Ubuntu it installs as the libnginx-mod-rtmp package. One push line per destination:
rtmp {
server {
listen 1935;
application live {
live on;
record off;
allow publish 198.51.100.7; # your encoder's IP
deny publish all;
push rtmp://ingest.global-contribute.live-video.net/app/TWITCH-KEY;
push rtmp://a.rtmp.youtube.com/live2/YOUTUBE-KEY;
}
}
}
OBS then streams to rtmp://your-vps/live. The catch is encryption: the module's feature list has no RTMPS, so a destination that accepts only RTMPS needs a helper such as ffmpeg or stunnel in between. Our nginx multistream recipe and RTMP server guide go through the full install.
MediaMTX
MediaMTX (v1.21.3 is current) takes SRT, RTMP, WebRTC or RTSP in and, per its forwarding docs, pushes natively to RTMP and RTMPS, SRT, RTSP and WHIP destinations, with the stream key after a #:
authInternalUsers:
- user: obs
pass: long-random-secret
permissions:
- action: publish
path: live
paths:
live:
forward:
- dest: rtmps://a.rtmps.youtube.com/live2#YOUTUBE-KEY
- dest: rtmps://ingest.global-contribute.live-video.net/app#TWITCH-KEY
Its strength for a relay is the ingest side: OBS can send SRT, which recovers lost packets on a shaky uplink, while the platforms still receive RTMPS. YouTube rejects streams without an audio track, so keep audio in the source. The MediaMTX setup guide covers ports and authentication in depth.
datarhei Restreamer
Restreamer (Apache-2.0) wraps ingest, a player page and outputs in one container with a web UI. The quick start is a single command:
docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config \
-v /opt/restreamer/data:/core/data \
-p 8080:8080 -p 8181:8181 \
-p 1935:1935 -p 1936:1936 \
-p 6000:6000/udp \
datarhei/restreamer:latest
It is the closest to a hosted dashboard: add a source, then add a publication service per platform. The docs map public ports 80 and 443 to 8080 and 8181. It is the right pick when someone other than you will press the buttons; our Restreamer walkthrough has the full setup.
ffmpeg with the tee muxer
The tee muxer writes the same packets to several outputs, encoded once. With onfail=ignore, one failing destination does not stop the others:
ffmpeg -listen 1 -i rtmp://0.0.0.0:1935/live/in \
-map 0 -c copy -f tee \
"[f=flv:onfail=ignore]rtmps://a.rtmps.youtube.com/live2/YOUTUBE-KEY|[f=flv:onfail=ignore]rtmps://ingest.global-contribute.live-video.net/app/TWITCH-KEY"
It is the most scriptable option and the least forgiving: the process exits when OBS disconnects, so run it under systemd with Restart=always, and there is no authentication beyond your firewall.
How much bandwidth does a multistream relay need?
The relay's arithmetic is simple: your upload carries one copy, and the server sends one copy per destination. Outbound traffic is the number of destinations times the stream bitrate. Add about 20% headroom for encoder peaks and protocol overhead. The table uses a 6 Mbps stream as an example.
| Destinations | OBS direct: home upload | Via relay: home upload | Relay outbound | Outbound + 20% |
|---|---|---|---|---|
| 2 | 12 Mbps | 6 Mbps | 12 Mbps | 14.4 Mbps |
| 3 | 18 Mbps | 6 Mbps | 18 Mbps | 21.6 Mbps |
| 5 | 30 Mbps | 6 Mbps | 30 Mbps | 36 Mbps |
| 8 | 48 Mbps | 6 Mbps | 48 Mbps | 57.6 Mbps |
Two things follow. First, a pure relay needs little: even eight destinations fit inside the 100 Mbps ceiling of our smallest VPS, which works out to about 13 copies of a 6 Mbps stream with headroom. That ceiling is a per-VM burst limit on a node port shared with other machines, not reserved bandwidth, and traffic is unmetered either way. Second, volume adds up but does not cost extra: three destinations at 6 Mbps is 18 Mbps, or 8.1 GB an hour, so 80 hours of streaming a month sends about 648 GB.
The picture changes if the relay also serves viewers, for example an HLS player on your own site. Then every viewer is another copy: 20 viewers of a 6 Mbps stream is 144 Mbps with headroom, beyond the standard shapes' ceilings. That is the job for the media server VPS line, which has no per-VM bandwidth ceiling.
CPU stays low as long as the relay only copies packets. It rises when you transcode, for example a lower-bitrate rendition for one platform or a vertical crop. We have not benchmarked encoding on these shapes, so if you plan to transcode, test on the shape before an event.
Which ports does a multistream relay need open?
Open only what your chosen tool uses, plus SSH. Outgoing connections to the platforms (1935 for RTMP, 443 for RTMPS) need no inbound rule.
| Port | Protocol | Used by | Open to |
|---|---|---|---|
| 22/tcp | SSH | Every setup | Your IP only |
| 1935/tcp | RTMP ingest | nginx-rtmp, MediaMTX, Restreamer, ffmpeg | Your encoder |
| 1936/tcp | RTMPS ingest | MediaMTX, Restreamer | Your encoder, if you ingest over TLS |
| 8890/udp | SRT ingest | MediaMTX | Your encoder |
| 6000/udp | SRT ingest | Restreamer | Your encoder |
| 80, 443/tcp | Web UI, player, HLS over TLS | Restreamer, or a reverse proxy | You, and viewers if you host a player |
| 8888/tcp | HLS | MediaMTX | Viewers, only if you serve a player |
If your home IP changes, you cannot pin the ingest to it; rely on the tool's publish credentials instead and use a long random key. A public ingest port is also a target. Every Noded VPS includes 100 Gbps of always-on Layer 3/4 DDoS protection; if an attack goes above that, the first five such attacks in a month are still mitigated, and from the sixth the attacked IP is null-routed until the attack stops or you upgrade. Our post on protecting SRT and RTMP ingest covers the rest.
How much does a self-hosted relay cost compared with Restream?
Noded prices below are monthly, in euros, excluding VAT, for Bucharest from our live catalogue. Restream's are its published monthly US dollar prices, read on 2 November 2026.
| Setup | Monthly price | Destinations at once | Notes |
|---|---|---|---|
| Restream Free | $0 | 2 | Restream branding |
| Restream Standard | $19 | 3 | No branding |
| Restream Professional | $49 | 5 | |
| Restream Business | $239 | 8 | |
| Noded VPS I (1 vCPU, 2 GB, 20 GB) | €4 | About 13 at 6 Mbps | Relay only, 100 Mbps ceiling |
| Noded VPS II (2 vCPU, 4 GB, 40 GB) | €6 | About 19 at 6 Mbps | Room for Restreamer and recordings |
| Noded Streaming I (1 vCPU, 2 GB, 20 GB) | €9.99 | Not capped per VM | Relay plus viewers on your own player |
| Noded Streaming II (2 vCPU, 4 GB, 40 GB) | €18.99 | Not capped per VM | Relay, viewers and a recording |
In Sofia, VPS I is €5.50 and Streaming I €12.99; in Ashburn they are €5.50 and €14.49. Today you can order in Bucharest, Sofia and Ashburn; Amsterdam, Frankfurt and Vienna are on preorder with about 14 days' delivery, and Warsaw is sold out. Recording on the relay uses disk: a 6 Mbps stream is about 2.7 GB an hour, and extra storage is €4 a month per 50 GB.
If you stream a few evenings a month, the standard VPS can also run by the hour: VPS I is €0.0056 an hour, so 20 hours costs about €0.11, or €0.14 if setup pushes you to 25 started hours, since a started hour bills as a full hour. Hourly machines need €5 of account credit, and a machine you destroy stops costing anything from the next hour on. A recreated machine may get a new IP, so point OBS at a DNS name. The media server line is monthly only.
When is a hosted service like Restream still the better choice?
- You want the extras. Merged chat, analytics, cloud recordings, a browser studio for guests and an automatic backup feed are product features, not a relay. Rebuilding them yourself costs more time than the plan costs money.
- You need formats per platform. Sending horizontal to one platform and vertical to another means a second encode. On a relay that is CPU you have to size and test.
- Two destinations and a fast uplink. The OBS plugin, or Restream's free plan if the branding is acceptable, is simpler than renting anything.
- Nobody wants to run a server. A relay is unmanaged: you patch it, rotate keys and check it before a show. If that sounds like a chore, it is one.
A relay also does not fix the first mile. If your home upload drops packets, every destination suffers. SRT ingest helps there, as our SRT ingest post explains.
Questions people ask
Which self-hosted relay is best for multistreaming?
It depends on who runs it. For a web dashboard, datarhei Restreamer is closest; for a config file and SRT ingest with RTMPS out, MediaMTX; for the lightest plain RTMP fan-out, nginx with the RTMP module. With two destinations and a fast uplink, the OBS plugin needs no server.
Is there a free Restream alternative?
The software is free: nginx-rtmp, MediaMTX, Restreamer, ffmpeg and obs-multi-rtmp are all open source. You pay for the server, or, with the OBS plugin, with your own upload bandwidth.
Can a self-hosted relay give me an HLS link, like Restream's player?
Yes. MediaMTX serves HLS on port 8888, Restreamer has a player page, and nginx-rtmp can package HLS. Every viewer is another copy of the bitrate, so size the server for viewers, not just destinations.
How much bandwidth does multistreaming from a VPS use?
One copy in, and destinations times bitrate out. Five destinations of a 6 Mbps stream is 30 Mbps, or 36 Mbps with headroom, which fits a 100 Mbps VPS.
Running your own relay on Noded
For a copy-only relay, start with VPS I or VPS II from the VPS hosting page; if the same box will serve viewers or record long shows, take a media server VPS instead. Either way you get root, one dedicated IPv4 for the ingest URL and DDoS protection on our own AS60982. The self-hosted multistreaming page has the architecture overview.