Skip to main content

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.

  1. Settings → Stream → Service: Custom.

  2. Server: the RTMP ingest URL.

  3. Stream Key: your key.

  4. Set output resolution and bitrate — start at 1080p / 4500 kbps or 720p / 2500 kbps if your upload is limited.

  5. 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