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
accepted.
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
somehting.
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,
whatever.
I hope to see Email from some of you very soon.
Cheers,
Geoff.