[Icecast] What's best practice for serving multiple formats from a remote icecast server?

John Hicks johnlist at gulfbridge.net
Mon Oct 29 22:50:45 PDT 2007


We are running an icecast2 server in conjunction with our LPFM radio 
station and need a little advice.

We have been serving a single 128k ogg stream from a remote server and 
would like to make additional formats available (e.g. mp3, lower 
bandwidth, etc.)

I would think this has been done a few thousand times and there would be 
a "best practice" but I can't find it.

Our basic configuration is this: Darkice streams from our studio to 
icecast which is running on a server farm. Our transmitter (miles away 
from our studio) subscribes to this stream for its audio source. And the 
stream is available to the public for streaming also.

We would like to add an mp3 stream (reluctantly) and a low-bandwidth 
stream (probably mp3 also) for dial-up listeners.

Since our icecast server is on a server farm, I figure the encoding of 
the additional streams should be done there.

So the simplest solution (I figger) would be to run a source client on 
the server that can subscribe to the ogg stream, decode and reencode it 
into the desired additional formats, and then feed them back to 
additional mount points on icecast.

Does that pass the sanity test?

What's the best way to do this?

More specifically, is there a source client that can
a) subscribe to a stream as a source
b) output multiple formats and multiple streams to icecast

Darkice. The only source client I have used is darkice. It looks like it 
does not decode but it can encode multiple streams. Can I use jack to 
subscribe to the base ogg stream and then feed it to darkice?

Ezstream. It looks like ezstream does both decoding and encoding. Can it 
be configued to use a stream (e.g. http://127.0.0.1:8000/stream.ogg) as 
input?

If not, I see that it allows stdin input. Could I simply pipe a stream 
(using something like wget http://127.0.0.1:8000/stream.ogg) into ezstream?

But it looks like ezstream cannot output multiple streams. Is it good 
practice to run multiple instances?

Savonet/Liquidsoap. According to its web site 
(http://savonet.sourceforge.net/wiki/Liquidsoap), it can fill the bill, 
accepting network streams and outputting multiple formats.

MuSE. Likwise, MuSE claims to accept network streams and output multiple 
streams. http://muse.dyne.org/?info=description

Which way should I go?

Thanks!

John


More information about the Icecast mailing list