[Icecast] Replicate stream on webserver

MacSym macsym69
Mon Jul 12 04:24:25 PDT 2004

Hi Oddsock,

Thanks for proving to all that it is possible! The hosting TOS problem seems
to be the biggest since there is no way to solve it. I just read TOS of my
host and didn't find any mention about that though...

I think the idea of a buffer file on the web server (a ~200k file that would
be continuously overwritten) is easily applicable, but I am wondering if it
is really efficient since it is not really streaming.

I know you don't have the code anymore but do you remember the core
architecture to create this buffer file?

Thanks in advance,


-----Original Message-----
From: icecast-bounces at xiph.org [mailto:icecast-bounces at xiph.org] On Behalf
Of oddsock
Sent: Wednesday, July 07, 2004 3:46 AM
To: icecast at xiph.org
Subject: RE: [Icecast] Replicate stream on webserver

At 12:47 PM 7/6/2004, you wrote:
>Hi Geoff,
>First, thank you very much for understanding my message; I posted a thread
>on phpbuilder but nobody really understood what my end goal was... It looks
>like they don't really know what streaming is...
>So you think it's just impossible to do? I am still convinced that PHP or
>Perl are powerful enough to handle it but I will have to search a little
>more. I know how to open sockets on my webserver but the problem is that if
>20 persons run the same script, 20 different sockets are opened which
>doesn't change anything to my bandwidth problem. For the moment, I don't
>know how to fix that problem. Any idea?

a long long time ago I started developing something like this, primarily
just to prove to someone specifically that it COULD be done.  And yes, it
can be done.  I did it in PHP and the general approach was to have a
controller that was responsible for pulling the stream from your server (it
was shoutcast in this case) and then creating a local circular buffer in
the form of a file.  Listeners would connect to a special php script which
would read through the circular buffer and send the data to the
listener.  Remembering more about it, I think the controller php script
would accept a custom source client which made it so I didn't need the
Shoutcast server at all.  And, in fact, that was the reason why I wrote the
oddcast DSP source client (because I couldn't make the existing Shoutcast
DSP communicate with my PHP script).

It did in fact work, although had a few caveats :
1. (most importantly) It was against the TOS for all hosting
providers.  While they specifically didn't mention that you couldn't do
this type of thing, it was clearly against their policy.
2. It required a specialized listener client (I wrote a winamp input plugin
to handle the listener part of it)
3. It proved my point that it could be done, although it really was a bad
idea for many reasons, most specifically #1.  As soon as a host finds out
your doing something like this (and they will), all your efforts to set
something up like this will be for nothing.
4. In case your wondering, I no longer have any of the code for this...


Icecast mailing list
Icecast at xiph.org

More information about the Icecast mailing list