Montaje Streamer Basado en PiCorePlayer
-
Upload
pablo-felip -
Category
Documents
-
view
269 -
download
13
Transcript of Montaje Streamer Basado en PiCorePlayer
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
1/68
Montaje de un sistema destreaming basado en
Pablo Felipwww.pablofelip.tk
abril 2016
Este documento se distribuye bajo una licencia Creative Commons de tipo
Reconocimiento - NoComercial
http://www.pablofelip.tk/http://es.creativecommons.org/licencia/http://www.pablofelip.tk/
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
2/68
Montaje de un sistema de streaming basado en piCorePlayer
ÍNDICE 1. Introducción y objetivos.
2. Logitech Media Server (LMS).
2.1 Instalación del LMS.
2.2. Configuración del LMS.
2.2.1. Inicio del servidor.
2.2.2. Establecer la carpeta de medios.
2.2.3. Compatibilidad con DSD (DSDPlayer)
2.2.4. Spotify (opcional).
2.2.5. Otros complementos (opcional).
2.2.6. IP fija en el servidor (opcional).
3. piCorePlayer.
3.1 Instalando piCorePlayer en la tarjeta SD.
3.2 Configuremos piCorePlayer.
3.2.1. Primer inicio de piCorePlayer y acceso a su panel de control web.
3.2.2. Activemos los ajustes avanzados.
3.2.3. ¿Necesitamos reproducir ALAC o WMA?
3.2.4. ¿Cable o WIFI?
3.2.5. Dispositivo de salida.
3.2.6. Frecuencia máxima soportada.
3.2.7. Ajustes relativos a la reproducción de DSD.
3.2.8. Cuidado con el control de volumen.
3.2.9. Activar AirPlay (opcional).
4. Una app para controlarlos a todos.
5. Casi 70 páginas y varias horas después.
Página 1 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
3/68
Montaje de un sistema de streaming basado en piCorePlayer
1. Introducción y objetivos.
El objetivo de esta guía es describir los pasos necesarios para construir un sistema de streaming de bajo coste
basado en piCorePlayer (pCP en adelante), una distribución gratuita y extremadamente ligera disponible para
Raspberry Pi, capaz de reproducir audio en alta resolución (PCM 192/24 y DSD).
El sistema consta, en líneas generales, de 4 bloques funcionales:
1. Servidor de medios Integrado por un ordenador o NAS que ejecuta un componente servidor
denominado Logitech Media Server (LMS en adelante). LMS es un servidor multimedia (audio, vídeo e
imágenes) de código abierto, mantenido por una Comunidad (con “C” mayúscula) de usuarios tras el
abandono por parte de Logitech, y disponible para sistemas Windows, OS X y Unix / Linux, por lo que también podremos encontrarlo como complemento instalable en la práctica totalidad de sistemas NAS
de cierto nivel. LMS es responsable de gestionar y compartir la colección musical contenida en una o
varias carpetas de archivos, pero también desempeña funciones críticas de configuración y control de
los distintos reproductores que integraremos en el sistema. En esencia, es el “cerebro” del sistema de
streaming.
2. Reproductor. Recurriremos a una modesta Raspberry Pi de 1ª, 2ª o 3ª generación en cuya tarjeta SD
habremos instalado piCoreplayer, un sorprendente desarrollo gratuito que la convierte funcionalmente
en un reproductor Squeezebox de Logitech.
Página 2 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
4/68
Montaje de un sistema de streaming basado en piCorePlayer
3. Controlador. Para indicarle a pCP qué debe reproducir emplearemos un dispositivo móvil o tableta
dotado de alguna de las excelentes apps de control disponibles. Por esta razón, una vez tengamos el
sistema funcionando, no será necesario disponer de dispositivos de entrada o salida (teclado, ratón,
monitor o TV) ni en la Raspberry Pi ni en el servidor de medios. A este modo de funcionamiento a
ciegas se le suele de denominar headless (literalmente, sin cabeza).
4. DAC . El reproductor se conectará a un DAC a través de la conexión HDMI, USB o I2S de la Raspberry Pi.
La salida de audio analógica integrada en la Raspberry Pi se considera de calidad insuficiente (aunque
en la RPi 2 y 3 parece haber mejorado bastante) como para ser utilizada en un sistema de sonido de
alta fidelidad.
La guía presupone que dispones de los siguientes elementos:
PC o Mac en red local cableada o WIFI. No tiene por qué ser de gran potencia.
Raspberry Pi 1 , 2 o 3. piCorePlayer ya es compatible con la RPi 3.
DAC USB / I2S o receptor multicanal con conexión HDMI
Adaptador WIFI USB (si conectamos la Raspberry vía WIFI).
Tarjeta SD/microSD de al menos 128MB.
Logitech Media Server (LMS) 7.9.x:
http://downloads.slimdevices.com/nightly/index.php?ver=7.9 Servidor de medios de Logitech.
DSD Player 1.0 (repositorio LMS):
http://triodeplugins.googlecode.com/svn/trunk/testrepo.xml
Plugin de reproducción de DSD para LMS de Triode
piCorePlayer:
https://sites.google.com/site/picoreplayer/home/download Imagen a grabar en la tarjeta SD.
Win32 Disk Imager:
https://sourceforge.net/projects/win32diskimager/ Utilidad para grabar imágenes.
PuTTY:
http://www.putty.org/ Utilidad de conexión ssh.
Advanced IP Scanner
www.advanced-ip-scanner.com/esIdentificación de la IP de piCorePlayer
Por último, señalar que en principio es posible segregar el componente servidor (1A en el diagrama anterior)
del almacenamiento físico en sí (1B), puesto que son funciones independientes. En esta guía, no obstante, por
sencillez y practicidad se asumirá que ambas están concentradas en el mismo equipo, que será un PC o Mac
con la suficiente capacidad de almacenamiento para contener la biblioteca musical.
Página 3 de 68
http://www.advanced-ip-scanner.com/eshttp://www.putty.org/https://sites.google.com/site/picoreplayer/home/downloadhttp://triodeplugins.googlecode.com/svn/trunk/testrepo.xmlhttp://downloads.slimdevices.com/nightly/index.php?ver=7.9
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
5/68
Montaje de un sistema de streaming basado en piCorePlayer
Antes de comenzar puedes ver esta presentación introductoria para familiarizarte con el procedimiento que se
describe a continuación.
Presentación
En la guía se ha optado por desarrollar el proceso utilizando un PC con Windows 7 dado que se ha entendido
que este será el escenario más frecuente, especialmente cuando se trata de destinar un PC ya de cierta edad a
actuar como servidor de nuestro sistema de streaming. No obstante se aportarán las indicaciones necesarias
para tratar de contemplar otros escenarios.
Página 4 de 68
https://docs.google.com/presentation/d/1AQ78rPiELtMIijoRc7BteSJ18hACi0n2c_0JCMPs650/pub?start=false&loop=false&delayms=3000https://docs.google.com/presentation/d/1AQ78rPiELtMIijoRc7BteSJ18hACi0n2c_0JCMPs650/pub?start=false&loop=false&delayms=3000
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
6/68
Montaje de un sistema de streaming basado en piCorePlayer
2. Logitech Media Server (LMS).
Comenzaremos descargando, instalando y configurando LMS en su versión 7.9, versión que ya admite la
reproducción de archivos DSD.
2.1 Instalación del LMS.
Para realizar la instalación hay que dirigirse a la página donde se localiza el repositorio de LMS 7.9:.
http://downloads.slimdevices.com/nightly/index.php?ver=7.9
Comprobaremos que hay versiones para una gran variedad de sistemas, algunos bastante exóticos, incluyendo
por supuesto Windows, OS X y Linux. Puesto que, como se ha indicado, esta guía está desarrollada pensando fundamentalmente en un servidor Windows, optaremos por el archivo ejecutable correspondiente.
Tras la descarga haremos doble clic en el icono de instalación y, una vez aceptados los consabidos avisos de
seguridad del sistema, el proceso comenzará de inmediato.
Tan solo deberemos seleccionar el idioma y hacer clic en los botones Aceptar / Siguiente para completar la
instalación. En un momento de la misma veremos como un globo de ayuda en el área de notificación nos
indicará que LMS está ya instalado e iniciándose.
Página 5 de 68
http://downloads.slimdevices.com/nightly/index.php?ver=7.9
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
7/68
Montaje de un sistema de streaming basado en piCorePlayer
Página 6 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
8/68
Montaje de un sistema de streaming basado en piCorePlayer
Después de hacer clic en Aceptar en la última ventana del asistente de instalación, se lanzará el
panel de
control de LMS. A través de este panel de control, que siempre estará disponible para su invocación desde el
icono que se muestra en el área de notificación de la barra de tareas podremos, entre otras cosas:
○ Controlar el inicio y la detención del servidor.
○ Establecer el arranque en automático al iniciar el sistema (si así lo deseamos).
○ Determinar qué carpetas contienen archivos multimedia y forzar un escaneado de las mismas.
○ Reiniciar los ajustes y preferencias del servidor y/o eliminar la caché.
○ Actualizar el servidor.
○ Acceder a información de estado y diagnóstico.
Página 7 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
9/68
Montaje de un sistema de streaming basado en piCorePlayer
○ Abrir el panel de control web, que como veremos nos permitirá llevar a cabo la mayor parte de los
procesos anteriores (con la excepción de los relativos al inicio y detención del servidor y a la
inicialización de sus preferencias y caché).
La primera vez que se inicie el panel de control comprobaremos como un mensaje nos advertirá de que
determinadas funciones relativas al arranque y la detención del propio servidor no estarán disponibles a menos
que lo ejecutamos como administrador. Esto puede lograrse utilizando el menú contextual (botón derecho del
ratón) del icono que se despliega en el área de notificación del sistema.
Si seguimos esta indicación ya dispondremos de una instancia del panel de control totalmente funcional.
NOTA Es posible que instantes después de haber iniciado el panel de control de LMS aparezca en
pantalla un mensaje indicando que hay actualizaciones disponibles . Al tratarse de una aplicación
en continuo desarrollo el ciclo de actualización es extremadamente rápido. En general las
actualizaciones son seguras, no obstante conviene no apresurarse y, una vez tengamos el sistema
funcionando a nuestro gusto, tener al menos la precaución de esperar un tiempo prudencial antes
de instalar una actualización para que hipotéticos errores no detectados puedan ser subsanados por
los desarrolladores antes de que nos puedan afectar de un modo catastrófico. Podemos comprobar
en todo momento qué versión de LMS está instalada en la pestaña Información del panel de control.
Página 8 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
10/68
Montaje de un sistema de streaming basado en piCorePlayer
2.2. Configuración del LMS.
2.2.1. Inicio del servidor.
Lo primero que haremos es dirigirnos a la pestaña Estado del panel de control del LMS para revisar las opciones
relativas a su inicio. Aquí podremos detener e iniciar manualmente el servidor ①, además de decidir su modo
de inicio②, que podrá ajustarse a una de estas 3 posibilidades.
A. No iniciar automáticamente: será necesario “levantar” el servidor manualmente desde el panel de
control de Logitech Media Server.
B. Ejecutar automáticamente al iniciar sesión
: LMS estará detenido en tanto permanezcamos en la pantalla de introducción de usuario y clave del sistema operativo, si es que está configurado para
mostrarla, y arrancará tan pronto como iniciemos sesión.
C. Ejecutar automáticamente al iniciar el sistema: El servidor LMS arrancará con el sistema, sin necesidad
de que el usuario inicie sesión en él. En este caso deberemos introducir en el panel de control del LMS
el nombre y clave correspondiente al usuario del sistema con cuyos privilegios y permisos se ejecutará
el servidor. Es importante mencionar que dicho usuario deberá tener permisos de acceso a la carpeta
que contenga los archivos multimedia, de lo contrario LMS no podrá verlos y por tanto no funcionará
correctamente.
Página 9 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
11/68
Montaje de un sistema de streaming basado en piCorePlayer
NOTA ¿Cómo debemos configurar este ajuste correspondiente al arranque del LMS? Existen varios
factores a tener en cuenta pero, en general:
○ Si estamos configurando un sistema dedicado (esto es, siempre disponible) escogeremos la
opción B o la C, de modo que LMS esté listo para funcionar tan pronto como el equipo
arranque.
○ Si el PC no se emplea en exclusiva para proporcionar el servicio LMS a los reproductores que
tengamos en red y somos conservadores con respecto al consumo de recursos (aunque LMS
no es en absoluto tragón en este sentido), optaremos por la opción A.
Con el objetivo de hacer esta guía lo más universal posible y puesto que el panel de control utilizado hasta el
momento es el correspondiente a plataformas Windows, el resto de la configuración la realizaremos desde la
interfaz web de control que nos ofrece LMS, que es homogénea en todas las versiones de LMS.
Podemos acceder a este panel de control web de tres maneras:
○ Haciendo clic en el botón Configuración avanzada en la pestaña Avanzada del panel de control del LMS
que hemos venido utilizando.
○ Usando un navegador en el mismo equipo en el que se ejecuta LMS, bastará con dirigirlo a la dirección
127.0.0.1:9000 y a continuación seleccionar el enlace Configuración.
○ Si deseamos, en cambio, realizar la configuración desde otro navegador, quizás porque el PC que
hemos destinado al servidor va a funcionar en el ya mencionado modo headless (es decir, a ciegas, sin
monitor, teclado ni ratón). tendremos que conocer la IP de dicho PC para introducirla en el navegador
Página 10 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
12/68
Montaje de un sistema de streaming basado en piCorePlayer
(por ejemplo, 192.168.1.253:9000), para a continuación seleccionar nuevamente el enlace
Configuración. ¿Cómo averiguar la dirección IP propia? El propio panel de control del LMS nos lo
indicará en la pestaña Diagnósticos. Claro que lo más probable es que esta IP varíe al reiniciar puesto
que nuestro router doméstico nos la estará asignando dinámicamente a través de DHCP (de hecho, en
el transcurso de la confección de esta guía lo ha hecho en varias ocasiones). Más adelante veremos
cómo configurar nuestro servidor con una IP fija (estática) de modo seguro.
2.2.2. Establecer la carpeta de medios.
Pertrechados ya con la IP del servidor LMS, nos centraremos ahora en la configuración de la carpeta de medios
que LMS debe vigilar y servir al reproductor que más tarde asociaremos. Nos dirigimos pues al área de control
de la interfaz web, concretamente a la primera pestaña, denominada Configuración básica .
En ella estableceremos el nombre de nuestra biblioteca ① (esto solo es útil si disponemos de varios servidores
LMS en red) y, más importante, la ruta de la carpeta o carpetas en las que tenemos archivos de audio y que
deseamos que LMS vigile y exponga a los reproductores conectados en red ②. No hay que olvidarse de marcar
la casilla correspondiente ( Música ) para indicar que se trata de archivos de sonido.
Tampoco debemos olvidarnos de hacer clic en el botón Aplicar para confirmar los cambios. LMS comenzará
inmediatamente a escanear la carpeta para localizar los archivos de audio que contiene.
Página 11 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
13/68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
14/68
Montaje de un sistema de streaming basado en piCorePlayer
En cualquier momento será posible solicitar un escaneado manual utilizando el botón Volver a examinar
situado en la pestaña Configuración básica.
2.2.3. Compatibilidad con DSD (DSDPlayer)
Vamos ahora a hacer que nuestro servidor LMS sea compatible con archivos DSD de tipo DFF y DSF. Para ello
instalaremos DSDPlayer , un complemento que aparece ya automáticamente en la sección Complementos de
terceros de las últimas versiones de LMS sin necesidad de agregar manualmente su repositorio (hay una
sección para añadir más repositorios en la parte inferior de la página de complementos).
DSDPlayer admite dos estrategias de reproducción de audio codificado en DSD:
○ Conversión a PCM : El audio DSD se transforma en PCM a una frecuencia y resolución determinadas,
que . DSDPlayer establece teniendo en cuenta las capacidades del reproductor. Esta es la única opción
si nuestro DAC no soporta DSD.
○ Reproducción nativa por medio de empaquetado DoP : DoP es el acrónimo de DSD over PCM. Se trata
de una codificación, surgida al amparo de la proliferación de DACs conectados por USB, que empaqueta
un flujo de datos DSD dentro de un paquete que tiene toda la pinta de ser audio en PCM. Los paquetes DoP son recibidos por el DAC, que desentierra el flujo DSD y lo reproduce como tal, esto es, de modo
nativo.
Página 13 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
15/68
Montaje de un sistema de streaming basado en piCorePlayer
Además, DSDPlayer permite establecer determinados parámetros que afectan a la conversión de DSD a PCM
(calidad y ajustes del filtrado empleado en el proceso de remuestreo) y, además, tanto ellos como el modo de
reproducción del audio en DSD pueden establecerse de modo independiente para cada reproductor.
Volveremos a tocar esta cuestión cuando llegue el momento de configurar la reproducción DSD en pCP,
entretanto nos contentaremos con instalar el complemento, para lo que bastará con localizarlo en la sección
correspondiente a los Complementos de terceros, marcar la casilla de verificación y hacer clic en el botón
Aplicar para confirmar los cambios (es posible que tengas que hacer clic sobre este botón en dos ocasiones).
Será necesario reiniciar el LMS, cosa que podremos hacer ahora o posponer para otro momento.
Si optamos por reiniciar ahora y, tras unos segundos, volvemos a la pestaña de complementos, veremos como
DSDPlayer aparecerá ahora en la sección de Complementos activos.
Página 14 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
16/68
Montaje de un sistema de streaming basado en piCorePlayer
2.2.4. Spotify (opcional).
La activación del complemento de Spotify es un tanto farragosa puesto que requiere de tres pasos y la
instalación de 2 complementos, además de disponer de una cuenta de tipo premium en Spotify:
1. Registro de nuestro servidor LMS en mysqueezebox.com , un portal web que permite la activación de
ciertos complementos, como por ejemplo los correspondientes a Spotify y Tidal, y la configuración
simple de algunos aspectos de los reproductores asociados al LMS.
2. Activación del complemento oficial de Spotify.
3. Instalación del plugin complementario de soporte de Spotify.
Registro en mysqueezebox.com.
Nuevamente accederemos al panel de control web en http://IP_del_servidor:9000 y a continuación haremos
clic en Configuración para dirigirnos a la pestaña mysqueezebox.com .
Allí haremos clic sobre Necesito crear una cuenta en mysqueezebox.com y seguiremos las instrucciones en
pantalla. Tan solo necesitaremos indicar nuestro país, dirección de correo electrónico y establecer una
contraseña. Tras completar el proceso (y verificar la cuenta de correo electrónico a través del enlace incluído
en el mensaje que se nos enviará) podremos acceder a mysqueezebox.com como usuario ya autentificado..
Página 15 de 68
http://ip_del_servidor:9000/
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
17/68
Montaje de un sistema de streaming basado en piCorePlayer
Las credenciales de inicio de sesión obtenidas deberemos introducirlas en la pestaña mysqueezebox.com del
LMS.
Tras hacer clic en el botón Aplicar debe aparecer un mensaje en la parte superior de la ventana indicando que
los cambios se han guardado, confirmando de este modo que el usuario y clave introducidos son correctos.
Página 16 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
18/68
Montaje de un sistema de streaming basado en piCorePlayer
Activación del complemento oficial de Spotify.
No dirigiremos a la Galería de aplicaciones de mysqueezebox.com que se puede encontrar en
http://www.mysqueezebox.com/appgallery iniciando sesión con el usuario y clave registrados. Allí veremos un
conjunto de aplicaciones que conectan con una serie de proveedores de contenido de audio en línea.
Nos desplazaremos hacia el final de la lista de aplicaciones para localizar la correspondiente a Spotify, haremos
clic sobre su icono y a continuación en el botón Instalar aplicación .
Página 17 de 68
http://www.mysqueezebox.com/appgallery
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
19/68
Montaje de un sistema de streaming basado en piCorePlayer
Seguidamente utilizaremos el enlace Configurar para introducir las credenciales de nuestra cuenta premium en
Spotify e iniciaremos sesión en el servicio.
Finalmente, activaremos el complemento haciendo clic en Enable Spotify Account para seguidamente iniciar
nuevamente sesión, esta vez en el servicio de Spotify con nuestras credenciales premium.
Al finalizar comprobaremos que la velocidad de bits de reproducción está ajustada a Alta (320 kbps) .
Página 18 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
20/68
Montaje de un sistema de streaming basado en piCorePlayer
Activación del plugin complementario de soporte de Spotify (Spotify Protocol Handler).
El plugin oficial solo funciona con determinados reproductores, entre los que no se encuentra piCorePlayer
(que de oficial tiene poco, claro).
Para poder utilizarlo necesitamos un complemento adicional que nuevamente localizaremos en la sección de
Complementos de terceros del panel de control web del LMS e instalaremos de un modo análogo a DSDPlayer.
Este complemento se denomina Spotify Protocol Handler .
Página 19 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
21/68
Montaje de un sistema de streaming basado en piCorePlayer
Si en algún momento recibimos alguna advertencia del cortafuegos de Windows haremos clic en Permitir
acceso .
NOTA Debemos asegurarnos de instalar Spotify Protocol Handler. Existe otro complemento de nombre
similar (3rd Party Spotify Plugin ), pero está obsoleto y ya no funciona correctamente.
Página 20 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
22/68
Montaje de un sistema de streaming basado en piCorePlayer
Ahora nos dirigiremos a la pestaña Avanzada y en el desplegable seleccionaremos Spotify Protocol Handler
para, a continuación, aceptar los términos de uso (clic en la casilla de verificación I Agree , clic en Aplicar).
Esto activará el complemento, en cuyo panel de configuración, nuevamente (y van…), deberemos introducir
nuestras credenciales premium de Spotify.
Tras ello haremos clic con el ratón, como siempre, en Aplicar y nos aseguraremos de que el complemento se
está ejecutando y ha iniciado sesión correctamente en Spotify (sección Status).
Página 21 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
23/68
Montaje de un sistema de streaming basado en piCorePlayer
Ha sido largo pero ya hemos terminado.
El procedimiento ha resultado más complicado de lo habitual como consecuencia de los recientes cambios
introducidos por Spotify en su servicio, lo que nos ha obligado a recurrir a un nuevo plugin complementario al
oficial para poder seguir disfrutando del servicio en reproductores distintos a los Squeezebox Touch y Radio.
2.2.5. Otros complementos (opcional).
El ecosistema Squeezebox ofrece docenas de complementos distintos. Algunos de ellos conectan el servidor
LMS con diversos proveedores musicales en Internet; otros, sin embargo, añaden o mejoran sus
funcionalidades. La buena noticia es que la mayor parte de estos complementos se instalan de un modo mucho
más sencillo que el que hemos tenido que sufrir para disfrutar de Spotify.
Existe una sección dedicada a los complementos del LMS en su wiki, que además conduce a un activo foro de
discusión (en inglés) en el que se puede encontrar gran cantidad de información de soporte e ideas de uso.
http://wiki.slimdevices.com/index.php/Logitech_Media_Server_Plugins
Podemos ojear los complementos disponibles en la sección Complementos del panel de control web del LMS.
Además, es posible añadir otros no inicialmente relacionados indicando repositorios adicionales en el recuadro
Página 22 de 68
http://wiki.slimdevices.com/index.php/Logitech_Media_Server_Plugins
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
24/68
Montaje de un sistema de streaming basado en piCorePlayer
situado en la parte inferior de dicha sección (el wiki y foro anteriores son un buen lugar para obtener las
direcciones de estos repositorios).
Otros complementos (los menos) se pueden encontrar en la galería de aplicaciones de mysqueezebox.com.
Algunos recomendables de entre estos últimos pueden ser SomaFM , SHOUTcast o TuneIn Radio , que dan
acceso a una enorme cantidad de emisoras de radio por Internet.
Además, puede que quizás también encuentres interesantes estos otros que no están activados por defecto:
Complemento Se obtiene en... Descripción
AirPlay Bridge Web LMS Integra en LMS dispositivos AirPlay como reproductores.
AutoRescan Web LMS Detecta automáticamente los cambios en las carpetas de la biblioteca.
Chromecast bridge Web LMS Integra en LMS dispositivos Chromecast como reproductores.
Local Player Web LMS Activa la reproducción local en el servidor usando Squeezelite.
Tidal mysqeezebox.com Acceso al conocido servicio de streaming de alta calidad
UPnP/DLNA bridge Web LMS Integra en LMS dispositivos UPnP como reproductores.
2.2.6. IP fija en el servidor (opcional).
Lo habitual es que el ordenador en el que hemos instalado LMS esté configurado para obtener un dirección IP
dinámica en nuestra red, IP que es asignada normalmente por el router doméstico que en ella se encuentra a
Página 23 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
25/68
Montaje de un sistema de streaming basado en piCorePlayer
través de un protocolo denominado DHCP (acrónimo de Dynamic Host Configuration Protocol , protocolo de
configuración dinámica de anfitrión). Por medio de este protocolo se le cede temporalmente a cada equipo
(cliente) conectado a la red local, bien de modo cableado, bien de modo inalámbrico, una dirección IP para que
pueda transmitir y recibir información.
Esta cesión es válida durante un periodo de tiempo que puede oscilar entre unas pocas horas y varios días,
pasado el cual la concesión expira y el cliente debe solicitar una nueva dirección IP al servidor DHCP. El servidor
DHCP gestiona un conjunto o rango de direcciones IP en préstamo, lleva la cuenta de cuáles han sido cedidas,
a quién y hasta cuándo. De esta forma se garantiza que la dirección IP es única para cada equipo de la misma
red local y se maximiza el uso de las IP disponibles. De lo contrario, si dos o más equipos reciben la misma IP
se producirá un conflicto que dejará sin conexión a todos salvo al primero al que se le ha asignadoo, aunque en
la práctica puede ocurrir que también este se ve afectado.
Probablemente esto se entenderá mejor con un diagrama.
RECAPITULEMOS:
○ Cada equipo de nuestra red necesita una dirección IP única para poder comunicarse.
○ Esta dirección es asignada habitualmente por nuestro router empleando un mecanismo denominado
DHCP.
○ Como consecuencia, las direcciones IP de los equipos conectados en red varían con el tiempo.
Página 24 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
26/68
Montaje de un sistema de streaming basado en piCorePlayer
Ahora bien ¿supone un problema que nuestro servidor LMS esté configurado con una IP dinámica que cambie
con el tiempo? La respuesta corta es: en principio no.
Los protocolos utilizados por el LMS para comunicarse con los reproductores asociados están diseñados para
que estos últimos sean capaces de descubrir por sí mismos la presencia del servidor de medios y averiguar su
dirección IP.
A pesar de ello, es una buena práctica asignar una IP fija a los elementos de una red que actúan como
servidores para reducir la probabilidad de eventuales fallos y facilitar su localización y acceso desde otros
equipos. Es por ello que en esta sección aprenderemos a configurar el servidor LMS con una IP fija (estática).
NOTA Esta guía no pretende, ni mucho menos, ser un documento de referencia por lo que hace a la
configuración de redes TCP/IP. Por tanto, a continuación se describirán una serie de procedimientos sin profundizar en su fundamentación técnica. Además, dada la enorme diversidad de routers y
sistemas operativos (y versiones de los mismos), estos procedimientos pueden no ajustarse
totalmente a la configuración del lector.
Dividiremos el proceso en varias fases:
1. Averiguar la dirección IP , máscara de red, puerta de enlace y servidor de nombres (DNS) del
ordenador que ejecuta LMS (servidor).
2. Acceder al panel de control del router.
3. Configurar el servidor DHCP (router) de modo que la IP que deseamos asignar de modo estático quede excluida del rango que se cede dinámicamente.
4. Configurar el servidor con IP fija.
Vamos con ellas.
1. Averiguar los parámetros de configuración IP del ordenador que ejecuta LMS.
Haremos clic con el ratón en el icono que representa a la conexión de red en el área de notificación de la barra
de tareas. Se desplegará un pequeño panel en el que identificaremos cómo se denomina la conexión que el
ordenador está empleando actualmente. A continuación haremos clic, secuencialmente en:
1. El texto Abrir Centro de redes y recursos compartidos.
Página 25 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
27/68
Montaje de un sistema de streaming basado en piCorePlayer
2. El texto a la derecha de Conexiones en la sección de la ventana correspondiente a la conexión de red
que hemos identificado hace un momento. Lo más probable es que tan solo aparezca una, pero si
nuestro ordenador dispone de varios adaptadores de red (por ejemplo uno cableado y otro
inalámbrico) es posible que se muestren ambas
3. El botón Detalles en la ventana de Estado de Conexión de área local .
Página 26 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
28/68
Montaje de un sistema de streaming basado en piCorePlayer
Aparecerá otra ventana denominada Detalles de la conexión de red. Aquí es donde queríamos llegar.
Anotaremos los parámetros:
○ Dirección IPv4.
○ Máscara de subred IPv4.
○ Puerta de enlace predeterminada IPv4.
○ Servidor DNS IPv4.
En el caso de un Mac (OS X), esta información la podrás encontrar en las distintas pestañas del panel de
configuración de la red, ubicado en:
Preferencias del Sistema ⇨ Red ⇨ Ethernet
Aquí el término Router es empleado en lugar de Puerta de enlace predeterminada .
Página 27 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
29/68
Montaje de un sistema de streaming basado en piCorePlayer
2. Acceder al panel de control del router
Necesitaremos conocer la dirección web de administración del router y el usuario y clave para acceder. Lo
habitual es que baste con escribir en la barra de direcciones del navegador algo como esto...
http://IP_puerta_de_enlace_IPv4
...para que aparezca la página de autenticación:
El usuario suele ser admin y la clave algo como admin, password , guest , el nombre del fabricante o,
simplemente, una cadena vacía (en blanco, pulsar intro). También puede suceder que el usuario esté en blanco
y la clave sean admin o Admin.
Un buen lugar para tratar de averiguar el usuario y la clave del router que vienen configurados de fábrica (los
proveedores de Internet son extraordinariamente vagos y muchas veces no los modifican) es esta:
Página 28 de 68
http://ip_puerta_de_enlace_ipv4/
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
30/68
Montaje de un sistema de streaming basado en piCorePlayer
http://portforward.com/default_username_password/
También puedes buscar el manual del router, en el que siempre se indica la dirección de administración y el
usuario y clave requeridos. Rebusca en esa caja que tienes tirada en el trastero o, si no la encuentras, busca en
Google la marca y modelo exacto de tu router más (símbolo +) la palabra manual, seguramente llegarás a la
web de soporte del fabricante, a la que por otra parte siempre puedes dirigirte paso a paso. Por ejemplo:
Búsqueda de D-Link DIR 655 +manual
Página 29 de 68
https://www.google.es/?gfe_rd=ssl&ei=M3D6Vq2DHcOEaI23oLgM#q=D-Link+DIR+655+%2Bmanualhttp://portforward.com/default_username_password/
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
31/68
Montaje de un sistema de streaming basado en piCorePlayer
En cualquier caso, todo esto es algo que depende en gran medida del modelo concreto de router del que
dispongamos y de las posibles modificaciones que haya efectuado sobre él el proveedor de Internet que nos lo
facilite (si es que se trata de un router cedido). Es posible que la compañía nos haya entregado algún
documento que recoja la información necesaria para que lo podamos administrar, o, en su defecto, al menos
usuario y clave estén anotados en la parte inferior del dispositivo. Si no es así siempre podemos llamar al
número de atención al cliente para que nos indiquen cómo conectarnos al router para revisar su configuración
(buena suerte).
3. Configurar servidor DHCP del router para eliminar del rango de cesión la IP a asignar al servidor LMS
De nuevo, el lugar al que nos debemos dirigir varía en gran medida en función de la marca y modelo de nuestro
router.
En general deberemos buscar algún lugar del menú de configuración (probablemente esté en inglés) donde se hable de configuración de red local (network configuration) , DHCP , rango de direcciones IP ( DHCP IP Address
Range), etc. Lo que estamos tratando es de identificar el rango de direcciones IP que el servidor DHCP está
ofreciendo a los dispositivos configurados con IP dinámica.
Por ejemplo, en el caso de un D-Link DIR 655 los ajustes del servidor DHCP se localizan aquí:
SETUP ⇨ NETWORK SETTINGS ⇨ DHCP SERVER SETTINGS
Página 30 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
32/68
Montaje de un sistema de streaming basado en piCorePlayer
Aquí el rango de direcciones del servidor DHCP es el comprendido entre la IP 192.168.1.201 y la 192.168.1.254.
Podemos ver también que el servicio DHCP está activado y que el tiempo de validez de la cesión son 1440
minutos (24 horas).
Debemos tener en cuenta que:
○ Las direcciones entre 192.168.1. 201 y 192.168.1.254 no pueden asignarse manualmente puesto que las
gestiona el servidor DHCP y podrían producirse conflictos.
○ La dirección 192.168.1.1 no puede ser utilizada puesto que es la asignada en este caso (y
habitualmente) al propio router D-Link..
○ La dirección 192.168.1.255 tampoco está disponible puesto que se trata de una IP reservada que tiene
un significado especial en las redes TCP/IP.
Teniendo en mente todo lo anterior, podríamos emplear por tanto manualmente cualquier dirección IP dentro
del rango:
192.168.1.2 - 192.168.1.200
Por ejemplo, esta:
192.168.1.10
No hay direcciones mejores que otras, tan solo procuraremos seleccionar una fácil de recordar y, por encima
de todo, nos aseguraremos de que solo la vamos a emplear con un equipo , en este caso nuestro servidor LMS,
por las razones expuestas anteriormente.
Si seleccionamos para el servidor LMS una dirección que no se encuentra dentro del rango administrado por el
servidor DHCP no tenemos que modificar ningún parámetro en la configuración del router (ni que decir tiene
que esto es lo aconsejable si no nos sentimos cómodos administrando una red local). Si por el contrario nos
empeñamos en asignar manualmente una IP comprendida dentro del rango de direcciones DHCP tendremos que modificarlo en los ajustes de DHCP para que la escogida no esté dentro de él.
3. Configurar servidor con IP fija.
Accederemos nuevamente a la ventana de Estado de Conexión de área local, del mismo modo que hicimos en
el paso 1, pero esta vez deseamos establecer manualmente los ajustes, por lo que haremos clic en Propiedades
y, seguidamente, seleccionaremos en la lista de elementos que despliega la ventana Propiedades de Conexión
de área local el componente Protocolo de Internet versión 4 (TCP/IPv4) para, a continuación, hacer de nuevo
clic en Propiedades.
Página 31 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
33/68
Montaje de un sistema de streaming basado en piCorePlayer
Página 32 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
34/68
Montaje de un sistema de streaming basado en piCorePlayer
Aparecerá el panel de propiedades del protocolo TCP/IP.
Aquí introduciremos manualmente la dirección IP que deseamos asignar a nuestro servidor LMS, escribiendo
en lugar correspondiente el resto de parámetros (Dirección IPv4, máscara de subred IPv4, puerta de enlace
predeterminada IPv4, servidor DNS IPv4) que averiguamos en el paso 1 de esta sección.
Siguiendo con el ejemplo, vamos a configurar el servidor LMS con la IP 192.168.1.10. En ese caso la
configuración quedaría del modo que se puede ver en la captura anterior.
De estar realizando este proceso en un Mac, seleccionaremos Ubicación: Manual y procederemos a ajustar los
parámetros del mismo modo.
No nos debemos olvidar de hacer clic en Aceptar para confirmar los cambios. la nueva IP quedará ya asignada
al servidor LMS, no siendo necesario reiniciar. Podemos probar a acceder a cualquier página de Internet para
cerciorarnos de que disponemos de conectividad, como es de esperar si hemos desarrollado este
procedimiento correctamente.
Página 33 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
35/68
Montaje de un sistema de streaming basado en piCorePlayer
3. piCorePlayer.
Ahora es cuando las cosas se ponen interesantes. Pasamos a abordar la parte de esta guía dedicada a la
instalación y configuración de piCorePlayer, que desde la reciente (en el momento de escribir estas líneas)
versión 2.0, lanzada el 28 de marzo de 2015, ya es compatible también con las recientemente lanzadas
Raspberry Pi de 3ª generación. La compatibilidad se extiende al adaptador WIFI interno que incorporan estos
modelos, lo que unido a un nuevo aumento de potencia hace a la Raspberry Pi un dispositivo aún más
interesante a la hora de funcionar como reproductor de bajo coste.
Por si fuera poco, desde la versión justo anterior a la que aporta compatibilidad con la RPi 3 (2.03, 19 de marzo)
piCorePlayer puede levantar su propio servidor LMS, que se ejecutará localmente en la Raspberry Pi del mismo
modo que es posible conseguir en un Squeezebox Touch (aunque es una opción relativamente poco conocida).
De este modo ya no será necesario instalar LMS en un PC, aunque lógicamente necesitaremos seguir contando
con un dispositivo de almacenamiento, bien disponible en red, bien conectado localmente a través del puerto
USB de la Raspberry.
El Squeezebox Touch, un dispositivo muy limitado por lo que hace a la potencia de su procesador, tiene serios
problemas funcionando de este modo a poco que la colección de música alcance cierto tamaño puesto que,
además de la reproducción en sí, debe ocuparse de las tareas de servidor y control propias del LMS. Aunque no
tengo una experiencia directa con una Raspberry Pi 3 operando de este modo, me inclino a pensar que, dadas
sus prestaciones, el funcionamiento será mejor aunque no me atrevería a decir hasta qué punto.
En esta guía, no obstante nos ceñiremos al planteamiento inicial. Además, se empleará una modesta Raspberry
Pi 1 en lugar las versiones más potentes y sofisticadas de 2ª y 3ª generación.
3.1 Instalando piCorePlayer en la tarjeta SD.
Para completar esta parte de la guía necesitaremos tres cosas:
Página 34 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
36/68
Montaje de un sistema de streaming basado en piCorePlayer
○ Un ordenador equipado con lector de tarjetas SD o microSD (o un lector de tarjetas externo conectable
por USB).
○ Una tarjeta SD (o microSD con su correspondiente adaptador), aunque sea de pequeño tamaño
(aunque es posible instalar piCorePlayer en una tarjeta de apenas 64MB, elegiremos una de al menos
128MB para ir holgados en este sentido).
○ La imagen instalable de piCorePlayer.
Podemos encontrar todas las versiones de piCorePlayer en la sección de descargas del proyecto:
https://sites.google.com/site/picoreplayer/home/download
Escogeremos la última disponible (2.04 en el momento de escribir estas líneas).
piCorePlayer se distribuye como una imagen completa del sistema operativo que instalaremos en la Raspberry.
Se trata de un archivo empaquetado, con la extensión img (extensión que veremos únicamente si tenemos
nuestro explorador configurado para que las muestre) que contiene a su vez los centenares de archivos
Página 35 de 68
https://sites.google.com/site/picoreplayer/home/download
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
37/68
Montaje de un sistema de streaming basado en piCorePlayer
necesarios para que piCorePlayer arranque y funcione, en esencia toda una distribución Linux adaptada y
configurada por el creador del proyecto. El núcleo de pCP es Squeezelite , un reproductor software cuya misión
es emular el comportamiento de un Squeezebox real.
Para grabar la imagen en la tarjeta SD necesitaremos echar mano, en un entorno Windows, de una
herramienta como Win32 Disk Imager. La descargaremos de:
https://sourceforge.net/projects/win32diskimager
El proceso no tiene mayor dificultad, simplemente dirigiremos el navegador a la dirección anterior y haremos
clic en el botón Download.
Página 36 de 68
https://sourceforge.net/projects/win32diskimager/
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
38/68
Montaje de un sistema de streaming basado en piCorePlayer
La instalación tampoco comporta ningún problema, abriremos el archivo ejecutable de instalación y
seguiremos el asistente con las opciones por defecto que se nos recomienden.
Tras la instalación localizaremos Win32 Disk Imager en el menú de Inicio y la ejecutaremos.
Página 37 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
39/68
Montaje de un sistema de streaming basado en piCorePlayer
El manejo de la aplicación es extremadamente simple. Tras insertar la tarjeta SD en el lector del ordenador,
bastará con seleccionar el archivo img con la imagen de piCorePlayer, escoger la unidad extraíble ( Device )
correspondiente a la tarjeta insertada y hacer clic en el botón Write .
Tras completar el proceso simplemente cerraremos Win32 Disk Imager y extraeremos la tarjeta SD.
Si en lugar de un PC con Windows utilizamos un Mac recomiendo recurrir a una aplicación similar denominada
ApplePi-Baker, que se emplea de un modo análogo y podemos descargar aquí:
http://www.tweaking4all.com/hardware/raspberry-pi/macosx-apple-pi-baker/
NOTA Debemos ser extremadamente cautos a la hora de seleccionar el dispositivo de almacenamiento en
el que se escribe la imagen de piCorePlayer. El proceso es destructivo, por lo que si por error
escogemos otra unidad USB conectada al ordenador perderemos totalmente su contenido.
Página 38 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
40/68
Montaje de un sistema de streaming basado en piCorePlayer
3.2 Configuremos piCorePlayer.
Hemos sobrepasado ya el ecuador de esta guía, que ha crecido en tamaño mucho más de lo que pretendía en un principio y nos estamos aproximando al momento en que recibiremos nuestro premio: nos dejaremos caer
en el sillón para disfrutar cómodamente de nuestra música tras habernos gastado apenas unas pocas decenas
de euros en una Raspberry Pi.
Por fin, ya estamos listos para iniciar piCorePlayer por primera vez en nuestra Raspberry Pi.
3.2.1. Primer inicio de piCorePlayer y acceso a su panel de control web.
Insertamos la tarjeta SD en la Raspberry Pi, conectamos los cables y arrancamos. Para la primera configuración
es necesario que la RPi se conecte a la red por cable .El resto de conexiones (HDMI, DAC) no son necesarias.
Si la Raspberry está conectada a un monitor (a través de HDMI o de la salida de video compuesto) veremos,
tras unos segundos, algo como esto.
Página 39 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
41/68
Montaje de un sistema de streaming basado en piCorePlayer
NOTA En realidad es posible realizar la configuración inicial de piCorePlayer sin necesidad de una conexión
por cable a la red. No obstante, en esta guía se optará, por simplicidad, por suponer que es posible
conectar la Raspberry Pi, aunque sea temporalmente, a nuestra red local de este modo, por ejemplo conectándola directamente a uno de los puertos ethernet de nuestro router.
piCorePlayer se configura, de un modo análogo a LMS, a través de un panel de control web accesible utilizando
un navegador. Para conectarnos a él necesitaremos por tanto conocer la dirección IP asignada a la RPi, que por
defecto será dinámica (ya estamos familiarizados con las implicaciones que esto tiene). Existen varias formas
de lograrlo.
Si nos fijamos en la imagen anterior, el propio piCorePlayer anuncia la IP obtenida en el momento del arranque.
Si no podemos visualizar la salida de vídeo de la RPi, existe también la posibilidad de utilizar la siguiente
dirección, que podrá funcionar o no dependiendo la configuración de nuestra red local. No perdemos nada por
probarla:
http://picoreplayer.local
Otro método, ahora que ya sabemos acceder al panel de control web de nuestro router, consiste en acceder a
él y tratar de localizar una página con información relativa a todos los dispositivos conectados.
Página 40 de 68
http://picoreplayer.local/
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
42/68
Montaje de un sistema de streaming basado en piCorePlayer
En mi D-Link DIR 655 se trata de la sección STATUS . Allí buscaremos la IP correspondiente a un equipo
identificado como Raspberry Pi o similar (en mi caso aparece como piCorePlayer debido a configuraciones
específicas en mi router).
Por último, podemos recurrir a una aplicación como Advanced IP Scanner. Se trata de una herramienta que,
como su nombre sugiere, explorará la red local tratando de identificar los dispositivos conectados. Podemos
obtener esta herramienta aquí:
www.advanced-ip-scanner.com/es
Su descarga e instalación es tan simple como la de Win32DiskImager. De hecho, si lo deseamos podemos
simplemente ejecutarla, sin que sea necesario realizar una instalación específica para la aplicación.
La ejecutaremos en modo portátil y a continuación haremos clic en el botón Explorar. El resultado puede ser
Página 41 de 68
http://www.advanced-ip-scanner.com/es
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
43/68
Montaje de un sistema de streaming basado en piCorePlayer
algo similar a lo mostrado.
En el resultado de la anterior exploración aparecen dos dispositivos de tipo Raspberry. Para identificar cuál es
el que está ejecutando piCorePlayer simplemente introduciremos alternativamente ambas IP en la barra de
direcciones del navegador hasta encontrarnos con esto:
Página 42 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
44/68
Montaje de un sistema de streaming basado en piCorePlayer
Existen alternativas a Advanced IP Scanner, por ejemplo Angry IP Scanner, que además dispone de versiones
para Windows, OS X y Linux. Puede descargarse aquí:
http://angryip.org/
Su funcionamiento es análogo a Advanced IP Scanner.
Una vez dispongamos de la IP asignada a piCorePlayer / Raspberry Pi, la escribiremos en la barra de direcciones
del navegador para dar comienzo al proceso de configuración. No se nos solicitarán usuario y clave para
conectarnos.
http://IP_de_piCorePlayer
En mi caso:
http://192.168.1.236
El resto de caracteres a la derecha de la IP aparecerán automáticamente al establecer la conexión.
Para finalizar, me gustaría comentar que, contrariamente a lo que ocurría con LMS y en general con cualquier
servidor, tratar de configurar piCorePlayer con una IP estática no aporta ventajas significativas.
Página 43 de 68
http://192.168.1.236/http://ip_de_picoreplayer/http://angryip.org/
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
45/68
Montaje de un sistema de streaming basado en piCorePlayer
3.2.2. Activemos los ajustes avanzados.
El panel de configuración de piCorePlayer dispone de un número muy elevado de ajustes. Para evitar que el
usuario se sienta intimidado por ellos, existen 4 niveles de acceso que limitan el nº de ajustes visibles en
pantalla.
Lamentablemente, para llevar a cabo completamente todo el proceso de configuración no podemos
conformarnos con los ajustes que aparecen de modo predeterminado. Por esta razón, lo primero que vamos a
hacer es convertirnos en expertos de un plumazo activando el nivel de acceso homónimo.
Para ello, tras acceder con el navegador al panel de configuración, nos dirigiremos a la pestaña Main Page y
desde allí haremos clic en el enlace Advanced que se muestra en la parte inferior de la página.
Precisamente a causa del elevado número de parámetros y ajustes disponibles, en lo que queda de esta sección 3.2 dedicada a la configuración de piCorePlayer recorreremos únicamente los ajustes necesarios,
obviando una explicación pormenorizada de cada recoveco del panel de control, que sería interminable.
3.2.3. ¿Necesitamos reproducir ALAC o WMA?
Seguimos en la pestaña Main Page . pCP puede emplear dos versiones distintas de su motor de reproducción,
que como sabemos es el conocido reproductor Squeezelite, desarrollado por Triode:
Página 44 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
46/68
Montaje de un sistema de streaming basado en piCorePlayer
A. Una versión básica, de reducido tamaño (1MB), que es la que viene activada por defecto y con la que
podemos reproducir los formatos de sonido más habituales tales como PCM, WAV, AIFF, FLAC, MP3,
OGG y AAC.
B. Otra, basada en ffmpeg, de un tamaño ligeramente mayor (12MB), que añade la capacidad de
reproducir archivos en formato ALAC (sin pérdidas de Apple) y WMA. Si optamos por ella, lo más
probable es que el tamaño de pCP crezca hasta el punto de no caber en una tarjeta SD de 64MB.
Personalmente he comprobado que es posible disfrutar de esta versión dotada de mayor
compatibilidad en tarjetas SD de 128MB.
Vamos a activar el segundo. Para ello, lo seleccionaremos en el desplegable y haremos clic en el botón Install ,
lo que provocará un reinicio automático de pCP.
Página 45 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
47/68
Montaje de un sistema de streaming basado en piCorePlayer
NOTA Junto a muchas de las opciones de configuración de pCP veremos el texto more>. Si hacemos clic
sobre él se desplegará información adicional acerca el propósito y particularidades de dicho ajuste.
El enlace more> se transformará en less>, que usaremos para replegar la información mostrada.
3.2.4. ¿Cable o WIFI?
Hasta el momento hemos desarrollado el proceso de instalación contando con que nuestra Raspberry Pi está
conectada a la red por cable. Si disponemos de una Raspbberry Pi 3 (que dispone de conexión WIFI de serie) o
tenemos la intención de emplear un módulo WIFI USB, deberemos configurar los ajustes de conexión
correspondientes ( SSID , clave, protocolo de seguridad) en la pestaña WIFI Settings y hacer clic en
Save/Connect . Estos ajustes son los mismos que empleamos para conectar cualquiera de nuestros dispositivos
inalámbricos domésticos (móvil, tableta, etc.). Existe una lista de módulos WIFI USB compatibles aquí:
https://sites.google.com/site/picoreplayer/wifi-dongles
En el resto de esta guía, no obstante, seguiremos utilizando una conexión por cable.
Página 46 de 68
https://sites.google.com/site/picoreplayer/wifi-dongles
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
48/68
Montaje de un sistema de streaming basado en piCorePlayer
3.2.5. Dispositivo de salida.
Ha llegado el momento de indicarle a pCP cuál es el dispositivo de salida. Nos dirigiremos a Squeezelite
Settings.
A grandes rasgos, existen 4 posibilidades excluyentes (es decir, no podremos emitir audio de modo simultáneo
a través de varios dispositivos de salida):
1. Salida analógica a través del jack de 3,5” ( analog out). Tradicionalmente el sonido obtenido a través de
esta inferfaz ha sido de mala calidad, con una resolución equivalente de unos 14 bits y plagado de de
ruidos e interferencias. El problema con las interferencias se ha venido paliando con sucesivas
actualizaciones del firmware de la Raspberry Pi (no así el relativo a la baja resolución del DAC
integrado, que realmente ni siquiera lo es). Parece ser que la circuitería de audio analógico de la
Raspberry Pi 2 y 3 ha sido mejorada hasta el punto de hacer la reproducción (más o menos) aceptable, pero personalmente no lo he probado.
2. HDMI (HDMI audio). El audio se emitirá por la salida HDMI. Esta es la configuración habitual cuando
conectamos la RPi a un receptor multicanal.
3. USB ( USB Audio). Se empleará un DAC conectado por USB a la RPi como dispositivo de salida.
4. I2S ( I2S Audio). pCP es compatible con varios DACs I2S fabricados especialmente para la Raspberry Pi
(aparecen en la lista dentro del desplegable), que se conectan directamente al dispositivo a través de
su conector GPIO. También existen módulos de expansión que, no siendo técnicamente DACs, añaden
una conexión SPDIF para que podamos conectar uno externo. I2S es técnicamente la mejor interfaz,
por lo que muchos usuarios optan por esta opción para tratar de conseguir el mejor sonido posible.
Página 47 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
49/68
Montaje de un sistema de streaming basado en piCorePlayer
Seleccionaremos por tanto la opción deseada y haremos clic en Save . De ser necesario reiniciar Squeezelite o la
Raspberry Pi un mensaje nos advertirá de ello.
NOTA En caso de encontrarnos con problemas podemos reiniciar manualmente tanto Squeezelite (Restart)
como la RPi ( Reboot) desde la pestaña Main Page
:
Además, como pCP carga totalmente en la memoria RAM de la Raspberry, podemos desenchufar el
adaptador de corriente cuando queramos sin miedo a causar corrupción en la tarjeta SD.
Página 48 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
50/68
Montaje de un sistema de streaming basado en piCorePlayer
Vamos a configurar, por ejemplo, pCP para que utilice el módulo de sonido Edirol UA-25 conectado en este
caso a la Raspberry.
NOTA En ocasiones, especialmente si hay otros dispositivos de audio disponibles, no basta con seleccionar USB Audio en el desplegable. En estos casos hay que introducir manualmente en el parámetro
Output Setting de Squeezelite la cadena que lo identifica en el sistema. Para averiguar qué debemos
introducir haremos clic en el enlace more> correspondiente y copiaremos y pegaremos la
identificación asignada al dispositivo elegido. No nos olvidemos de hacer clic en el botón Save
situado al final de la página junto al texto Squeezelite command string (no el que se encuentra en la
parte superior bajo Audio Output).
Página 49 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
51/68
Montaje de un sistema de streaming basado en piCorePlayer
3.2.6. Frecuencia máxima soportada.
piCorePlayer admite audio hasta 192 Khz y 24 bits. Lógicamente, puede que el dispositivo de salida escogido no tenga esta capacidad por lo que se realizará un remuestreo a la frecuencia máxima soportada por él. Aunque
esto debería ser automático, en ocasiones las capacidades del DAC no son correctamente identificadas y la
reproducción no funciona correctamente en algunos casos. Para prevenir esta circunstancia podemos
especificar esta frecuencia máxima utilizando la opción Max sample rate de los ajustes de Squeezelite (de
nuevo, pestaña Squeezelite Settings ).
En el caso del módulo Edirol UA-25 utilizado en esta guía, solo se admite su modo de funcionamiento simple
(sin drivers) con una frecuencia máxima de 48 Khz, por lo que introduciremos 48000 en el lugar indicado y
haremos clic en el botón Save al final de la página.
3.2.7. Ajustes relativos a la reproducción de DSD.
Vamos ahora a configurar todo lo relativo a la reproducción de DSD. Si no estás interesado en esta sección
puedes saltártela tranquilamente.
Para lograrlo, hay dos lugares hacia los que debemos dirigir nuestra atención:
1. El panel de ajustes de DSDPlayer, el complemento para LMS que instalamos en la sección 2.2.3 de esta
guía.
2. La pestaña Squeezelite Settings en la configuración pCP, concretamente el parámetro situado en la
parte inferior de la página denominado Various input.
Distinguiremos dos situaciones posibles en función de si nuestro dispositivo de salida admite DSD nativo
codificado en formato DoP o no.
Página 50 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
52/68
Montaje de un sistema de streaming basado en piCorePlayer
El dispositivo de salida admite DSD.
En este caso poco tendremos que hacer, tan solo asegurarnos de que el complemento DSDPlayer reconoce la
capacidad de pCP de reproducir DSD en formato DoP.
Para conseguirlo, accederemos al panel de configuración del LMS. Si no recuerdas cómo hacerlo puedes revisar
la sección 2.2.1.
No obstante, si has seguido al pie de la letra las instrucciones de la guía habrás asignado previamente una IP fija
(192.168.1.10) al ordenador en el que instalamos LMS (apartado 2.2.6). En ese caso bastará con escribir en el
navegador...
http://192.168.1.10:9000
...para a continuación hacer clic en el botón Configuración , dirigirnos a la pestaña Reproductor y seleccionar
DSDPlayer en el menú que se despliega al hacer clic en Configuración básica .
Deberá aparecer en pantalla el mensaje This player supports native playback of DSD files (este reproductor
soporta la reproducción nativa de archivos DSD).
Página 51 de 68
http://192.168.1.10:9000/settings
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
53/68
Montaje de un sistema de streaming basado en piCorePlayer
El dispositivo de salida *no* admite DSD.
Como hemos visto, por defecto Squeezelite / pCP le anuncia al LMS al que se conecta que es capaz de
reproducir DSD a través de DoP, aunque el DAC conectado no disponga de esta capacidad. Esto supone que
Squeezelite deberá transcodificar al vuelo de DSD a PCM localmente en la Raspberry… y no queremos ni oír
hablar de esta posibilidad dada la manifiesta escasa potencia de este dispositivo. Lo que haremos será forzar la
conversión a PCM en el ordenador que ejecuta LMS.
Para ello, primeramente volveremos a la pestaña Squeezelite Settings de pCP, localizaremos el parámetro
Various input y escribiremos en el cuadro de texto -e dsd (mucho cuidado al escribir para no dejar espacios
adicionales):
Como siempre, no olvidaremos hacer clic en el botón Save .
A continuación accederemos nuevamente al panel de configuración del LMS y nos dirigiremos al panel de
ajustes de DSDPlayer del reproductor:
Configuración ⇨ Reproductor ⇨ Configuración básica ⇨ DSDPlayer
Aquí debe aparecer ahora un mensaje indicando que DSDPlayer convertirá el audio DSD a PCM antes de
enviarlo a pCP ( DSDPlayer will transcode DSD to PCM for this player ).
Página 52 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
54/68
Montaje de un sistema de streaming basado en piCorePlayer
Además, podremos ajustar la calidad de la conversión , el tipo de filtrado (fase lineal, mínima o intermedia) e
incluso algunos de sus parámetros avanzados. Podemos experimentar con ellos a nuestro gusto, aunque
recomiendo mantener Soxr Quality en Very High Quality .
3.2.8. Cuidado con el control de volumen.
En esta sección abordaremos dos aspectos relacionados con el ajuste de volumen y la ganancia por defecto que, de no configurarse correctamente, pueden arruinar nuestra experiencia de uso de piCorePlayer.
Ajuste del volumen.
De modo predeterminado, los reproductores Squeezebox (y piCorePlayer no es una excepción) disponen de un
control de volumen digital. Esto quiere decir que el ajuste de volumen se consigue modificando los valores
numéricos de cada una de las muestras que integran el flujo de audio. Esto resulta muy práctico cuando
utilizamos una app de control, puesto que basta con deslizar el dedo en la pantalla para conseguir el volumen
deseado.
Lamentablemente, este ajuste de volumen digital (digamos que en software
) perjudica la calidad de reproducción, por cuanto destruye la transparencia del sistema, es decir, la capacidad del mismo para
transportar la señal en digital desde la fuente al DAC preservando totalmente su integridad (lo que
comúnmente se denomina funcionamiento bitperfect ).
Cierto es que algunos reproductores como JRiver Media Center o Audirvana utilizan avanzados algoritmos de
ajuste de volumen, que operan con una gran precisión, para minimizar o incluso eliminar este problema. Sin
embargo, como norma general lo aconsejable es realizar el control de volumen en el ámbito analógico ,
típicamente al final de la cadena del sistema en el previo o amplificador (aunque hay DACS e incluso fuentes
digitales que también disponen de esta capacidad).
Página 53 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
55/68
Montaje de un sistema de streaming basado en piCorePlayer
NOTA Si hemos configurado LMS / pCP para reproducir audio DSD en DoP, es imprescindible que el
sistema opere de un modo totalmente transparente, sin posibilidad de ajustar digitalmente el
volumen. En este caso pues no se tratará de una recomendación sino de una necesidad.
Por todo ello vamos a desactivar el ajuste de volumen digital de nuestro tinglado LMS. Lo conseguiremos por
medio del panel de configuración del LMS:
Configuración ⇨ Reproductor ⇨Configuración básica ⇨ Audio
Ajustaremos el parámetro Control de volumen a El nivel de la salida se fija al 100%.
Ganancia ALSA, distorsión digital y otras rarezas.
Llegados a este punto tengo que decirte que tenemos buenas y malas noticias. La mala es que lo que sigue es
ligeramente esotérico y poco intuitivo. La buena es que prácticamente hemos terminado.Vamos a ello.
Página 54 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
56/68
Montaje de un sistema de streaming basado en piCorePlayer
En mis primeras pruebas con piCorePlayer reproduciendo a través de HDMI me encontré con que en
determinados temas parecía percibirse cierta distorsión en determinados pasajes y notas. Mi disco de pruebas
para localizar estos “artefactos” no fue otro que el maravilloso Riverside de Agnes Obel, cuyo piano parece ser
capaz de poner a prueba el correcto funcionamiento de cualquier equipo.
Apenas sonaban los primeros compases de Falling, Catching, tema con que se abre el disco, y esa distorsión se
hacía patente de un modo ocasional y sutil pero perfectamente perceptible, con independencia de la posición del potenciómetro de volumen del amplificador.
El problema desaparecía (lo habéis adivinado) al reducir el volumen digital, exactamente del mismo modo que
ocurre con otro conocido reproductor para Raspberry Pi, Volumio, del que hablo aquí:
http://www.pablofelip.tk/2016/02/volumio-en-raspberry-pi-solucionando.html
Efectivamente, la distorsión tiene su origen en una ganancia de exactamente +4dB que por alguna extraña
razón el sistema de sonido ALSA que reside en el corazón de piCorePlayer aplica en algunos casos. Esta
amplificación produce una saturación en el ámbito digital que es percibida como una distorsión muy
desagradable.
Sabiendo por tanto dónde está el problema, podríamos plantearnos solucionarlo simplemente reactivando el
control de volumen digital en LMS y reduciéndolo poco a poco hasta conseguir eliminarlo. No obstante esta no
es una solución válida ni elegante, a mi modo de ver. No es válida puesto que perderíamos la capacidad de
reproducir audio en DSD / DoP (ver nota anterior) y tampoco es elegante porque podríamos alterar el volumen
de modo accidental desde la app de control en cualquier momento.
Página 55 de 68
http://www.pablofelip.tk/2016/02/volumio-en-raspberry-pi-solucionando.html
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
57/68
Montaje de un sistema de streaming basado en piCorePlayer
Lamentablemente no tendremos más remedio que bucear en las profundidades de la consola del shell (consola
de comandos) Linux de pCP para verificar si ALSA está aplicando esta ganancia adicional y, de ser así,
desactivarla.
Si empleamos un PC basado en Windows, para conectarnos a la consola de comandos de pCP necesitaremos
una aplicación como PuTTY , que podemos descargar aquí:
http://www.putty.org
La descargaremos de un modo análogo a Win32 Disk Imager o Advanced IP Scanner, que ya hemos utilizado
anteriormente. PuTTY no requiere instalación, simplemente ejecutaremos el archivo descargado.
Página 56 de 68
http://www.putty.org/
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
58/68
Montaje de un sistema de streaming basado en piCorePlayer
En el recuadro Host Name escribiremos la IP de la Raspberry Pi (ver apartado 3.2.1) y haremos clic en el botón
Open.
La primera vez será necesario verificar la conexión (clic en el botón Sí ).
A continuación se nos pedirá que introduzcamos usuario (login as ) y clave ( password ), que son:
usuario: tc / clave: piCore
Página 57 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
59/68
Montaje de un sistema de streaming basado en piCorePlayer
Tras hacerlo quedaremos conectados a la consola y podremos introducir ya comandos.
En el caso de realizar este proceso desde un Mac o un PC con Linux bastará con abrir un terminal y escribir el
comando siguiente, seguido de la clave cuando se nos solicite:
ssh -l tc 192.168.1.100
De un modo u otro, ahora introduciremos el comando
alsamixer
Y veremos algo como esto:
El recuadro en rojo destaca el nombre del dispositivo de sonido cuya ganancia estamos revisando. Se trata del
propio dispositivo de sonido interno incluído en el SoC Broadcom que propulsa la Raspberry Pi. Como se
aprecia claramente, la ganancia de +4dB está presente ( dB gain: 4.00), como además sugiere el color rojo del
extremo superior de la barra.
Para solucionarlo basta con pulsar en el teclado la flecha del cursor inferior tantas veces como sea necesario
hasta que dB gain indique 0.00. Eso supone un valor de ajuste del volumen general de 86 en lugar del 100
inicial.
Página 58 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
60/68
Montaje de un sistema de streaming basado en piCorePlayer
Ahora pasaremos a revisar el valor de la ganancia de la Edirol UA-25 que está conectada a pCP por USB. Para
ello hay que pulsar la tecla F6 y seleccionar el dispositivo utilizando los cursores y la tecla INTRO.
Página 59 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
61/68
Montaje de un sistema de streaming basado en piCorePlayer
La Edirol UA-25 no dispone de ajuste de volumen, así que no tenemos que hacer nada en este caso. Para salir,
pulsaremos la tecla ESC . Ahora deberemos guardar los ajustes y cerrar escribiendo secuencialmente los
comandos:
sudo alsactl store && exit
Para finalizar, deberemos configurar pCP para que restaure el nivel de sonido del mezclador ALSA al
establecido cada vez que arranquemos el reproductor. Para ello nos dirigiremos la pestaña Tweaks del panel de
configuración de pCP.
Página 60 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
62/68
Montaje de un sistema de streaming basado en piCorePlayer
Buscaremos la sección Audio tweaks y en ella el ajuste ALSA output level . Deberemos configurarlo a Custom y
hacer clic en el botón Save situado justo debajo.
3.2.9. Activar AirPlay (opcional).
Para concluir ¡por fin!, podemos hacer que pCP aparezca como un altavoz AirPlay en nuestra red. De este modo
será posible enviarle audio desde un dispositivo Apple (ordenador, móvil o tableta) como si de un Airport
Express o un AppleTV se tratase.
El ajuste correspondiente también se encuentra en la sección Audio tweaks de la pestaña Tweaks y se
denomina Shairport-sync, que deberemos configurar a Yes y a continuación hacer clic en el botón Save .
Página 61 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
63/68
Montaje de un sistema de streaming basado en piCorePlayer
4. Una app para controlarlos a todos.
Ha llegado la hora de dedicar unas líneas al modo en que vamos a controlar la reproducción.
De entrada, podemos emplear la propia interfaz web del LMS para hacer prácticamente cualquier cosa. Solo es
necesario un navegador, que podremos ejecutar en un PC, tableta o teléfono móvil, aunque en este último
caso la interfaz no se ajusta bien al tamaño y resulta incómoda de utilizar.
Si buscamos mayor comodidad tendremos que recurrir a una app de control de las muchas que hay. Me
Página 62 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
64/68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
65/68
Montaje de un sistema de streaming basado en piCorePlayer
Veamos algunas capturas de pantalla de iPeng.
Página 64 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
66/68
Montaje de un sistema de streaming basado en piCorePlayer
Página 65 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
67/68
Montaje de un sistema de streaming basado en piCorePlayer
Por otro lado, apps para Android como Orange Squeeze pueden ser empaquetadas de modo que funcionen
dentro de un navegador como Google Chrome en un PC, facilitando así el control del sistema de streaming.
Pero esa es otra historia y será contada en otra ocasión...
Página 66 de 68
-
8/18/2019 Montaje Streamer Basado en PiCorePlayer
68/68
Montaje de un sistema de streaming basado en piCorePlayer
5. Casi 70 páginas y varias horas después.
Llegados a este punto, convendría hacer balance de hasta dónde hemos llegado. Con todos ustedes, un
tinglado de streaming para gente corriente:
○ Altavoces : rescatados de un contenedor.
○ Amplificación: T-Amp Indeed 2x25W (unos 50€).
○ Raspberry Pi modelo B de 1ª generación con adaptador de alimentación de móvil Sony de 1,5 amperios
y tarjeta SD de 512MB (poco más de 50€).
○ Módulo de sonido USB Edirol UA-25 procedente de mi época REW-obsesiva (unos 100€ de 2ª mano).
Lo más caro, sin duda, es el iPad 2 mini utilizado con iPeng como controlador, pero dado que su uso no es exclusivo y en cualquier caso cualquier teléfono móvil + app gratuita puede hacer el papel, ni lo contabilizo.
A cambio del tiempo empleado nos encontramos con un sistema de streaming capaz de garantizar la
transparencia de la señal digital en su camino desde el disco duro en que almacenamos los archivos hasta el
DAC que los devuelve al mundo real, extremadamente flexible y ampliable y funcionalmente idéntico , si no