[Icecast] Open source streaming project in need of developers

Geoff Shang Geoff at QuiteLikely.com
Wed Dec 19 15:43:20 PST 2007

Hi everyone,

I thought long and hard (ok, not *that* long) about whether or not to 
crosspost this to icecast-dev.  In the end I decided not to since this 
isn't about an Icecast or Xiph project.

My name is Geoff Shang and I've been an enthusiastic user of Icecast for a 
long time.  I am also the chief tech guy for a project called ACB Radio 
(http://www.acbradio.org), which is run by the American Council of the 
Blind (http://www.acb.org).

several years ago, one of our volunteers came to us with a partially 
developed automation system for online streaming.  We needed one at the 
time, and so he and another of our existing volunteers got it to the stage 
where it would do most of what we wanted, at least to a reasonable extent.

As time went on, however, the code suffered some bit rot.  The original 
developer lost interest in maintaining it , and both he and the other 
volunteer moved onto other projects.  The code, which never had a 
formal release, also found its way into a few other setups with the result 
that it fragmented somewhat.

Last year ACB purchased a new server so that we could more evenly 
distribute the tasks that our original server was having to do.  One of the 
things we wanted to move was the radio stations.  But this new server was 
running newer software and a lot of things had broken.  The volunteer who 
had helped out a bit with this code was talked into coming back and pulling 
all of the various forks back together so that it would compile and mostly 
run.  I beat on the web interface so that it would work under PHP5 (and 
fixed several existing bugs in the process).

so now it compiles and runs, to an extent.  But there are several glaring 
bugs which prevent us from deploying it on our new server, and from roling 
out a "here's what we've got so far, have a play with it" release to the 
community.  Neither of the C programmers who originally worked on it are 
taking active interest in it anymore, though one may answer questions we 
are unable to figure out on our own.

so basically I'm looking for developers.

So what is it?

PRS or Personal Radio Station is a playout system written in C, with data 
stored in a mysql database.  Another C program is used to add audio files 
into categories in the database, and a set of PHP scripts are used to 
program the scheduler.

The playout system can play Wav, Ogg Vorbis and MP3 files, performing 
crossfading and, if desired, simple and/or dynamic compression.  It can 
take additional input from a soundcard or a live stream and can also output 
to combinations of both (the latter via libshout).  It can use Curl to send 
metadata updates to streaming servers.

The scheduler can handle basic random events, as well as no-repeat rules 
based on specific recording or on artist.  You can also program the system 
to play a specific file, and it can relay audio from another streaming 
server while also archiving it locally for later broadcast.  Individual 
playout events can be grouped together into a schedule template, which can 
be scheduled as a one-off or repeated hourly, daily or weekly.


There is currently next to no documentation for the software.  One of my 
first tasks as the new project admin will be to write up basic "getting 
started" documents for anyone interested in trying it out.

The goals for the project, as I see them are:

1.  Fix critical bugs.  This is very urgent and all offers of help will be 

2.  Code cleanup.  I understand that the code could be a lot more robust 
and tollerant of errors than it currently is.

3.  Addressing of long-standing, less critical bugs.

4.  Internalising of some processes which are currently performed by 
launching external command-line programs.

5.  Adding lots of cool features and taking over the world ... or 

The project is hosted on sourceforge at 
http://sourceforge.net/projects/prsradio (prs was already taken).  I've 
just set up a development mailing list 
(http://lists.sourceforge.net/mailman/listinfo/prsradio-devel) and I'll 
configure it after I've finished writing this message.  You can also get 
the code from https://prsradio.svn.sourceforge.net/svnroot/prsradio/trunk 
or view it at http://prsradio.svn.sourceforge.net/viewvc/prsradio/trunk/

The license will be something approximate to a MIT license, but I need to 
clarify this with the previous developers.

Of course, you can drop me a note if you have any questions, comments, 

I hope to see Email from some of you very soon.


More information about the Icecast mailing list