SRT calculators: latency, overhead, URL
Three things people get wrong when they set up SRT: the latency buffer, the bandwidth headroom retransmissions need, and the URL syntax. These work out all three in the browser — nothing is sent anywhere.
1. Latency & bandwidth overhead
Measure your RTT (ping to the server) and your loss, then read off the buffer SRT needs
and how much bandwidth the retransmissions will really want.
Where these numbers come from
| Worst-case loss | RTT multiplier | Overhead | Min latency (RTT≤20 ms) |
|---|---|---|---|
| ≤ 1% | 3× | 1% | 60 ms |
| ≤ 3% | 4× | 4% | 80 ms |
| ≤ 7% | 6× | 9% | 120 ms |
| ≤ 10% | 8× | 15% | 160 ms |
| ≤ 12% | 8× | 20% | 160 ms |
| ≤ 21% | 10× | 38% | 200 ms |
| ≤ 25% | 13× | 46% | 260 ms |
| ≤ 27% | 14× | 50% | 280 ms |
| ≤ 30% | 14× | 61% | 280 ms |
| ≤ 40% | 30× | 97% | 600 ms |
Haivision's published SRT deployment table. It assumes steady loss; bursty loss (Wi-Fi, LTE) needs more headroom than the row suggests.
About the buffer figure: it is bitrate x latency
with a 2x margin — the minimum a receiver must be able to hold. Most SRT builds already default to
more than that, so leave rcvbuf/sndbuf alone unless your device documents a smaller
default or you are running a very high bitrate at a long latency. Setting them below the default makes things
worse, which is why they are not in the copy-paste parameters above.
2. SRT URL builder
Caller, listener or rendezvous; stream ID, passphrase and key length; the right quoting for each player.
pbkeylen. A mismatch fails as "Connection rejected: 1011 Password required" — which reads like a
missing password even when you typed one.3. Delay budget
Glass-to-glass is encoder + every SRT buffer on the way + decoder. Relay hops each add their own buffer.
Not sure what your decoder really adds? Pull our free test signal and read the burned-in UTC timecode against a reference clock — that measurement includes every buffer in the chain, including the ones nobody documents.
The three mistakes these tools prevent
Latency set to the RTT. A buffer equal to one round trip leaves SRT no time to ask again and receive the answer. The retransmission arrives after playout, so you see a freeze even though the packet came back.
Bandwidth planned at the video bitrate. On a lossy link, retransmissions are real traffic. If the link only fits the nominal bitrate, recovery competes with the stream itself and loss becomes self-sustaining.
Passphrase without matching key length. The error message points at the password, so people
retype it for an hour. Check pbkeylen on both ends first.