Serveur de stream avec icecast

Un article de Wiki SOS-ADMIN.


Cette aide n'est pas encore términée. Merci de patienter ;-)

Cette aide a pour but de vous aider à mettre en place un serveur de stream audio (icecast) et un petit logiciel (ices) qui va lire vos mp3 qui sont sur votre serveur pour créer une sorte de web-radio.

Cette aide se base pour l'installation des dernieres versions sous une Red Hat 7.2.


Sommaire

Pré-requis

Icecast

Pour pouvoir compiler les sources de Icecast, il faut que certaine librairies soient deja installées.

Pour voir si ces librairies sont présentes, tapez la commande suivante :

rpm -q libxml2 libxml2-devel libxslt libxslt-devel libogg libogg-devel libvorbis libvorbis-devel

Vous devrez alors avoir ceci :

libxml2-2.4.23-1
libxml2-devel-2.4.23-1
libxslt-1.0.19-1
libxslt-devel-1.0.19-1
libogg-1.1-1
libogg-devel-1.1-1
libvorbis-1.0-1
libvorbis-devel-1.0-1

Si vous n'avez pas ces librairies, il faut les installer...

Pour cela, on va aller chercher les bons RPM.

libxml2

Tapez à l'invite de commande :

wget ftp://fr.rpmfind.net/linux/redhat/8.0/en/os/i386/RedHat/RPMS/libxml2-2.4.23-1.i386.rpm
rpm -i libxml2-2.4.23-1.i386.rpm
wget ftp://fr.rpmfind.net/linux/redhat/8.0/en/os/i386/RedHat/RPMS/libxml2-devel-2.4.23-1.i386.rpm
rpm -i libxml2-devel-2.4.23-1.i386.rpm

Vous voila avec les librairies xml2.

libxslt

Tapez à l'invite de commande :

wget ftp://fr.rpmfind.net/linux/redhat/8.0/en/os/i386/RedHat/RPMS/libxslt-1.0.19-1.i386.rpm
rpm -i libxslt-1.0.19-1.i386.rpm
wget ftp://fr.rpmfind.net/linux/redhat/8.0/en/os/i386/RedHat/RPMS/libxslt-devel-1.0.19-1.i386.rpm
rpm -i libxslt-devel-1.0.19-1.i386.rpm

Vous voila avec les librairies xslt.

libogg

Tapez à l'invite de commande :

wget ftp://fr.rpmfind.net/linux/redhat/8.0/en/os/i386/RedHat/RPMS/libogg-1.0-1.i386.rpm
rpm -i libogg-1.0-1.i386.rpm
wget ftp://fr.rpmfind.net/linux/redhat/8.0/en/os/i386/RedHat/RPMS/libogg-devel-1.0-1.i386.rpm
rpm -i libogg-devel-1.0-1.i386.rpm

Vous voila avec les librairies libogg.

libvorbis

Tapez à l'invite de commande :

wget ftp://fr.rpmfind.net/linux/redhat/8.0/en/os/i386/RedHat/RPMS/libvorbis-1.0-1.i386.rpm
rpm -i libvorbis-1.0-1.i386.rpm
wget ftp://fr.rpmfind.net/linux/redhat/8.0/en/os/i386/RedHat/RPMS/libvorbis-devel-1.0-1.i386.rpm
rpm -i libvorbis-devel-1.0-1.i386.rpm

Vous voila avec les librairies libvorbis.


Ices

libshout

Tapez à l'invite de commande :

wget http://downloads.us.xiph.org/releases/libshout/libshout-2.1.tar.gz
tar -xvzf libshout-2.1.tar.gz
cd libshout-2.1
./configure
make
make install

Ceci compilera et installera la librairie libshout.

libshout-devel

Tapez à l'invite de commande :

wget ftp://fr.rpmfind.net/linux/dag/redhat/8.0/en/i386/dag/RPMS/libshout-devel-2.0-1.0.rh8.dag.i386.rpm
rpm -i libshout-devel-2.0-1.0.rh8.dag.i386.rpm

Vous voila avec la librairie libshout-devel.

Lame (encodeur MP3)

Cette librairie est optionnelle, c'est si vous voulez créer un stream en mp3.

Tapez à l'invite de commande :

wget http://ovh.dl.sourceforge.net/sourceforge/lame/lame-3.96.1.tar.gz
tar -xvzf lame-3.96.1.tar.gz
cd lame-3.96.1
./configure
make
make install

Ceci compilera et installera la librairie LAME.


Vous pouvez maintenant vous attaquer à l'installation de Icecast


Installation de Icecast

Compilation / Installation

On s'attaque à l'installation de Icecast.

wget http://downloads.xiph.org/releases/icecast/icecast-2.3.0.tar.gz
tar -xvzf icecast-2.3.0.tar.gz
cd icecast-2.3.0
./configure
make
make install

Normalement, si tout se passe bien, vous venez d'installer Icecast !

Fichier de configuration

a ecrire ici: /usr/local/etc/icecast.xml

 <icecast>
   <limits>
       <clients>100</clients>
       <sources>5</sources>
       <threadpool>5</threadpool>
       <queue-size>524288</queue-size>
       <client-timeout>30</client-timeout>
       <header-timeout>15</header-timeout>
       <source-timeout>10</source-timeout>
       <burst-on-connect>1</burst-on-connect>
       <burst-size>65535</burst-size>
   </limits>
 
<authentication> <source-password>password</source-password> <relay-password>password</relay-password> <admin-user>admin</admin-user> <admin-password>password</admin-password> </authentication>
<hostname>monom.com</hostname>
<listen-socket> <port>8000</port> </listen-socket>
<fileserve>1</fileserve> <paths> <basedir>/usr/local/share/icecast</basedir> <logdir>/var/log/icecast</logdir> <webroot>/usr/local/share/icecast/web</webroot> <adminroot>/usr/local/share/icecast/admin</adminroot> <alias source="/" dest="/status.xsl"/> </paths>
<logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <loglevel>2</loglevel> </logging>
<security> <chroot>0</chroot> <changeowner> <user>nobody</user> <group>nobody</group> </changeowner> </security> </icecast>

Pour le lancer :

/usr/local/bin/icecast -b -c /usr/local/etc/icecast.xml

Installation de Ices