Configurer le serveur de streaming audio HTTP de MPD
MPD (Music Player Daemon) inclut depuis Karmic un serveur de streaming qui permet d'écouter sa musique sur un autre ordinateur ou un smartphone, en déplacement ou sous sa douche. Ce tutoriel décrit la démarche à suivre pour le faire fonctionner.
Pré-requis
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
- Avoir lu les prérequis de comment installer un paquet (pour une configuration en mp3).
Configuration pour un streaming en ogg Vorbis
C'est le cas plus simple, la fonctionnalité existe de base. Il suffit de lire la partie "dans tous les cas"
Configuration pour un streaming en mp3
Parfois le lecteur qu'on souhaite utiliser ne lit pas le ogg, il faut donc passer par du mp3 (par exemple si vous souhaitez écouter la musique sur iPhone). Ce format n'est pas un format libre, et donc mpd a été packagé dans Ubuntu sans cette fonctionnalité. Voici la marche à suivre pour la rajouter.
Créez un répertoire de travail et placez-vous y :
mkdir mpd && cd mpd
Téléchargez les sources du paquet mpd de Ubuntu :
apt-get source mpd
Un nouveau répertoire est créé, allez dedans :
cd mpd*
modifiez le fichier debian/rules.
Repérez la ligne
DEB_CONFIGURE_USER_FLAGS += $(WITH_TREMOR) --enable-sqlite --enable-un --enable-ao --disable-lame
et changez-la en :
DEB_CONFIGURE_USER_FLAGS += $(WITH_TREMOR) --enable-sqlite --enable-un --enable-ao --enable-lame-encoder
Avant de reconstruire le paquet, il faut installer toutes les dépendances dont mpd a besoin. Pour en connaitre la liste, tapez :
apt-cache showsrc mpd | grep Build-Depends
sudo apt-get build-dep mpd
À cause d'une dépendances du paquet "xmlto" dont l'installation est recommandée, le paquet "dblatex" ainsi que toutes ses dépendances (texlive entre autres) s'installent inutilement. Installez donc le paquet "xmlto" séparément avec une de ces commandes :
sudo aptitude install --without-recommends xmlto sudo apt-get install --no-install-recommends xmlto
N'oubliez pas d'installer également les paquets nécessaires à la compilation : allez lire les prérequis de comment installer un paquet si vous ne l'avez pas fait au début du tuto.
Installez ensuite la librairie qui permet d'encoder en mp3 :
sudo apt-get install libmp3lame-dev
Enfin nous allons pouvoir reconstruire le paquet. Vérifiez que vous êtes bien à la racine des sources de mpd (normalement vous y êtes) et tapez :
dpkg-buildpackage
Il ne vous reste plus qu'à installer le paquet créé :
cd .. && dpkg -i mpd_0*.deb
Vous pouvez supprimer le répertoire de travail :
cd .. && rm -R mpd/
Dans tous les cas
Modifiez le fichier de configuration de mpd, section "Audio Output". Vous devriez trouver les lignes suivantes :
# An example of a httpd output (built-in HTTP streaming server): # #audio_output { # type "httpd" # name "My HTTP MPD Stream" # encoder "vorbis" # optional, vorbis or lame # port "8000" # quality "5.0" # do not define if bitrate is d$ # bitrate "128" # do not define if quality is d$ # format "44100:16:1" #}
Décommentez-les en prenant soin de choisir entre quality et bitrate. Voici un exemple qui fonctionne très bien pour un streaming en ogg vorbis :
# An example of a httpd output (built-in HTTP streaming server): # audio_output { type "httpd" name "Streaming ogg vorbis" encoder "vorbis" # optional, vorbis or lame port "8000" # quality "5.0" # do not define if bitrate is d$ bitrate "128" # do not define if quality is d$ format "44100:16:2" }
Un autre exemple pour le mp3 :
# An example of a httpd output (built-in HTTP streaming server): # audio_output { type "httpd" name "Streaming ogg vorbis" encoder "lame" # optional, vorbis or lame port "8000" # quality "5.0" # do not define if bitrate is d$ bitrate "128" # do not define if quality is d$ format "44100:16:2" }
Vous pouvez avoir besoin de diminuer le bitrate si votre connexion est lente, par exemple si vous streamez via les réseaux téléphoniques vers un smartphone. De la même manière augmentez-le (pas plus de 320) si la vitesse de votre connexion le permet (Par exemple si vous restez sur un réseau local).
Redémarez mpd. Vous pouvez ensuite écouter la musique en ouvrant dans un lecteur l'adresse suivante : http://192.168.1.1:8000/mpd.ogg (si 192.168.1.1 est l'adresse IP de l'ordinateur où joue mpd). L'extension est bien .ogg dans les deux cas.
Problèmes connus
Si vous avez suivi la configuration en mp3, Ubuntu va tenter de mettre à jour mpd, considérant que la version des dépôts est prioritaire sur votre paquet personnalisé. Pour éviter ceci, il faut éditer le fichier /etc/apt/preferences et y placer les lignes :
Package: mpd Pin: version numéro_de_version 0 Pin-priority: 1001
en remplaçant "numéro_de_version" par celui qui est installé. Pour le connaître :
apt-cache policy mpd | grep Installé
Depuis maverick cette technique ne fonctionnait pas chez moi. On m'a proposé sur le forum une autre solution :
echo mpd hold | sudo dpkg --set-selections
Voir aussi
* Documentation MPD * Clients MPD
Contributeurs principaux : dibejo.
Basé sur un bref exemple des forums officiels