ReLoad

Thierry Jaouen ~ WikiBlog
"Rien à foutre d'être lu, tant que je peux me relire."

Outils pour utilisateurs

Outils du site


Action disabled: source
blog:2013:09:29:darkice_et_le_support_de_mp3_sous_debian

DarkIce et le support de MP3 sous Debian

DarkIce permet d'envoyer un flux audio au format OGG vers un serveur audio comme icecast2… Mais par défaut, le package DarkIce qui vient avec Debian ne supporte pas l'encodage MP3 !

Donc: On va devoir re-compiler DarkIce a partir des sources et en faire un jolie package a installer.

~~READMORE~~

Support MP3

Dépendances

# aptitude update
# aptitude install dpkg-dev

Pour les codec, et notamment “lame” :

# aptitude install libmp3lame-dev libsamplerate-dev libogg-dev libvorbis-dev libasound2-dev

Source de DarkIce

# cd /usr/local/src
# apt-get update
# apt-get source darkice

On trouve alors son répertoire courant peuplé de ça:

darkice_1.0.orig.tar.gz
darkice_1.0-1.dsc
darkice_1.0-1.debian.tar.gz

Et notamment un répertoire:

darkice-1.0

Re-compilation

Petit backup des 2 fichiers qu'on va modifier:

# cp -p darkice-1.0/debian/{,backup-}rules
# cp -p darkice-1.0/debian/{,backup-}changelog

Changer le contenu de “darkice-1.0/debian/rules” en la ligne:

dh_auto_configure -- --prefix=/usr --sysconfdir=/usr/share/doc/darkice/examples --without-lame --without-faac

en:

dh_auto_configure -- --prefix=/usr --sysconfdir=/usr/share/doc/darkice/examples --without-faac --with-lame-prefix=/usr/lib/x86_64-linux-gnu/ --with-vorbis-prefix=/usr/lib/x86_64-linux-gnu/ --with-jack-prefix=/usr/lib/x86_64-linux-gnu/ --with-samplerate-prefix=/usr/lib/x86_64-linux-gnu/  --with-alsa-prefix=/usr/lib/x86_64-linux-gnu/
:!: Attention aux tabulations qu'il faut maintenir en début de ligne !

En clair:

  • Virer –without-lame
  • pour chaque codec, préciser le chemin de la lib via: “–with-<codec>-prefix=/us/lib/<LIB>

où “<codec>” est a adapter selon le codec et “<LIB>” selon où sont installées les Libs!

Sinon, lors de la (prochaine) compilation, on pourrait avoir des avertissements comme ça:

...
for lame library at /usr ... configure: WARNING: not found, building without lame
...

Maintenant, insérer en début de fichier “darkice-1.0/debian/rules” , la version et les modifications apportés (respecter le format, comme le reste). Exemple:

darkice (1.0-1~mp3+1) UNRELEASED; urgency=low

  * New build with mp3 support

 -- Thierry Jaouen <debian-devel[AT]tjaouen.fr>  Sun, 10 Sep 2012 05:56:15 +0200

Installons les dépendances permettant de compiler “darkice”

# apt-get build-dep darkice

On suppose qu'on est toujours dans “/usr/local/src” , alors on peut compiler:

# apt-get source --build darkice
...
dpkg-deb : construction du paquet « darkice » dans « ../darkice_1.0-1~mp3+1_amd64.deb ».
...

Installer package

# dpkg -i darkice_1.0-1~mp3+1_amd64.deb

On peut vérifier immédiatement que les “lib” voulu sont utilisé par “DarkIce” :

# ldd `which darkice`
      ...
      libmp3lame.so.0 => /usr/lib/x86_64-linux-gnu/libmp3lame.so.0 (0x00007f5947661000)
      libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f594745b000)
      libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f594722d000)
      libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f5946d5e000)
      ...

:-)

On voit bien la version “special” comme cela:

# aptitude versions darkice
Paquet darkice :                        
i   1.0-1~mp3+1                                                             100 
p   1.0-1                                         stable                    500

Faire en sorte qu'aucune mise a jour ne viendra écraser notre beau package.

# aptitude hold darkice

Voila.

Sources

blog/2013/09/29/darkice_et_le_support_de_mp3_sous_debian.txt · Dernière modification : 2013/09/29 18:01 de thierry