La forma en que consumimos medios ha evolucionado mucho en la última década, con la llegada de la tecnología 4K, los televisores inteligentes, AirPlay, Chromecast, HDR y muchas otras tecnologías nuevas. Pero para muchos de nosotros, nuestras pantallas LCD de 1080p de alrededor de 2012 están en su mayoría bien y todavía se usan en nuestros hogares. Cuando algo funciona perfectamente bien, el costo adicional para agregar funcionalidad inteligente a un producto que a menudo es prácticamente idéntico y perfectamente funcional simplemente no vale la pena.
Construir un servidor AirPlay basado en Raspberry-Pi puede ser una solución, ya que permite agregar la función de transmisión de música a sus receptores o amplificadores antiguos, parlantes clásicos o televisores antiguos. Lamentablemente, no podrá transmitir video a su Raspberry-Pi, pero con un consumo de energía mínimo, compatibilidad con HDMI, fácil configuración e integración con sus dispositivos habilitados para AirPlay, es una excelente manera de mejorar su experiencia de audio en el hogar sin gastar mucho dinero en dispositivos nuevos.
Lo que necesitarás
Se recomienda una Raspberry Pi 2 o superior.
Usaremos un proyecto de código abierto llamadoShairport-Sync, un reproductor de audio para Linux y FreeBSD que originalmente comenzó a soportar AirPlay 1 y ahora soporta AirPlay 2. Aquí estamos usando una Raspberry Pi 3b de tamaño completo, pero debería funcionar bien incluso en una Raspberry Pi 2 más antigua o una Raspberry Pi Zero 2 W con una tarjeta USB o I2S adecuada. Usaremos HDMI para conectarnos a untelevisor, pero si planeas conectarte a un altavoz o receptor sin HDMI, entonces es posible que desees considerar un DAC externo, ya que el audio incorporado en el Pi no es particularmente bueno. El rendimiento de la red para AirPlay no es particularmente importante, por lo que nos conectaremos a nuestro Pi 3 usando el Wi-Fi incorporado.
Aquí hay una lista completa de lo que estamos usando:
- Raspberry Pi 3 Modelo B
- Adaptador MicroSD y SD de 16 GB
- Conexión wifi
- Adaptador de corriente para Raspberry Pi
- Un televisor con capacidad HDMI.
Shairport-sync tiene algunos requisitos más complejos, ya que requiere que los puertos 319 y 320 estén disponibles para su uso. Esto puede causar problemas si estás convirtiendo una Mac antigua en un servidor de shairport-sync, ya que macOS ya utiliza estos puertos. Tampoco puedes alojar varios servidores de shairport-sync en la misma dirección IP, ya que esto causa problemas para AirPlay.
Instalación del sistema operativo Raspberry Pi
Instalaremos el sistema operativo Raspberry Pi (antes conocido como Raspian) en tu Raspberry Pi. Necesitarás un adaptador microUSB para conectarlo a tu PC. Ten en cuenta que al instalar el sistema operativo Pi, se borrará el contenido de tu tarjeta SD, así que asegúrate de hacer una copia de seguridad de todos los archivos primero. Antes, necesitabas usar herramientas de terceros comoEtchero el siempre popular Rufus para instalar imágenes en tus tarjetas SD, pero Raspberry Pi Imager ha hecho que este proceso sea mucho más fácil. Sigue los pasos a continuación para comenzar:
- Descargue e instaleRaspberry Pi Imagerpara su plataforma. Si utiliza Linux, puede instalarlo a través de su administrador de paquetes.
- Inserta tu tarjeta MicroSD. Según el sistema de archivos y la plataforma que uses, es posible que tengas que flashear la tarjeta SD para que tu sistema operativo la reconozca correctamente.
- Abre Raspberry Pi Imager y selecciona tu modelo. Usaremos el Pi 3, pero deberás elegir el que tengas.
- Haz clic enElegir sistema operativoy selecciona la opción principal (predeterminada) de tu Pi. En nuestro caso, se trata de una versión de 32 bits de PiOS.
- PresioneAlmacenamientoy seleccione su tarjeta SD.
- Vuelve a comprobar tu configuración.
Ahora puedes pulsarSiguientey continuar con el proceso de instalación. En este punto, vale la pena conocer algunos detalles que pueden ahorrarte tiempo más adelante. El generador de imágenes te preguntará si quieres utilizarla personalización del SO, que te permite preconfigurar algunos aspectos de tu sistema operativo en la etapa de flash. Esto es extremadamente útil, ya que te permite preestablecer cosas como nombres de host, usuarios y configuraciones SSH. Te recomendamos que pulsesEditar configuracióny explores algunas opciones disponibles. La mayoría de las configuraciones se explican por sí solas: te sugerimos configurar un nombre de host (el mío se llama raspberrypi), crear un usuario y una contraseña, y configurar Wi-Fi si no tienes intención de conectarte a través de Ethernet. Ten en cuenta que Shairport-sync utilizará automáticamente el nombre de host de tu dispositivo como el nombre de tu dispositivo AirPlay, por lo que es bueno elegir algo útil aquí.
También le sugerimos dirigirse a la pestañaServiciosy habilitar SSH, lo que le ahorrará el problema de conectar un mouse y un teclado a su Pi.
Una vez que hayas terminado de configurar tus ajustes, cierra la ventana de ajustes y haz clic enSíen el cuadro de diálogo original. Tu tarjeta SD comenzará a flashearse. Una vez que tu tarjeta SD esté flasheada, insértala en tu Raspberry Pi y conéctala a una fuente de alimentación. Debería iniciarse rápidamente en el escritorio del sistema operativo Raspberry Pi.
Cómo convertir tu Raspberry Pi en un servidor multimedia
Con solo unos pocos ajustes, se puede agregar una Raspberry Pi a su configuración de cine en casa como un servidor multimedia todo en uno.
Instalación de Shairport-Sync en tu Pi
Instalar Shairport-Sync se ha vuelto mucho más fácil en los últimos años. Probé la instalación a través de las imágenes de Docker proporcionadas y la compilación desde la fuente, pero si no necesitas indicadores de compilación específicos (como habilitar Pulse-Audio), el paquete proporcionado es perfectamente utilizable. También me resultó más fácil depurar problemas y encontrar documentación para las versiones instaladas localmente en comparación con la ejecución en Docker, pero tu experiencia puede variar. Para comenzar, inicia sesión en la terminal de tu Pi, ya sea a través de SSH o conectando un mouse y un teclado y abriendo la Terminal; puedes hacer esto con solo un teclado presionandoCTRL + ALT + F2en el escritorio de tu Pi. Una vez que estés en un indicador de terminal, sigue estos pasos.
- Comience por asegurarse de que su Raspberry Pi esté actualizada.
sudo apt-get update y sudo apt-get upgrade
- Una vez completado, instale shairport-sync
sudo apt-get install shairport-sync
- Una vez instalado, inicie shairport-sync con lo siguiente:
sudo systemctl start sincronización de puerto de satélite
- Verifique el estado del proceso de sincronización de Shairport con
sudo systemctl status shairport-sync
Debería ver un resultado similar al que se muestra a continuación.Mientras estamos aquí, también habilitaremos el servicio para que se reinicie automáticamente cuando se encienda o apague el Pi. Hazlo de la siguiente manera:sudo systemctl habilitar shairport-sync
- Una vez que el servicio esté en funcionamiento, tendremos que cambiar algunos valores de configuración predeterminados. Aquí es donde las cosas se complican. Comience por enumerar los dispositivos de audio disponibles mediante:
jugar-l
Aplay es un grabador y reproductor de sonido de línea de comandos diseñado para ALSA, una parte del kernel de Linux diseñada para facilitar la interacción con tarjetas de sonido. El indicador -l imprime los dispositivos disponibles. La salida que vea dependerá de su Pi y de los dispositivos de audio que estén conectados. Para nuestra Raspberry Pi 3b, tenemos dos dispositivos: losauricularesde audio internos y nuestra salida HDMIvc4-hdmi. Tome nota del nombre del dispositivo de audio que usará; lo necesitará en el siguiente paso. Le recomendamos que use el conector HDMI de Pi (al menos para comenzar). El DAC predeterminado de Pi no es particularmente bueno, y hacer funcionarDAC USB externospuede ser un dolor de cabeza. - Usaremos la salida vchdmi para reproducir audio. Para ello, abre/etc/shairport-sync.confcon un editor de texto con el que te sientas cómodo. Usaremos Vi. Recuerda abrir el archivo como root.
sudo vi /etc/shairport-sync.conf
- Una vez abierto, desplácese hacia abajo en el archivoshairport-sync.confhasta la sección denominadaalsa. Allí encontrará una opción denominadaoutput device. Elimine los dos comentarios del comienzo de la línea (//) y reemplace el valordefaultporhw:<your audio device name>. Puede eliminar cualquier guion en el nombre, es decir
dispositivo_de_salida = "hw:vc4hdmi"
Y luego guarde y salga del archivo.Las instrucciones anteriores parecen ser ampliamente aceptadas, pero no funcionaron en mi Pi-3b. Siguiendo los consejos deeste problema de GitHub, pude hacer funcionar mi Pi usando
output_device = "
hdmi:CARD=vc4hdmi,DEV=
0". Sin embargo, tu experiencia puede variar. - Una vez hecho esto, reinicie el proceso de sincronización de Shairport usando:
sudo systemctl restart shairport-sync
Deberá comprobar si hay errores en los registros. Puede hacerlo con el siguiente comando, que imprimirá las últimas 100 líneas de registros.sudo journalctl -u shairport-sync --no-pager | tail -n 100
- ¡Listo! Consigue un dispositivo compatible con AirPlay y revisa los dispositivos disponibles. Deberías ver tu Raspberry Pi disponible en el menú AirPlay. Shairport-Sync tomará automáticamente el nombre de host de tu Raspberry Pi, aunque puedes cambiarlo en la seccióngeneraldel mismo archivo de configuración que modificamos antes. Enciende tu TV y deberías poder transmitir audio a tu TV.
Cómo subir el audio en tu Raspberry Pi
Ahora que la transmisión está funcionando, es posible que notes que el audio está extremadamente bajo. Esto se debe a que el nivel de audio predeterminado en el Pi está configurado muy bajo. Te recomendamos que configures el volumen al 100 % y dejes que el control remoto de audio de tu teléfono o los parlantes del televisor se encarguen de los niveles. Ejecuta este comando para aumentar el audio de tu Pi al 100 %.
conjunto sudo amixer PCM, 0 100%
Limitaciones de Shairport-Sync
No todo se implementa
Shairport-sync es una versión incompleta de AirPlay-2 y tiene algunas limitaciones. Principalmente, no podrás transmitir video a tu Pi ni compartir fotos. Shairport-sync funciona como un servidor AirPlay solo de audio, lo que lo hace ideal para actualizar parlantes o televisores inteligentes para transmitir audio a tu sala de estar, pero no video. En mis pruebas, pude transmitir audiodesde un video, es decir, ver un video en otro dispositivo y reproducir audio a través de mi Pi, lo cual es un buen truco, pero no aparecerá ningún video real en el televisor. Hay algunas otras limitaciones, como se documenta en lapágina "Qué funciona" del proyecto:
Shairport-Sync es ideal para receptores, altavoces o televisores antiguos.
Shairport-sync no es perfecto (lo ideal sería que también pudiéramos transmitir videos), pero es muy fácil de ejecutar (por lo que podría ejecutarse junto con otro software en un Pi más nuevo), confiable una vez configurado y rápido de instalar. Cuando se conecta a un televisor, también tiene el beneficio de ser un servicio en segundo plano que no le impide usar su Pi con normalidad, por lo que podría usar el mismo Pi que está usando paraun Steam Linko incluso un NAS pequeño. Raspberry Pi tiene infinitas opciones para proyectos geniales en el hogar, y creemos que esta podría ser otra gran adición de bricolaje a un conjunto de servicios alojados por usted mismo en su hogar, sin las etiquetas de precio de Sonos.