iceplex
Copyright (c) 2003 Ivan Kohler
All rights reserved.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
ivan-iceplex@420.am
iceplex is a system for multiplexing on-demand broadcasts to multiple
backend icecast servers.
To use:
Database configuration:
- Create the "iceplex_servers" table in your database
(see create-mysql.sql or create-Pg.sql)
- Populate the "iceplex_servers" table with your icecast server names.
On the central multiplexing server:
- Copy the example iceplex.conf to /etc/iceplex.conf and modify the settings
as appropriate:
- Database location/user/pass
- Path to mp3 file storage on the icecast servers.
- Icecast Port number
- Run iceplexd and configure your init scripts to start it upon boot.
- Create an "iceplex" user.
- Run "ssh-keygen -t dsa" as the "iceplex" user to genarate SSH keys.
Use a blank passphrase. (Press return when prompted for a passphrase)
- Install Net::SSH from CPAN or
- Install DBI from CPAN or
- Install the DBD for your database
- MySQL: DBD::mysql from CPAN or
- PostgreSQL: DBD::Pg from CPAN or
- Install plex.pls in /cgi-bin/ on the central multiplexing server or main
webserver. This file can be installed as or linked to as "plex.m3u" if
desired.
On each icecast server:
- Create an "iceplex" user.
- Copy "/home/iceplex/.ssh/id_dsa.pub" from the central multiplexing server
to "/home/iceplex/.ssh/authorized_keys".
- Verify that the
- Install libshout C library 1.0.9 and Shout perl interface:
- Install yashout from this archive in /usr/local/bin
On end-user webpages:
- Link to:
Optional, improves stream start latency:
- Install fsh on the central multiplexing
server and each icecast server.
- Uncomment
$Net::SSH:ssh = 'fsh';
in /etc/iceplex.conf