[Icecast-dev] Javascript source client

Daniel James daniel.james at sourcefabric.org
Mon Jun 17 05:13:30 PDT 2013


Hi Alexandru,
> It's pretty bloated as well

That depends on your definition of bloated :-) The Airtime package is
around 8MB, which contains the web interface (PHP), the playout engine
and media-monitor (both Python).

> - Zend PHP framework (bundledinto the app) + plenty of JavaScript thrown in
> - RabittMQ for queue-ing messages to liquidsoap
> - liquidsoap pushing to icecast

Zend is an external dependency, as are RabbitMQ and Liquidsoap.

> - icecast

Not actually part of Airtime, usually on a separate server.

> - Python glue-code that had UTF-8 problems with certain non-ASCII
> filenames (mostly because of Python 2.6-7 which is not yet UTF-8 compliant)

The media-monitor has been rewritten since then, also the recommended
distros have Python 2.7.

> - monit  to keep the whole thing from cracking

It cannot do that, it only tells you when something is cracking :-)

> - PostgreSQL, which is less friendly

Less familiar perhaps, but users don't have to see it.

> all of this to add a simple (and (back then) not very useful) frontend
> to make a playlist

There are many more features now, including smart blocks (auto-generated
playlists).

> when you try to upgrade, a lot of the problems
> you've hacked into Airtime to get it working, get reset, so you have to
> start re-hacking it

That is why the code is open - you can always send a pull request or a
patch.

> - if you had a podcast of 1h and 10-30 seconds, you could only set it to
> the 1h + 1minute, or cut it 1h sharp; kind of...

This is by design. In broadcast you have tight deadlines, there is no
such thing as 'give me another 30 seconds, and let's run the news late'.

> - a simple frontend in whatever(for liquidsoap) + liquidsoap + icecast

There is Shampoo: https://java.net/projects/shampoo/pages/Home

> In the end, I found that using just liquidsoap + icecast (and shoutcast
> because I wanted to listing in the Shoutcast Directory) was more than
> sufficient for my needs.

Right, but Airtime is really aimed at end users who are not in a
position to hack on Liquidsoap, or do not want to. It does things like
keep track of media changes and check it for average level or silence.
It is also starting to make use of the web audio API to do things like
crossfade editing in the browser.

Cheers!

Daniel


More information about the Icecast-dev mailing list