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.

C'est le cas plus simple, la fonctionnalité existe de base. Il suffit de lire la partie "dans tous les cas"

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
Pour tout installer, vous pouvez directement utiliser :
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/

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.

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

* Documentation MPD * Clients MPD

Contributeurs principaux : dibejo.

Basé sur un bref exemple des forums officiels

  • tutoriel/configurer_le_serveur_de_streaming_audio_http_de_mpd.txt
  • Dernière modification: Le 11/09/2022, 12:24
  • par moths-art