๐Ÿ“˜ Epiphan Knowledge
All pages ยท pearl family ยท Streaming

Pearl REST API publisher settings for SRT

SRT publishers use the same settings path as every other protocol, but the fields required depend on the SRT connection mode. Set type to srt and populate the srt block.

Applies to: Pearl-2, Pearl Mini, Pearl Nexus, Pearl Nano.

Fields common to all SRT modes.

Field Notes
mode caller, listener, or rendezvous. Default caller
latency 80 to 8000 ms. Default 125
bw_recovery_overhead 5 to 100 percent. Default 25
disable_audio Default false
encryption An object, or null for no encryption

Encryption. When present, the encryption object requires both passphrase (10 to 79 characters) and keylength (128, 192, or 256). Send "encryption": null to turn encryption off.

Mode-specific fields.

Mode Required Optional
caller url stream_id (up to 512 characters), source_port
listener port โ€”
rendezvous url โ€”

port is 1024 to 65535. source_port is either 0 (default, meaning the system picks one) or a value from 1024 to 65535.

A caller-mode publisher with encryption:

{
  "type": "srt",
  "srt": {
    "mode": "caller",
    "url": "srt://127.0.0.1:19861",
    "stream_id": "",
    "latency": 125,
    "bw_recovery_overhead": 25,
    "disable_audio": false,
    "encryption": { "keylength": 128, "passphrase": "AnyPassphrase" }
  },
  "common": { "enabled": false, "single_touch": false }
}

A listener-mode publisher waits for an incoming connection and reports state listening until one arrives, so a listening status is normal rather than a fault.

Reading SRT settings back returns different field names. srt.encryption.keylength is returned as key-length, bw_recovery_overhead as bw-recovery-overhead, stream_id as stream-id, and source_port as source-port. See "Pearl REST API publisher settings field names differ between reads and writes".

Was this helpful?
Source: pearl-rest-api.md ยท id pearl-family/pearl-rest-api-publisher-settings-for-srt ยท Updated Oct 7, 2026 ยท view as markdown