En una publicación pasada mencioné cómo configurar Music Player Daemon en una Raspberry Pi, pero en algunos casos queremos emitir nuestra música por un motivo u otro. En este tutorial les mostraré cómo emitir la música reproducida en Music Player Daemon a través de Icecast desde Debian.
Una vez que tengamos actualizado el sistema instalaremos lo siguiente
sudo apt install mpd icecast2
Nos aparecerá un dialogo preguntando si queremos configurar icecast, al cual le diremos que si
Primero nos pedirá un nombre de host para el servidor icecast, podemos utilizar cualquiera en caso de no abrir el acceso desde internet
Despues nos pedirá una serie de contraseñas
Una vez instalado editamos el archivo de configuración de icecast
sudo nano /etc/icecast2/icecast.xml
Veremos algo así
Los campos “location” y “admin” se pueden dejar así, pero se recomienda cambiarlos en caso de querer emitir a través de internet. Buscamos la siguiente línea dentro del archivo de configuración
<!-- Normal mounts -->
Agregamos lo siguiente
<mount type="normal">
<mount-name>/r3</mount-name>
<username>frank</username>
<password>hackme</password>
<charset>UTF8</charset>
</mount>
El campo “mount-name” es para establecer la ruta de nuestra emisión, los campos “username” y “password” son para establecer el nombre de usuario y contraseña que se utilizarán para emitir en dicha ruta. El campo “charset” establece el conjunto de caracteres para la información de nuestra emisión (en este caso recomiendo dejarla sin cambios). Una vez configurado Icecast lo reiniciamos
sudo systemctl restart icecast2
Ahora editaremos el archivo de configuración de Music Player Daemon
sudo nano /etc/mpd.conf
buscaremos la siguiente linea
bind_to_address "localhost"
Reemplazaremos el parámetro “localhost” por “any” para poder controlar el servicio desde otros dispositivos sin necesidad de una sesión ssh. Por lo que nos quedaría así
bind_to_address "any"
Buscaremos la siguiente línea y la modificamos si queremos tener muestra música en otro lugar
music_directory "/var/lib/mpd/music"
Si queremos evitar que cualquier persona dentro de nuestra misma red controle nuestra música buscaremos la siguiente linea, la desmarcamos y reemplazamos la palabra password que está antes del @ por la contraseña deseada
#password "password@read,add,control,admin"
También desmarcaremos la siguiente línea
#default_permissions "read,add,control,admin"
Además de eliminar lo que está dentro de las comillas para que nos quede así
default_permissions ""
Buscamos la siguiente sección
audio_output {
type "alsa"
name "My ALSA Device"
# device "hw:0,0" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}
La reemplazamos por los parámetros para la conexión con icecast de la siguiente forma
audio_output {
type "shout"
name "The Red Robot Radio"
description "La mejor música de la humanidad para toda la galaxia"
host "127.0.0.1"
port "8000"
mount "/r3"
user "frank"
password "hackme"
bitrate "128"
format "44100:16:2"
encoding "mp3"
}
Reiniciamos Music Player Daemon
sudo systemctl restart mpd
Para controlar Music Player Daemon desde Android les recomiendo el cliente M.A.L.P., el cual pueden descargar desde Google Play o desde F-Droid
Para comenzar a emitir basta con seleccionar algunas canciones desde Music Player Daemon y entrar a “http://tu-ip:8000”. La página se verá así
Agregamos el punto de montaje a la dirección url actual y nos quedaría algo parecido a esto
http://192.168.1.207:8000/r3
Introducimos la dirección en cualquier software que soporte medios por internet para escuchar nuestra emisión