← Back to RIGORSTREAM

Network operations

RIGORSTREAM Network

The control plane — auth, workspaces, destinations, broadcasts, OBS pairing, media library and metering — runs entirely on this app. Live video requires media infrastructure you own. Every provider below maps to an interface in src/lib/media/providers.ts; until it is configured the matching UI stays explicitly disabled rather than pretending to work.

MediaRoomProvider

LiveKit Server (self-hosted)

Interactive WebRTC production rooms only — never used for large public delivery.

  • LIVEKIT_URL
  • LIVEKIT_API_KEY
  • LIVEKIT_API_SECRET
  • REDIS_URL

MediaIngressProvider

LiveKit Ingress + RTMP/SRT/WHIP gateways

Issues primary and backup ingest credentials per broadcast and per region.

  • LIVEKIT_INGRESS_URL
  • INGEST_RTMP_HOST
  • INGEST_SRT_HOST
  • INGEST_WHIP_HOST
  • INGEST_SIGNING_KEY

MediaEgressProvider

LiveKit Egress + egress scheduler

Server-side fan-out. The customer uploads one stream regardless of destination count.

  • LIVEKIT_EGRESS_URL
  • EGRESS_MAX_TARGETS_PER_WORKER
  • MEDIA_CONTROL_API_URL
  • MEDIA_CONTROL_API_TOKEN

RecordingProvider

LiveKit Egress writing to S3-compatible storage

Program, clean program, audio-only and isolated tracks where available.

  • S3_ENDPOINT
  • S3_REGION
  • S3_BUCKET_RECORDINGS
  • S3_ACCESS_KEY_ID
  • S3_SECRET_ACCESS_KEY

TranscodeProvider

FFmpeg/GStreamer worker pool (Kubernetes)

Never runs inside serverless functions. Long jobs run on the worker pool.

  • TRANSCODE_QUEUE_URL
  • TRANSCODE_WORKER_TOKEN
  • S3_BUCKET_MEDIA

PlaybackProvider

HLS/LL-HLS packager + replaceable CDN

Public audiences are served by CDN, never by the WebRTC room.

  • HLS_ORIGIN_URL
  • CDN_BASE_URL
  • PLAYBACK_SIGNING_KEY

Honest capability notes

  • · Destination adapters only expose what each platform's public API documents. Chat, viewer counts and stream creation differ per platform and are declared per adapter.
  • · OBS Bridge is a separate desktop companion (Tauri + Rust) that dials out over WSS. This web app never connects directly to obs-websocket, and OBS itself is never redistributed.
  • · Browser docks are hosted pages designed for OBS custom browser docks; they authenticate with scoped tokens, not your account session.
  • · Multi-region routing requires deployed media nodes per region; region records without a healthy node are shown as unavailable.