Setting up live video streaming
Go live with OBS, get an RTMP key, and deliver HLS that plays anywhere.
Live streaming here is three parts: ingest (RTMP), transcode (if needed), and delivery (HLS).
1. Create a stream
In /panel/video, create a channel. You receive:
An RTMP ingest URL (e.g.
rtmp://stream.example.com/live)A stream key (secret — treat it like a password)
A playback URL (an HLS
.m3u8)
2. Configure OBS
OBS Studio is the standard free encoder · source.
Settings → Stream → Service: Custom.
Server: the RTMP ingest URL.
Stream Key: your key.
Set output resolution and bitrate — start at 1080p / 4500 kbps or 720p / 2500 kbps if your upload is limited.
Click Start Streaming. The panel flips to "live".
3. Watch it
Open the HLS playback URL. HLS works in browsers (with a player), in VLC, and on phones — it is the interoperable choice for live delivery.
4. Optional: transcode to multiple qualities
If your audience is mixed (fibre desktop to mobile), serve several renditions (1080p/720p/480p) and let the player pick. This costs CPU/GPU — size the server for it. See Video encoding and bitrates.
5. Record and republish
Keep a local recording in OBS, or record server-side if your plan supports it. For video-on-demand afterwards, see Video on demand.
Ingest vs delivery — two different loads
Ingest (your one RTMP feed) is trivial.
Delivery (viewers pulling HLS segments) is the bandwidth-heavy part, and it scales with viewers.
For large audiences or global ones, a CDN in front of the delivery URL is the normal move.
Latency expectations
HLS is typically 6–30 seconds behind live. That is a property of segment-based delivery, not a bug. If you need sub-second latency for interaction, you need a different protocol (WebRTC), which is a different product choice.
Related reading