Documentation technique : Debian
Documentation basée sur la distribution Debian

> > > LiquidSoap : générateur de flux pour Icecast

LiquidSoap : générateur de flux pour Icecast

Liquidsoap est un formidable outil pour fournir du contenu audio aux serveurs de streaming habituels tels que icecast ou shoutcast.

C’est un language de script se plaçant entre votre contenu audio ou vidéo (fichiers sonores ou video, playlistes générées par d’autres outils, enregistrements live) et votre serveur de streaming habituel.

Ce tutoriel explique comment compiler la toute dernière version à partir des sources pour une utilisation sur un serveur, ce qui signifie sans carte son, mais liquidsoap peut également être installé sur une machine personnelle afin de fournir un flux issu d’une carte son ou d’une webcam.

Gestion des dépendances préalables

On a d’abord besoin du nécessaire pour récupérer les sources, configurer et compiler les logiciels :

  1. sudo apt-get install mercurial autoconf pkg-config libfftw3-dev

On installe ensuite le language dans lequel liquidsoap est écrit (Ocaml) :

  1. sudo apt-get install ocaml libcamomile-ocaml-dev ocaml-findlib libxmlm-ocaml-dev libpcre-ocaml-dev libmagic-ocaml-dev camlidl

On installe ensuite l’ensemble des librairies audio/vidéo nécessaires au bon fonctionnement de liquidsoap :

  • libasound2-dev (librairie de développement pour ALSA) ;
  • libao-dev (librairie de développement pour ALSA) ;
  • libtagc0-dev (permettant de gérer les métadatas des fichiers audios ID3, vorbis comments...) ;
  • libmad0-dev (permettant de décoder les mp3) ;
  • libmp3lame-dev (permettant de gérer le format mp3 en encodage) ;
  • libogg-dev (permettant de gérer le conteneur ogg) ;
  • libvorbis-dev (permettant de gérer le format ogg/vorbis) ;
  • libspeex-dev (permettant de gérer le format ogg/speex) ;
  • libflac-dev (permettant de gérer le format ogg/flac) ;
  • libfaac-dev (permettant de gérer le format aac - encodeur) ;
  • libfaad-dev (permettant de gérer le format aac - décodeur) ;
  • libtheora-dev (permettant de gérer le format ogg/theora) ;
  • libschroedinger-dev (permettant de gérer le format dirac) ;
  • libsoundtouch1-dev (permettant de modifier les fichiers sonores indépendamment : pitch et durée par exemple) ;
  • libsamplerate0-dev (permettant de convertir le sample rate de fichiers sonores) ;
  • libgavl-dev (Librairie bas niveau audio/video permettant de créer des APIs. Permet notamment d’avoir à disposition les informations concernant le colorspace, sample rate, configuration multi canal et autre des fichiers audio et vidéo) ;
  • ladspa-sdk (API pour plugins audio permettant d’avoir des effets) ;
  • dssi-dev (API pour plugins audio et principalement pour les fichiers midi) ;
  • festival (si on souhaite pouvoir utiliser les fonctionnalités de text-to-speech) ;
  • liblo-dev (si on souhaite activer OSC) ;
  • libsdl-ocaml-dev (si on souhaite activer SDL) ;
  • libgstreamer-plugins-base0.10-dev ;

Chacun de ces paquets installés ajoutera ses dépendances personnelles.

NB :

  • Il est nécessaire sur Debian d’ajouter le dépot Debian-multimedia dans votre fichier /etc/apt/sources.list comme ici.
  • Certaines de ces librairies (libtheora-dev et libschroedinger-dev notamment) sont relativement obsolètes sur Debian Lenny, il est donc nécessaire de les installer d’une autre manière. Elles ne sont donc pas dans la première commande d’installation des dépendances.

La commande à utiliser pour installer ces paquets est donc la suivante :

  1. sudo apt-get install libasound2-dev libao-dev libtagc0-dev libmad0-dev libmp3lame-dev libogg-dev libvorbis-dev libvorbis-dev libspeex-dev libflac-dev libfaac-dev libfaad-dev libsoundtouch1-dev ladspa-sdk libsamplerate0-dev libgavl-dev dssi-dev festival liblo-dev libsdl-ocaml-dev sox  libgstreamer-plugins-base0.10-dev

Si l’on souhaite activer le support de libtheora et de libschroedinger, soit on les compile manuellement comme ici, soit on a installé les dépots backports comme expliqué ici et on lance une autre commande spécifique.

La commande à exécuter dans le cas de l’utilisation des dépots backports est la suivante :

  1. sudo apt-get -t lenny-backports install libtheora-dev libschroedinger-dev

La dernière version de liquidsoap nécessite au minimum la version 2.0.1 de libaacplus si l’on souhaite utiliser ce format. Cette version n’est disponible dans aucun dépôt pour Debian Lenny, il est donc nécessaire de la compiler manuellement.

Pour ce faire, il suffit de lancer cette suite de commandes :

  1. # Récupération des sources de la dernière version
  2. cd ~
  3. wget http://tipok.ath.cx/downloads/media/aac+/libaacplus/libaacplus-2.0.2.tar.gz
  4. # Décompactage et déplacement dans le bon répertoire
  5. tar xvzf libaacplus-2.0.2.tar.gz
  6. cd libaacplus-2.0.2
  7. # Compilation et installation
  8. ./autogen.sh
  9. ./configure
  10. make
  11. sudo make install

Télécharger

Cas d’une machine desktop :

Si vous utilisez une machine de type desktop ou un portable muni d’une carte son et que vous souhaitez utiliser portaudio, il est nécessaire d’installer portaudio19-dev

  1. apt-get install portaudio19-dev

Si vous souhaitez ajouter également le support de pulseaudio, il est nécessaire d’installer libpulse-dev :

  1. apt-get install libpulse-dev

Récupération, configuration, compilation et installation de Liquidsoap

On récupère ensuite les sources de liquidsoap dans notre répertoire home :

  1. cd ~
  2. hg clone http://savonet.hg.sourceforge.net:8000/hgroot/savonet/savonet  savonet

Télécharger

On édite ensuite le fichier listant les dépendances ocaml et options à activer :

  1. cd savonet
  2. cp PACKAGES.default PACKAGES
  3. nano PACKAGES

Télécharger

Pour une installation uniquement serveur, nous allons enlever ce qui ne sert à rien :

  • ocaml-portaudio
  • ocaml-pulseaudio
  • ocaml-bjack
  • ocaml-jack

Si on n’a pas installé manuellement les librairies citées plus haut comme posant problèmes :

  • ocaml-aacplus
  • ocaml-theora
  • ocaml-schroedinger

Pour les désactiver, il suffit de commenter les lignes en ajoutant un dièse # en début de ligne.

Puis on lance la compilation :

  1. ./bootstrap
  2. ./configure --disable-v4l
  3. make
  4. sudo make install

Télécharger

En suivant ce tutorial, vous devriez avoir à disposition liquidsoap disposant de l’ensemble des formats d’entrée, des formats de sorties, des possibilité d’analyse de métadonnées et des possibilités de manipulation sonores possibles. Vous aurez également seulement les protocoles d’entrée / sortie nécessaire sur un serveur....

Liens utiles

  • Auteur :
  • Publié le :
  • Mis à jour : 03/10/11

2 commentaires


Qui êtes-vous ?
[Se connecter]
Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.