rtsp_pull
Ingest a live stream from an RTSP endpoint (IP cameras, NVRs, media servers).
rtsp_pull uses the same config shape as rtmp_pull, httpflv_pull, hls_pull, and srt_pull.
RTSP-specific options are passed via the url query string or embedded credentials, for example:
rtsp_transport=tcp— force TCP (recommended when UDP is blocked)user:pass@host— basic auth in the URL
Example
Section titled “Example”curl -X POST "https://api.avflow.dev/v1/jobs" \ -H "Authorization: Bearer ${AVFLOW_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "name": "rtsp-relay", "sources": [{ "name": "cam", "type": "rtsp_pull", "config": { "url": "rtsp://camera.example.com/stream1?rtsp_transport=tcp", "identity": "cam1" } }], "nodes": [], "sinks": [{ "name": "rtmp_out", "type": "rtmp_push", "inputs": ["cam"], "config": { "urls": ["rtmp://live.example.com/app/key"], "encoding": { "videoCodec": "h264", "audioCodec": "aac" } } }] }'Config
Section titled “Config”| Field | Type | Default | Description |
|---|---|---|---|
url | string | — | rtsp://host[:port]/path with optional query params such as rtsp_transport=tcp |
identity | string | source name | Speaker label |
displayName | string | identity / source name | Human-readable label for overlays and captions |
headers | map | — | Forwarded to libavformat when applicable (limited effect for RTSP). |
startTimeoutMs | int | 30000 | Timeout waiting for first frame (<0 = off) |
stallTimeoutMs | int | 0 | Abort if no new frames for N ms (0 = off) |
Pricing
Section titled “Pricing”Video tier by actual resolution. Source pricing.