domingo, 27 de octubre de 2013

Cómo configurar MPD (Music Player Daemon) en Fedora 19 y controlarlo desde Android

Music Player Daemon (MPD) es una flexible y poderosa aplicación-servidor libre (licencia GPL) para reproducir música. Haciendo uso de plugins y librerías, puede reproducir gran variedad de formatos de audio, incluyendo el privativo mp3. Ya que es sólo un "servidor de música", es indispensable una aplicación cliente para interactuar con MPD.

Entre las principales características de MPD, tenemos: Reproducción de archivos ogg, wavpack, mp2, mp3, mp4, aac, mod, musepack, wave, y otros formatos soportados por FFmpeg, control remoto vía red, soporte IPv6, reproducción de audio streams en varios de los formatos anteriores, lee los metadatos de la música (ID3), creación y manipulación de listas de reproducción, soporte Zeroconf, soporte para ALSA, Pulseaudio, JACK, Windows y Mac OS X, puede combinarse con Icecast para streaming, aunque tiene su propio servidor de streaming interno, etc.

Así que, manos a la obra...

Instalar y configurar MPD en Fedora 19
MPD se encuentra en los repositorios RPM Fusion Free, por lo que es necesario agregar este repositorio primero para poder instalar MPD.
[fraterneo@rainbow2 ~]$ sudo yum update -y
[fraterneo@rainbow2 ~]$ sudo yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
[fraterneo@rainbow2 ~]$ sudo yum check-update
[fraterneo@rainbow2 ~]$ sudo yum install -y mpd
Creamos nuestro propio fichero de configuración ubicado en /etc.
[fraterneo@rainbow2 ~]$ sudo mv /etc/mpd.conf /etc/mpd.conf.orig
[fraterneo@rainbow2 ~]$ sudo nano /etc/mpd.conf
music_directory "/media/disk/Music/mpd/"
playlist_directory "/media/disk/Music/mpd/"
db_file "/media/disk/Music/mpd/mpd.db"
log_file "/var/log/mpd/mpd.log"
state_file "/var/lib/mpd/mpdstate"
user "mpd"
bind_to_address "192.168.24.100"
port "6600"
input {
  plugin  "curl"
}

audio_output {
  type  "pulse"
  name  "My Pulse Output"
} 
El directorio /media/disk/Music/mpd/ es donde tengo todas las carpetas con música. Es muy importante también que todos los archivos tengan su ID3, ya que MPD hace clasificaciones en base a estos metadatos.

Ahora procedemos a configurar el servicio MPD para inicie durante el arranque del sistema.
[fraterneo@rainbow ~]$ sudo systemctl enable mpd.service 
ln -s '/usr/lib/systemd/system/mpd.service' '/etc/systemd/system/multi-user.target.wants/mpd.service'
[fraterneo@rainbow ~]$ sudo systemctl start mpd.service
Instalar y configurar MPDroid en Android
MPDroid es un cliente Android para MPD muy completo y también libre. Se encuentra disponible en el repositorio F-Droid, así com también en Google Play.

Luego de instalado procedemos a configurarlo para acceder a nuestro servidor MPD. Es imprescindible que nuestro Smartphone esté conectado a la misma red que nuestro servidor MPD.

Vamos a Connection settings

Y ahora a Default connection settings

En Host va la IP del servidor MPD 

Finalmente conectamos al servidor MPD

Ahora en tus reuniones te verás de lo más "Geek" ante tus amigos controlando la música de forma remota.

http://www.musicpd.org/

3 comentarios:

  1. Como hago si quiero que la música suene en el smartphone y no en el servidor?

    ResponderEliminar
    Respuestas
    1. Gustavo, eso se trata de otro servicio llamado DAAP. Investiga cómo configurar el mismo en tu distribución e instala un cliente en tu smartphone para escuchar la música almacenada en tu PC directamente en tu móvil.

      Saludos.

      Eliminar
    2. Hola Gustavo. Investigando un poco en el wiki de MPD, he encontrado que es posible hacer streaming mediante el mismo. Solo debes editar el audio_output correspondiente a HTTP o agregar la siguiente configuración al final del fichero /etc/mpd.conf

      audio_output {
      type "httpd"
      name "My HTTP Stream"
      encoder "vorbis"
      port "8000"
      quality "5.0"
      format "44100:16:1"
      max_clients "0"
      }

      Luego en MPDroid elegir el output correspondiente. También desde cualquier otro cliente de streaming o un navegador puedes acceder.

      Saludos.

      Eliminar