Installer une solution de streaming libre (Icecast 2-0 & Ices)

Article rédigé par max
Les différents tests ont été faits sur Red Hat8 et Fedora.

Téléchargement

Seule la version 2 de Icecast streame en ogg vorbis et mp3. On choisira donc cette version, parce qu’on aime savoir qu’on va pas faire ecouter aux gens des trucs pas libres.

Icecast
Vous pourrez le télècharger sur http://www.icecast.org/download.php en version RPM ou en archives. Je crois que des paquets Debian existent aussi…

Ices
Vous pourrez télècharger Ices ici http://www.icecast.org/ices.php. On choisira le version 0.3. C’est une archive, mais des paquets RPM existent .

Installation

Commençons par installer Ices :

Ices
Avant toute chose, ices nécessite les librairies suivantes et leurs sources :
libogg
libvorbis
libxml2
lame

Biensur si il vous manque lame, ce n’est pas grave mais vous ne pourrez pas streamer du mp3. Ensuite :
$ tar -xvzf ices-0.3.tar.gz
$ ./configure
$ make
# make install

Je vous renvoie au ./configure —help pour plus de details. Mais a priori, pour une utilisation simple, ça marche bien comme ça.

Icecast
Avec le rpm, en root :
# rpm -ivh icecast-2.0.rpm

et hop le travail est fait !

Lancement

On commence par lancer icecast en root
# icecast -b (background)

et ensuite ices
# ices

Normalement vous verrez rien car il faut configurer un minimum ices et icecast…

Configuration

Icecast et Ices possédent des fichies de conf en xml, présent dans repertoire_d’installation/conf/ices.conf ou icecast.xml

Je ne détaillerai pas tous les points de la configuration, mais le principal :

Icecast
Plusieurs paramètres sont importants :

le mot de passe que notre source Ices devra avoir pour se connecter a notre serveur icecast :
<source-password>hackme</source-password>
Le nom et pass de l’admin
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>

le port de diffusion : <port>8000</port>

Icecast possède une interface web et une interface Admin :
<{logdir>./</logdir> #ou voulez vous mettre les fichiers de log}
<webroot>/usr/local/share/icecast/web</webroot> # emplacement des fichiers pour le web
<adminroot>/usr/local/share/icecast/admin</adminroot> # emplacement des fichiers pour l'interface d'administration.

Normalement, les fichiers ont naturellement cette place.

Ices
ici on précise le serveur Icecast sur lequel on va se connecter…la Ices et Icecast sont sur la meme machine, localhost

Plusieurs types de playlist sont possibles….nous on prends une playlist écrite en dur (voir plus loin pour un exemple de playlist) qui se trouve dans le repertoire courant et nommé playlist.txt
<Playlist>
< !-- This is the filename used as a playlist when using the builtin playlist handler. -->
<File>playlist.txt</File>
< !-- Set this to 0 if you don't want to randomize your playlist, and to 1 if you do. -->
<Randomize>1</Randomize>
< !-- One of builtin, perl, or python. -->
<Type>builtin</Type>
< !-- Module name to pass to the playlist handler if using  perl or python. If you use the builtin playlist handler then this is ignored -->
<Module>ices</Module>

<Stream>
<Server><br>
< !-- Hostname or ip of the icecast server you want to connect to -->
<Hostname>localhost</Hostname>
< !-- Port of the same -->
<Port>8000</Port>
< !-- Encoder password on the icecast server -->
<Password>hackme</Password>
< !-- Header protocol to use when communicating with the server. Shoutcast servers need "icy", icecast 1.x needs "xaudiocast", and icecast 2.x needs "http". -->
<Protocol>http</Protocol>
</Server>

Sur quel point va t-on monter ices sur icecast (ici on pourra écouter le stream a http://localhost:8000/ices/)
<Mountpoint>/ices</Mountpoint>

Apres vous pouvez jouer sur des parametres de rencodage. Au lancement de Ices, beaucoup de parametres du fichier de configuration, peuvent être mis à jour (./ices -help)

Dans la playlist il suffit de mettre le chemin de fichiers audio sur votre disque dur, séparées par des passages à la ligne.

Utilisation

Voilà pour écouter :
http://localhost:8000/ices/

Pour administrer (gestion des auditeurs, monitoring de icecast…) :
http://votre.machine:8000/admin

Extensions :

Plusieurs choses sont possibles avec ices, mais je ne les ai pas testées : ecire des scripts perl ou python pour les playlists, utiliser l’entrée de votre carte audio…

Pour icecast :

Liens :

le site officiel :
Infos + docs www.icecast.org

De la doc :
De melmoth, un français, qui explique aussi l’install de icecast sur une debian woody : http://melmoth.dyndns.org/stream/

Si vous avez apprécié cet article, s'il vous plait, prenez le temps de laisser un commentaire ou de souscrire au flux afin de recevoir les futurs articles directement dans votre lecteur de flux.

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)