AirPlay en Linux
Configurar Shairport Sync en Ubuntu/Debian y derivados
Con Shairport Sync podrás convertir tu Raspberry Pi u otro sistema Linux en un receptor de audio AirPlay.
Tanto si quieres actualizar tu equipo de música (mi caso) conectándole una Raspberry Pi, como configurarlo en tu pc, con Shairport Sync
podrás enviar audio desde cualquier cliente compatible(si, existen para Linux) a tu nuevo receptor. En caso de que tu distribución no sea Ubuntu/Debian
o derivados,
consulta aquí tus requisitos de configuración. También está disponible para macOS y OpenWrt.
Cabe destacar que la diferencia de calidad entre Bluetooth y AirPlay a la hora de transmitir audio de forma inalámbrica es abismal, así que no te lo pienses y elije el segundo.
Actualizar el sistema
Primero actualizamos el sistema e instalamos los paquetes necesarios.
$ sudo apt-get update & sudo apt-get upgrade
$ sudo apt-get install autoconf automake avahi-daemon build-essential git libasound2-dev libavahi-client-dev libconfig-dev libdaemon-dev libpopt-dev libssl-dev libtool xmltoman
Clonar el repositorio
Podemos encontrar shairport-sync
en los repositorios de Ubuntu, Raspbian y demás, pero no será la versión actualizada. Clonamos el repositorio en nuestro $HOME
:
$ git clone https://github.com/mikebrady/shairport-sync.git
Configurar y compilar
Entramos en el directorio y ejecutamos:
$ cd shairport-sync
$ autoreconf -i -f
$ ./configure --with-alsa --with-avahi --with-ssl=openssl --with-systemd --with-metadata
Una vez configurado, compilamos e instalamos con:
$ make
$ sudo make install
Inicio automático
Para habilitar el inicio automático con systemd
ejecutamos:
$ sudo systemctl enable shairport-sync
$ sudo service shairport-sync start
Configuración adicional
Por defecto se mostrará con el nombre del host, podemos cambiarlo con:
$ sudo nano /usr/local/etc/shairport-sync.conf
-
Veremos algo como los siguiente:
// General Settings general = { // name = "%H"; // This means "Hostname" -- see below. This is the name th$
Donde eliminando //
delante de name
y sustituyendo "%H"
por "NuevoNombre"
podremos indicar un nombre diferente al del host.
shairport-sync.conf
es el archivo de configuración, donde podemos por ejemplo indicar la tarjeta de sonido a utilizar modificando el parámetro "output_device = "default";
. Dejando todo como viene, funcionará con la tarjeta indicada en el sistema como default
. Yo lo he probado tanto en Raspbian Stretch como en Ubuntu 18.04.
Firewall
Si tienes habilitado el firewal UFW, añade las siguientes reglas:
$ sudo ufw allow from 192.168.1.1/16 to any port 3689 proto tcp
$ sudo ufw allow from 192.168.1.1/16 to any port 5353
$ sudo ufw allow from 192.168.1.1/16 to any port 5000:5005 proto tcp
$ sudo ufw allow from 192.168.1.1/16 to any port 6000:6005 proto udp
$ sudo ufw allow from 192.168.1.1/16 to any port 35000:65535 proto udp
Para mas información, si vuestro sistema es diferente o necesitáis consultar otras posibilidades de configuración este es su repositorio oficial en Github con toda la documentación.
En el momento de escribir esta entrada, Shairport-Sync no soporta el nuevo multi-room de AirPlay 2, con el cual podríamos reproducir audio desde el móvil a la vez en diferentes receptores. Pero no es un problema, ya que existen formas de hacerlo desde dispositivos Linux, lo dejo para otra!
Espero que sea útil, ¡gracias por leerme!
Comparte esta publicación
Twitter
Facebook
Reddit
LinkedIn
Pinterest
Email