Table des matières
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
Source: http://www.t3node.com/blog/live-streaming-mp3-audio-with-darkice-and-icecast2-on-raspberry-pi/
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.