I want to broadcast live music from a server to around 100 mobile phone clients in a local area network. The goal is a setup known from silent-discos, but over IP with mobile phones as receivers. The listeners should use headphones, no perfect sync is required. A delay of 1-3 sec would be acceptable.
My first setup used Icecast (TCP based), which lead to a good music quality but high delay (4-50 sec). My second approach uses Janus WebRTC server (with streaming plugin) that achieves sub-second delay, but the audio quality is only medium (optimized for voice, no consistent playback speed).
I found this issue describing an SRT server that supports multiple client connections.
Should I optimize my Janus/WebRTC approach for music, or try to build a solution with SRT, or is there an even better protocol/solution?
I would recommend WebRTC. You can pull the feed in a browser, then you don't need to install a client on all those 100 phones.
How are you publishing the audio for WebRTC (to your Janus server)? If possible I would use a WebRTC Agent where you have greater control.
Janus using the streaming plugin provides a really easy way to publish via GStreamer or ffmpeg. You can get greater control over the audio quality that way.