LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


multimedia:mpd

Ecouter sa propre musique sur internet ou sur son réseau local avec MPD et Icecast2

FIXME présentation formelle de MPD + liens

Introduction

MPD est un lecteur audio reposant sur le principe client-serveur. Un démon MPD tourne sur la machine contenant la musique et un client se connecte à se serveur et y crée une liste de lecture qu'il va écouter. MPD offre donc de multiples possibilités (serveur et client sur une même machine, diffusion sur internet…). Nous nous interesserons ici à coupler MPD avec Icecast2 pour que la musique générée par le serveur MPD soit streamer à travers Icecast2 et donc écoutable par internet.

Le principe est donc le suivant :

1) La machine contenant la musique fait tourner MPD et un serveur Icecast.

2) La machine cliente se connecte à MPD (par un logiciel client), crée une liste de lecture et la lance.

3) Cette liste de lecture est automatiquement streamer par Icecast2.

4) Il ne reste plus qu'à se connecter à son serveur Icecast à l'aide d'un navigateur internet pour pouvoir écouter sa musique.

Cette solution qui sera présenté ici nécessite l'utilisation d'un client MPD pour créer la liste de lecture. Or, ce client utilise un port prédéfini. Il ne sera donc pas possible de créer cette liste de lecture dans des réseaux ou seul le port 80 (http) est ouvert. Pour cela, il existe des possibilités de se connecter à MPD à l'aide de navigateur internet, en hébergeant sur l'ordinateur serveur un site web faisant le lien vers MPD.

Installation

Utilisez votre gestionnaire de paquets habituel. Pour les utilisateurs d'openSUSE, MPD est dans le dépôt PackMan.

Configuration de MPD

su

On crée une copie de sauvegarde de la configuration de MPD :

cp /etc/mpd.conf /etc/mpd.conf.old

Puis on édite :

nano /etc/mpd.conf

Et on remplace l'ensemble du fichier par celui-ci (à adapter bien sur):

# MPD CONFIG FILE
#paramètres généraux
playlist_directory "/var/lib/mpd/playlists"
music_directory    "/chemin_de_la_bibliotheque_de_musique" 
db_file            "/var/lib/mpd/mpddb"
port               "6600"                   ###port sur lequel le client se connectera
log_file           "/var/log/mpd/mpd.log"
error_file         "/var/log/mpd/errors.log"
pid_file           "/var/run/mpd/pid"

#paramètres pour coupler MPD à Icecast

audio_output {
	type		"shout"
	name		"nom_de_la_radio"
	host		"192.168.0.10"   # dans mon cas car je suis derrière un routeur
	port		"8000"
	mount		"/mpd.ogg"
	password	"YYYYYYYY"       #retenez bien ce mot de passe! il sert a icecast2
	bitrate		"128"            #règle la qualité du flux, dépend de votre connexion internet
	format		"44100:16:1"

# Optional Paramters
#	user		"source"
	description	"ma musikamoi"
       genre		"Mon genre a moi"
} # end of audio_output

# paramètres de sécurité

user               "votre_nom_d_utilisateur"                    
password           "XXXXXXX@read,add,control,admin" # <-- ceci permet de protéger par mot de passe
                                                         #l'interface de MPD
# bind_to_address="localhost"    # pour que n'importes quelles machines puissent se connecter à MPD

Les paramètres à retenir sont :

- les deux ports choisis (dans notre cas 6600 et 8000) ;

- le user “votre user” et password XXXXXX (nécessaires pour se connecter au serveur MPD à l'aide du client) ;

- le password YYYYYY qui servira dans le fichier de configuration d'Icecast ;

- l'host 192.168.0.10.

Installation/configuration de Icecast2

Installer Icecast2 qui est disponible dans le dépôt packman puis:

su

On édite le fichier de configuration de Icecast :

nano /etc/icecast2/icecast.xml

On cherche les lignes suivantes et on les modifie à notre convenance :

- <clients>10</clients> <-- ici, le nombre d'auditeurs simultanés autorisés

- <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>XXXXXXX</source-password> <- ici, le password YYYYYYY défini dans mpd.conf

Puis modifiez les paramètres par défaut d'authentification:

        <!-- Relays log in username 'relay' -->
        <relay-password>YYYYYYYYYY</relay-password> <- un password à votre convenance

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>ZZZZZZZZ</admin-password>  <- un password à votre convenance
    </authentication>

Et l'hôte pour finir :

    <hostname>192.168.0.10</hostname>

Démarrer MPd et Icecast2

Aller dans YAST → Système → Editeur de niveau de configuration et activez MPD et Icecast2 au runlevel 3 et 5 ou alors visitez cette page : http://www.kameleon-facile.org/wiki/alionet:howto:script_demarrage.

Puis lancer l'analyse de la bibliothèque de musique :

sudo mpd –create-db

Si les démons ne sont pas lancés :

su

/etc/init.d/mpd start

/etc/init.d/Icecast2 start

Configuration du firewall/routeur/connexion internet

Pour le firewall du serveur : ouvrir les ports 8000 et 6600 en TCP et UDP.

Pour le routeur : redirigez les ports 8000 et 6600 vers 192.168.0.10.

Pour la connexion internet, soit vous disposez d'un compte dyndns et dans ce cas utilisez cette adresse (http://www.kameleon-facile.org/wiki/manuel:dyndns), soit vous avez une ip fixe et vous l'utilisez pour accèder par le navigateur au serveur Icecast et au serveur MPD :

ex pour accèder à Icecast :

http://XDDD.dyndns.org:8000

ou

http://XXX.XXX.XXX.XXX:8000

Choisir son client MPD pour créer sa liste de lecture

La liste des clients se trouve ici :

http://mpd.wikia.com/wiki/Clients

multimedia/mpd.txt · Dernière modification : 2018/11/17 12:53 de 127.0.0.1