Skip to content
Console

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
Terminal window
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" }
}
}]
}'
FieldTypeDefaultDescription
urlstringrtsp://host[:port]/path with optional query params such as rtsp_transport=tcp
identitystringsource nameSpeaker label
displayNamestringidentity / source nameHuman-readable label for overlays and captions
headersmapForwarded to libavformat when applicable (limited effect for RTSP).
startTimeoutMsint30000Timeout waiting for first frame (<0 = off)
stallTimeoutMsint0Abort if no new frames for N ms (0 = off)

Video tier by actual resolution. Source pricing.