Skip to content
Console

srt_push

Mux explicitly encoded video (H.264, H.265, or AV1) and/or AAC into MPEG-TS and push it over SRT (caller mode).

{
"name": "srt_out",
"type": "srt_push",
"inputs": ["mix_video", "mix_audio"],
"config": {
"url": "srt://ingest.example.com:9000/?streamid=publish:/live/output&latency=200",
"encoding": { "videoCodec": "h264" }
}
}
FieldTypeRequiredDescription
urlstringYessrt://host:port/?… — optional query: streamid, passphrase, latency (ms; default 200, max 8000).
encodingobjectNoOutput codecs and bitrates. See shared encoding. Each codec must be explicitly enabled.

Supports in-band text metadata for ASR captions, audio levels, and layout info. avflow embeds each JSON DataEvent in H.264/H.265 user_data_unregistered SEI or an AV1 ITU-T T.35 Metadata OBU. VP8/VP9 drop in-band text metadata. SRT captions require an encoded video input. For audio-only workloads, configure an explicit video_generator and video_encoder, or use HLS segment for captions without video.

All in-band payloads use fixed UUID 4156464c-4f57-5445-5854-4d4554410001 (AVFLOWTEXTMETA). This is a fixed private avflow text-metadata namespace; event routing is inside the JSON body: { "type": "avflow.asrText" | "avflow.voiceAgentText" | "avflow.audioLevels" | "avflow.videoMixerLayout", "data": { ... } }.

Encoding tier by resolution and codec, plus successful transport egress. Sink pricing.