[Icecast] Transcoding

Ken Gillett kengroups at icloud.com
Sun May 9 18:15:14 UTC 2021

This is for streaming radio stations broadcast from satellite and when there are no listeners, tuners must be free for use by other (Icecast) listeners or even TV.

Although both the SAT>IP server (minisatip) and Icecast know when they have at least one listener (and stop streaming when not), a separate intermediate transcoding process does not, but needs to be started and stopped, according to listener demand. Otherwise, it will stream continuously and minisatip will remain locked onto that tuner and both tuners (or however many there) will be permanently in use even when no-one is listening. Everything HAS to stop when there are no listeners.

As I understand it, Icecast will not be broadcasting any stream when there are no listeners, but the transcode process will continue transcoding and pulling the stream from minisatip, which will lock that tuner from any other usage. So somehow the transcoding process has to be stopped when there are no more listeners and likewise needs to be started when the first listener connects and right now I can see no way to do either.

Ken  G i l l e t t


> On 9 May 2021, at 18:45, Christian 'flash2' Fladung <cf at it-flash.de> wrote:
> I guess you mean something like on-demand transcoding?
> I don't get your purpose right ;-)
>> -------- Original Message --------
>> Subject: [Icecast] Transcoding
>> Date: 2021-05-09 17:04
>> From: Ken Gillett <kengroups at icloud.com>
>> To: Icecast streaming server user discussions <icecast at xiph.org>
>> Reply-To: Icecast streaming server user discussions <icecast at xiph.org>
>> Despite success in one area, I am now disappointed to realise that although Icecast can run a script when a source connects and/or disconnects, it doesn’t seem able to do this for listeners.
>> Although the actual source is a SAT>IP server that stops streaming and frees up the tuners when no more listeners (like Icecast does with relays) and Icecast will stop streaming when no more listeners, the required intermediate transcoding process knows nothing of all this. I was under the impression that Icecast could run scripts at the suitable times and I planned to write the script to handle this, starting and stopping an ffmpeg process doing the transcoding. But for this to work, I have to know when the first listener connects and when the last listener disconnects.
>> Anyone with deeper knowledge of Icecast suggest how I could achieve that?

More information about the Icecast mailing list