initial import
[iceplex.git] / README
1 iceplex
2
3 Copyright (c) 2003 Ivan Kohler
4 All rights reserved.
5 This program is free software; you can redistribute it and/or modify it under
6 the same terms as Perl itself.
7
8 ivan-iceplex@420.am
9
10 iceplex is a system for multiplexing on-demand broadcasts to multiple
11 backend icecast servers.
12
13 To use:
14
15 Database configuration:
16
17   - Create the "iceplex_servers" table in your database
18     (see create-mysql.sql or create-Pg.sql)
19   - Populate the "iceplex_servers" table with your icecast server names.
20
21 On the central multiplexing server:
22
23   - Copy the example iceplex.conf to /etc/iceplex.conf and modify the settings
24     as appropriate:
25     - Database location/user/pass
26     - Path to mp3 file storage on the icecast servers.
27     - Icecast Port number
28   - Run iceplexd and configure your init scripts to start it upon boot.
29   - Create an "iceplex" user.
30   - Run "ssh-keygen -t dsa" as the "iceplex" user to genarate SSH keys.
31     Use a blank passphrase.  (Press return when prompted for a passphrase)
32   - Install Net::SSH from CPAN or <http://search.cpan.org/author/IVAN/Net-SSH/>
33   - Install DBI from CPAN or <http://search.cpan.org/author/TIMB/DBI/>
34   - Install the DBD for your database
35     - MySQL: DBD::mysql from CPAN or
36       <http://search.cpan.org/author/JWIED/DBD-mysql/>
37     - PostgreSQL: DBD::Pg from CPAN or
38       <http://search.cpan.org/author/DWHEELER/DBD-Pg/>
39   - Install plex.pls in /cgi-bin/ on the central multiplexing server or main
40     webserver.  This file can be installed as or linked to as "plex.m3u" if
41     desired.
42
43 On each icecast server:
44
45   - Create an "iceplex" user.
46   - Copy "/home/iceplex/.ssh/id_dsa.pub" from the central multiplexing server
47     to "/home/iceplex/.ssh/authorized_keys".
48   - Verify that the 
49   - Install libshout C library 1.0.9 and Shout perl interface:
50     <http://developer.icecast.org/libshout/>
51   - Install yashout from this archive in /usr/local/bin
52
53 On end-user webpages:
54
55   - Link to:
56       <http://multi.plexing.server/cgi-bin/plex.pls?customer=XXXXXX;user=YYYY>
57
58 Optional, improves stream start latency:
59
60   - Install fsh <http://www.lysator.liu.se/fsh/> on the central multiplexing
61     server and each icecast server.
62   - Uncomment 
63       $Net::SSH:ssh = 'fsh';
64     in /etc/iceplex.conf
65