OBS can't connect / stream won't start
OBS can't connect / stream won't start
The most likely causes are a blocked port or a mismatched stream name.
- Confirm that port 1935 is open on your server’s firewall. On most Linux servers you can check with:
- Open the Simple RTMP Restreamer dashboard and verify that the stream name you created there exactly matches the stream key you entered in OBS.
- Use the following RTMP URL format in OBS — replace
your-serverwith your server’s IP or hostname andstream-namewith the name you created in the dashboard: - In OBS, go to Settings → Stream and confirm the service is set to Custom with the URL above and no trailing slash.
Dashboard shows OFFLINE even while streaming
Dashboard shows OFFLINE even while streaming
The dashboard marks a stream as OFFLINE when no frames have been received in the last 3 seconds. A brief connectivity blip is enough to trigger this.
- Confirm OBS is sending to the exact RTMP URL shown in your dashboard — a typo in the stream name sends data to a different (or non-existent) stream.
- Check that port 1935 is reachable from the machine running OBS. Firewalls between your encoder and the server are a common cause of silently dropped connections.
- Watch the bitrate field in the dashboard while OBS is streaming. If it stays at 0, the server is not receiving data from your encoder.
Can't access the web dashboard
Can't access the web dashboard
The dashboard runs on port 6070. If you can’t load it in your browser, check the following:
- Verify that port 6070 is open on your server’s firewall.
- If HTTP Basic Auth is enabled (set via
BASIC_AUTH_USERandBASIC_AUTH_PASS), your browser will prompt for credentials. Enter the username and password you configured. - Test basic connectivity from your local machine:
A successful response confirms the service is running and the port is reachable.
401 Unauthorized when accessing the API
401 Unauthorized when accessing the API
Push target not receiving the stream
Push target not receiving the stream
Push targets forward your incoming RTMP stream to an external destination such as YouTube or Twitch. If a target isn’t receiving video, work through these checks:
- Open the dashboard and confirm the target’s RTMP URL is correct, including the stream key appended at the end (for example,
rtmp://live.twitch.tv/live/your-stream-key). - Verify that your server can reach the target platform’s ingest server. Run a quick connectivity test from your server:
- The push target connects when a new frame batch arrives after you go live — wait a few seconds after starting your stream before concluding the target isn’t working.
Streams disappeared after restart
Streams disappeared after restart
Streams are stored in the data file
simple-rtmp-restreamer.data.json. If this file isn’t persisted across container restarts, your stream configuration will be lost.- Open your
docker-compose.ymland confirm there is a volume mount for the data file, for example: - If the file doesn’t exist on the host yet, create it before starting the container:
- Restart the container and verify the file is being written to on the host after you create a stream.
Stream stops after 30 seconds
Stream stops after 30 seconds
This is expected behavior. The restreamer automatically kills any stream that has received no frames for 30 consecutive seconds. This frees resources when an encoder disconnects without closing the RTMP connection cleanly.
- If your stream is stopping unintentionally, check that your encoder is continuously sending frames. A paused or frozen source in OBS can cause the frame rate to drop to zero.
- If you intentionally stopped streaming, the 30-second cleanup is normal — the stream entry is removed after the timeout elapses.