Stream ids and encryption on the managed API
The two options an SRT ingest server actually needs, mapped from their RTMP counterparts:
SRTClient.StreamId— the sender'sstreamid(srt://host:port?streamid=...), the SRT counterpart of an RTMP stream key. Use it to route streams and authorize publishes.SRTListenerOptions.Passphrase— pre-shared passphrase encryption (SRTO_PASSPHRASE, 10–79 bytes). Senders presenting a different passphrase are rejected during the handshake; payloads are AES-encrypted on the wire (mbedTLS backend, PBKDF2 key derivation). Accepted connections inherit the listener's passphrase.
var listener = new SRTListener(endpoint, new SRTListenerOptions
{
Passphrase = "correct horse battery staple",
});
listener.Start();
var client = await listener.AcceptSRTClientAsync(ct);
// e.g. "live/abc" from srt://host:9998?streamid=live/abc
Console.WriteLine(client.StreamId);Both paths are covered by tool-free native loopback tests (streamid round-trip; wrong-passphrase rejection + decrypted payload integrity) on every RID lane.
Client-side connect remains unexposed: open an issue if you need it and it will be prioritized immediately.