Deploy the LiveKit Ingress service (open-source, separate from the LiveKit SFU server) with configuration pointing at your LiveKit server URL, API key, and API secret.
Generate an access token with the necessary permissions and call the CreateIngress API (or use the LiveKit server SDK) to create an RTMP ingress; specify the room name and participant identity the ingress will appear as.
The CreateIngress response returns an RTMP URL and stream key; provide these to OBS under Settings → Stream (Custom service) — the RTMP port is configurable, defaulting to 1935.
When OBS starts streaming, the Ingress service transcodes the RTMP media and publishes it as a WebRTC track into the specified LiveKit room.
Use UpdateIngress to change the room or participant identity without stopping the RTMP stream, enabling stream re-routing.
Monitor ingress health via the GetIngress API or LiveKit server webhook events (ingress_started, ingress_ended, ingress_timed_out).
Known gotchas
The Ingress service requires transcoding; ensure the host running it has sufficient CPU capacity for the expected number of concurrent RTMP inputs.
A media watchdog closes the ingress if no media is received on any track for approximately 1 minute; brief encoder disconnects within that window will be tolerated.
LiveKit Ingress supports RTMP and WHIP ingest; SRT ingest has been requested but verify current support status in the livekit/ingress GitHub repo before relying on it.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp