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).
Example
Section titled “Example”{ "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" } }}Config
Section titled “Config”| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | srt://host:port/?… — optional query: streamid, passphrase, latency (ms; default 200, max 8000). |
encoding | object | No | Output codecs and bitrates. See shared encoding. Each codec must be explicitly enabled. |
Text metadata
Section titled “Text metadata”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": { ... } }.
Pricing
Section titled “Pricing”Encoding tier by resolution and codec, plus successful transport egress. Sink pricing.