Simple RTMP Restreamer is a self-hosted service that solves a common problem for broadcasters: most streaming platforms only accept one ingest stream, so going live on YouTube, Twitch, and Facebook simultaneously normally requires a paid third-party relay service or running multiple encoders. Simple RTMP Restreamer sits between your broadcasting software and your destinations, accepting a single RTMP stream and forwarding it to as many platforms as you configure — all on infrastructure you control.

Key features

Multi-destination restreaming

Push one incoming RTMP stream to any number of RTMP destinations simultaneously. Add or remove targets without interrupting an active stream.

Web dashboard

Manage streams and push targets through a browser-based UI served on port 6070. No command-line interaction required after initial setup.

REST API

Automate stream and target management programmatically. Every dashboard action is available as an API call, making it easy to integrate with your own tooling.

Persistent configuration

Stream and target configuration is stored in a JSON file on disk. Restarting the container preserves all your settings.

Optional basic auth

Protect the web dashboard and API with HTTP basic authentication using environment variables. Disable it entirely for private networks.

Simple deployment

Distributed as a single Docker image. A one-file docker-compose.yml is all you need to get started.

When to use it

Simple RTMP Restreamer is a good fit when you want to:
  • Go live on multiple platforms (YouTube, Twitch, Facebook Live, etc.) from a single encoder session
  • Avoid paying for a cloud restreaming service by running the relay on your own server or VPS
  • Automate stream management through an API rather than clicking through each platform’s dashboard
  • Keep your streaming setup simple — one Docker container, one configuration file, one ingest URL
It is not designed to transcode, record, or process video. It receives an RTMP stream and forwards it byte-for-byte to each destination. Your encoder is responsible for producing a stream that all your target platforms can accept.

Architecture overview

From your perspective as a user, the service exposes two interfaces:
  • RTMP ingest on port 1935 — point your broadcasting software here using the URL format rtmp://<your-server-ip>/live/<stream-name>. The service accepts the connection and immediately begins forwarding to all configured push targets for that stream.
  • Web UI and API on port 6070 — manage streams and targets through a browser or via HTTP requests. This is where you create streams, add destination URLs, and monitor status.
The push targets receive the stream automatically as soon as your encoder connects. You do not need to start a separate process or trigger anything manually.

What this documentation covers

Quickstart

Deploy the service with Docker Compose and send your first stream in under five minutes.

Deployment

Port requirements, volume mounts, firewall configuration, and reverse proxy setup.

Dashboard guide

Create and manage streams and push targets through the web UI.

Configuration

Environment variables, authentication options, and data persistence details.

API reference

Full reference for the REST API endpoints.

Troubleshooting

Solutions to common connectivity and stream issues.