IRL Streaming Over RTMP to a VPS Relay Server: Complete 2026 Setup
IRL streaming — filming yourself in the real world using a phone, backpack PC, or standalone encoder — has different technical requirements than studio streaming. The key challenge: cellular internet is lossy and unreliable compared to home broadband. A relay server bridges the gap.
The IRL Streaming Stack
For a basic IRL setup:
- Encoder: Phone (Streamlabs Mobile, Larix Broadcaster) or dedicated hardware (Hotspot + laptop, or a dedicated IRL backpack)
- Relay: Your VPS — receives the mobile stream, forwards stably to platform
- Platform: Twitch/YouTube receives clean stream from VPS
Mobile (4G/5G RTMP/SRT) → VPS (nginx-rtmp or srt-server) → Twitch
Why Not Stream Directly to Twitch from Mobile?
Direct cellular → Twitch works in ideal conditions. It fails:
- When walking between cell towers (handover drops the TCP connection)
- In crowded venues (cellular congestion)
- When signal quality fluctuates (RTMP over unstable TCP buffers badly)
A relay with SRT input handles this. SRT's packet recovery absorbs brief connectivity drops that would disconnect a direct RTMP stream.
Basic RTMP Relay Setup (Stable Cellular Only)
If your signal is consistently good (strong 5G, no handover events), RTMP relay is simpler:
# Simple RTMP passthrough relay
rtmp {
server {
listen 1935;
application irl {
live on;
push rtmp://live.twitch.tv/live/YOUR_KEY;
}
}
}
In Streamlabs Mobile, set:
- Stream type: Custom RTMP
- URL:
rtmp://YOUR_VPS_IP/irl - Stream key:
stream(or any key)
SRT Relay Setup (Unstable Cellular/Crowd Events)
# Install SRT tools
sudo apt install libsrt-dev srt-tools
# Run SRT listener → forward to RTMP (using ffmpeg bridge)
srt-live-transmit "srt://:9000?mode=listener&latency=1000" - | \
ffmpeg -re \
-i - \
-c copy \
-f flv rtmp://live.twitch.tv/live/YOUR_KEY
Latency parameter: 1000ms provides 1 second of buffer for packet recovery. Increase to 2000ms for very poor connections.
For professional IRL setups, belabox provides a managed relay service that handles this complexity with a GUI interface.