Skip to content

rtsp

Connects to an RTSP source (e.g. an IP camera), pulls the stream via DESCRIBE/SETUP/PLAY, and republishes it as MoQT — with automatic reconnect on failure. Like rtmp and rtsp-push, this is a self-contained origin and does not join the relay peer mesh.

Usage

qumo rtsp <rtsp-url> [broadcast-path]
ArgumentDefaultDescription
<rtsp-url>(required)Source to pull from — rtsp://[user:pass@]host/path.
[broadcast-path]/live/cameraMoQT broadcast path to republish on.

Example

$ qumo rtsp rtsp://user:pass@192.168.1.50/stream1 /live/camera
INFO ingest session started broadcast_path=/live/camera
INFO RTSP pull ingest starting source=rtsp://192.168.1.50/stream1 broadcast_path=/live/camera serve=:4433

Subscribers then consume /live/camera over MoQT on :4433. If the source is unreachable or drops, it logs the failure and retries with a doubling backoff rather than exiting:

WARN RTSP pull disconnected, reconnecting error="dial: rtsp: dial 192.168.1.50:554: ..." backoff=2s
WARN RTSP pull disconnected, reconnecting error="dial: rtsp: dial 192.168.1.50:554: ..." backoff=4s

Configuration

VariableDefaultDescription
RTSP_SERVE_ADDR:4433MoQT listen address.
CERT_FILE / KEY_FILEcerts/server.crt / certs/server.keyTLS certificate and key.
CORS_ALLOWED_ORIGINS(unset)Comma-separated WebTransport origins (default: same-origin only; * allows any).

See also