LinuxPedia

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

Outils pour utilisateurs

Outils du site


multimedia:mpd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

multimedia:mpd [2018/11/17 13:53] (Version actuelle)
Ligne 1: Ligne 1:
 +====== 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):
 +
 +<code>
 +# 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
 +</code>
 +
 +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 :
 +<code>
 +- <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>
 +</code>
 +
 +===== 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 13:53 (modification externe)