savonet / liquidsoap

Liquidsoap is a statically typed scripting general-purpose language with dedicated operators and backend for all thing media, streaming, file generation, automation, HTTP backend and more.
http://liquidsoap.info
GNU General Public License v2.0
1.45k stars 131 forks source link

Support Access Control for SRT #1961

Open JanKoppe opened 3 years ago

JanKoppe commented 3 years ago

Is your feature request related to a problem? Please describe. I would like to be able to define Stream IDs for access control on SRT inputs and outputs.

Describe the solution you'd like On both input.srt and output.srt allow defining a streamid parameter for push & pull mode, as well as a callback (e.g. on_connect_authenticate? Not sure about the naming because on_connect is taken, but maybe has a different purpose) for listener mode.

Describe alternatives you've considered Distributing SRT inputs and outputs across many ports, and guard them using firewalls or VPNs might be possible, but this will heavily reduce interoperability with other SRT systems and in the case of most VPNs negate the benefits of SRT.

Additional context https://github.com/Haivision/srt/blob/master/docs/features/access-control.md

My immediate goal would be to interface with https://github.com/voc/srtrelay/ which requires the streamid to differentiate between many streams on the same socket and apply access control.

toots commented 3 years ago

Hi! Thanks for your report! This is a great idea. I'll try to get to it for the next major release cycle. We would also like to support SRT encryption as well.