[Icecast] running icecast and a webserver on same port
lbn at prg.dtu.dk
Tue Jun 21 17:26:30 PDT 2005
On Wed, 22 Jun 2005, Saul Quiñones wrote:
> Hi all!! Does anyone know if you can have your
> web server running on port 80 and also icecast on the
> same port in a easy way??. Thanks in advance!!
You can't run both on the same port, but you can pass the stream through a
a CGI script - from Icecast (running on the normal port 8000 for example)
and on to listeners connecting to the web server on port 80. It's not
without some problems, though:
1. Some web servers (like Apache 1.3) _always_ add headers to the output
of CGI scripts, so you don't get a "clean" copy of Icecast's output.
Certain players don't mind the extra headers (foobar2000 on Windows, and
ogg123), but others (Winamp and Windows Media Player) get confused and
will refuse to play the stream. With other web servers (thttpd is one I've
tried) that don't add any headers to the output of CGI scripts, it seems
to work quite well, however.
2. Since traffic on port 80 is sometimes proxied/cached (based on the
assumption that it's normal web traffic) at the other end, there's a
chance you'll have proxies taking up connections on your server even after
the actual listener has disconnected.
3. Performance probably isn't so great, but this shouldn't be a concern
unless you have many listeners.
If this hasn't discouraged you from trying, the "webamp" Perl script
mentioned in the following article makes a suitable pass-thru CGI script
with minor modifications:
More information about the Icecast