SRT ingest¶
Sapsan ingests an SRT stream by listening on a dedicated UDP port (listener mode). Each stream gets its own port.
Configuration¶
streams:
event:
inputs:
- srt:
host: 0.0.0.0
port: 9000
passphrase: verysecretpass
| Parameter | Description |
|---|---|
host, port |
address and UDP port to wait for the SRT connection on |
passphrase |
encryption key (AES); a mismatching key gets the connection rejected |
stream_id |
expected client streamid; the Flussonic-style #!::r=<name> form is passed through verbatim |
handshake_timeout_ms, peer_timeout_ms |
handshake and inactivity timeouts |
You can send a stream to Sapsan like this:
ffmpeg -re -i input.mp4 -c copy -f mpegts \
"srt://server:9000?passphrase=verysecretpass"
Delivery reliability¶
The full SRT ARQ machinery is implemented: acknowledgements (ACK/ACKACK), retransmission requests for lost packets (NAK), a latency buffer with in-order delivery, too-late packet drop, and keepalives for idle connections. The NAK period follows the measured RTT.
Applying changes¶
Changing the address, port, passphrase, or stream_id restarts the source; changing only the timeouts applies in place.
Counters¶
Per connection: received packets and bytes, RTT and its variance, lost and retransmitted packets in both directions, buffer sizes, keepalive timeouts. See the Admin API.