MultiServ

Streaming infrastructure · Released

MultiServ turns an Ubuntu 24.04 server into a private restream relay. OBS sends one stream to the server. Nginx and FFmpeg forward it to the selected streaming platforms.

This setup reduces the upload bandwidth needed at the streaming location. The local connection carries one outgoing stream, while the server handles each platform connection.

Guided server setup

The interactive Bash script asks which destinations to use, collects their stream keys, and builds the Nginx RTMP configuration. Built-in choices cover Twitch, YouTube, Kick, Facebook Live, Telegram, Trovo, and Rumble. A custom option accepts another RTMP or RTMPS endpoint.

The setup process:

  1. Confirms root access.
  2. Collects platforms and stream keys.
  3. Sets an ingest access rule.
  4. Offers the web statistics page.
  5. Offers UFW firewall configuration.
  6. Shows a summary before changing the server.
  7. Installs Nginx, the RTMP module, FFmpeg, and supporting packages.
  8. Backs up and writes the Nginx configuration.
  9. Tests the configuration before reloading Nginx.

The script defaults to Twitch and YouTube when no platform is selected.

RTMP and RTMPS destinations

Nginx pushes directly to RTMP services. FFmpeg wraps the incoming stream for services requiring RTMPS.

The resulting flow looks like this:

OBS → MultiServ → Twitch
                → YouTube
                → Kick
                → Other RTMP or RTMPS services

Each destination has its own stream key and endpoint. Adding or removing a platform requires an Nginx configuration change followed by a configuration test and reload.

Ingest security

MultiServ offers three publishing rules:

  • localhost only
  • one approved IP address or domain
  • unrestricted public publishing

The approved-address option fits most remote streaming setups. Unrestricted publishing creates a public relay and should stay disabled.

UFW rules open the selected management, web, RTMP ingest, and statistics ports. The setup confirms the proposed firewall work before applying it.

Stream keys live in the generated server configuration. Access to the server, its backups, and configuration files should remain restricted.

Live statistics dashboard

The optional dashboard reads Nginx RTMP statistics and displays server status, active streams, outputs, input bitrate, connected clients, and uptime. It refreshes automatically and offers CSV export for the stream table.

Small graphs show bitrate and client counts for each active stream. Light and dark themes support different monitoring environments.

Testing and operations

The guide covers Nginx configuration checks, safe reloads, service status, firewall inspection, and live log monitoring. It also explains testing an incoming stream from OBS and checking each destination before going live.

MultiServ keeps the streaming path under the operator’s control. It works on a home server or VPS with enough network capacity for every outgoing destination.

Role
Developer
Technologies
Bash, Ubuntu, Nginx RTMP, FFmpeg, UFW, HTML, JavaScript