Creando un digital signage con software libre

Cada vez es más frecuente encontrar con un sistema de digital signage (letreros digitales) en las salas de espera de diferentes espacios públicos, en los que en una pantalla se va mostrando en bucle avisos, vídeos y otra información corporativa (y sí, a veces también publicidad). Aunque esta pantalla ha de disputar la atención a las pantallas de los teléfonos móviles, lo cierto es que sigue logrando captar la mirada de las personas que pasan frente a ellas, lo que los convierte en una herramienta muy interesante para promocionar información interna de una organización.

Es por ello que, en el centro educativo en el que trabajo, se decidió instalar cerca del mostrador de atención de secretaria una pantalla con información del centro. Esta ubicación, además de ser donde esperan las personas para ser atendidas, es una zona de paso del personal y alumnado del centro, con lo que la información mostrada está al alcance de toda la comunidad educativa.

Son muchas las empresas que ofrecen soluciones integrales de digital signage, y también soluciones escalables en las que se puede acceder a un sistema básico y, después, mediante un pago o suscripción, ampliar las prestaciones.

Sin embargo, estas soluciones tienen un importante inconveniente: en todas, de una forma u otra, la información a mostrar en la pantalla ha de ser almacenada en un servidor externo, lo que supone un problema desde el punto de vista de la protección de datos.

Así que, en lugar de usar esas soluciones, se ha tenido que plantear otras aproximaciones que, como veremos, en última instancia han requerido del uso software Libre para encontrar una solución adaptable y económica (gratis).

Pero empecemos por el principio: tras adquirir la SMART TV y montarla en la pared de la zona descrita anteriormente ¿Cómo implementamos el digital signage? Veamos como ha evolucionado la solución.

Primeras soluciones

La primera solución, partía de una premisa muy simple: las SMART TV actuales pueden reproducir vídeos desde un USB enchufado a los conectores traseros (cuidado, algunas teles de última generación ya no llevan reproductor de vídeo por cuestión del licencias). Por tanto, se copian los vídeos a mostrar en un USB, se conecta a la TV, se le da a reproducir en bucle y listo.

El problema es que cada vez que se ha de añadir un nuevo vídeo, hay que ir a la TV a cambiar el USB, lo que puede ser un poco incómodo, sobretodo si la TV está en alto y hay que usar una escalera. Además, es necesario convertir todos los avisos y mensajes en vídeos, por lo que hay que tener a mano un editor de vídeo para ir generando los carteles, lo que hace bastante ineficiente el sistema, sobretodo si los mensajes se actualizan con frecuencia.

Para solucionar el problema del cambio de USB, se creó un servidor DLNA con software libre (miniDLNA) en un ordenador conectado a la red del centro y se compartió el acceso a la carpeta de los contenidos. De ese modo, se podían actualizar los vídeos sin necesidad de coger la escalera. Así, la SMART TV detectaba el servidor DLNA con los vídeos y podía reproducirlos remotamente. Sin embargo, la reproducción en bucle de vídeos por DLNA que tenía este modelo de SMART TV en particular no funcionaba correctamente y había que estar reiniciándolo un par de veces al día, lo que también resultaba incómodo.

WordPress, como no

Llegados a este punto y tras descartar multitud de aplicaciones de digital signage por usar servidores externos para los contenidos, descubrí Foyer, un plugin de WordPress que convierte un blog en un sistema de digital signage.

Foyer: Solucion de digital signage libre y gratuita

Para los que no lo conozcáis, WordPress es un sistema de gestión de contenidos web de código abierto. En origen es una herramienta para crear blogs, pero su versatilidad es tal que, hoy en día, gracias a los plugins, puede utilizarse casi para cualquier tipo de aplicación web.

Así que lo único que hacía falta era una instalación de WordPress para implementar esta solución. Se hizo la instalación en un servidor de la red local y en ella instalé el plugin. Una vez terminado el proceso, tan solo hay que acceder a la URL del blog para acceder a los contenidos de la pantalla, que irán alternándose en bucle con una animación. Básicamente se está haciendo lo mismo que otras soluciones, pero usando un servidor local, sin salir de la red del centro.

Ejemplo de un digital signage creado con Foyer.

Para ver Foyer en funcionamiento en vivo y en directo, basta con acceder a este enlace.

El uso de Foyer es sencillo: una vez instalado y activado en WordPress, aparece un nuevo menú desde el que podemos gestionar tres elementos:

  • Slides: Aquí se crean las diferentes diapositivas que se pueden mostrar. Las diapositivas pueden tener texto y una imagen o vídeo de fondo (el vídeo, incluso puede ser directamente un enlace a Youtube). Además, se pueden crear diapositivas que sean imágenes o documentos PDF.
  • Channels: Aquí se crean secuencias de diapositivas. Se pueden seleccionar entre las diapositivas creadas en la anterior sección y ponen en un orden concreto. Se pueden crear tantas secuencias como se quiera y se les da un nombre.
  • Displays: Podemos crear diferentes pantallas. Cada una tendrá su configuración y una URL específica. A cada display le podemos asignar un canal diferente.
Un ejemplo de canal de diapositivas en Foyer. Las 11 diapositivas se reproducen en bucle en la pantalla.

En mi caso, me basta con un un único display y un canal con 11 diapositivas, que combinan imágenes y vídeos y se van cambiando con frecuencia.

Para terminar de poner en funcionamiento la solución, solo bastaba con hacer que la SMART TV reprodujese la URL del display de Foyer en el navegador. Pero no podía ser tan fácil.

Problemas con el navegador

El problema vino al reproducir la web que genera Foyer en la SMART TV. En primer lugar, la SMART TV no incluía navegador Web y fue necesario instalar uno. Aunque se trata de un SMART TV basado en Android, las aplicaciones a instalar están limitadas por el fabricante y para poder instalar el Firefox se tuvo que realizar una instalación manual mediante un apk.

Pero al poner la URL en el nevagador, la sorpresa fue que las diapositivas con vídeo no se reproducían: se ponía la pantalla en gris y, a los pocos segundos, saltaba a la siguiente diapositiva. Al parecer, era un problema de potencia.

El plugin lo que hace es cargar todos los contenidos de todas las diapositivas en una página de navegador y oculta todo menos la diapositiva que se muestra en cada momento. Esto hace que el navegador requiera muchos recursos para cargar todas las diapositivas en la página y, aunque solo se esté mostrando una. Esto hace que no haya suficiente memoria para reproducir los vídeos.

Cuando se reducía el número de diapositivas, la cosa mejoraba un poco. Pero, aparecía otro problema ya que por motivos de seguridad algunos navegadores bloquean la reproducción automática de vídeos. A diferencia de los navegadores de escritorio, los navegadores para SMART TV están muy limitados en lo que a posibilidades de configuración se refiere y no se podía suavizar esta restricción cambiando alguna opción. Por tanto, con el navegador de la SMART TV sólo se podían reproducir diapositivas con imágenes y texto.

Se pensó también en conectar una Raspberry Pi 4 a la SMART TV con un sistema operativo mínimo que solo mostrase el navegador a pantalla completa, pero aunque mejora las cosas, tampoco soluciona el problema completamente, como se puede leer en el foro de soporte del plugin. Según ese mensaje, con una Raspberry 4 adecuadamente configurada se puede conseguir reproducir principalmente diapositivas de imágenes y una o dos diapositivas con vídeo.

En este punto he de decir que antes de probar Foyer, hice algunas pruebas con otras soluciones (de las que no son completamente gratuitas) y el resultado con Raspberry Pi no fue mucho mejor.

Y de vuelta al ordenador

Por tanto, hacía falta reproducir la web de Foyer con un equipo más potente. Esto se solucionó con un ordenador-de-toda-la-vida (TM). Incluso puede ser el mismo que tiene el servidor (si está cerca de la SMART TV). Así que sacamos un cable HDMI de la TV hasta la ubicación del ordenador, y preparamos el equipo con un sistema operativo que consuma pocos recursos (en nuestro caso un XUBUNTU configurado con el inicio de sesión automático), en el que hemos añadido el siguiente comando para que se ejecute al arrancar el sistema:

firefox --kiosk http://ip.del.servidor/foyertv

Lo que hace ese comando es abrir el navegador Firefox a pantalla completa con la ruta indicada (en este caso, la URL donde se visualiza el Foyer).

Con esta configuración, bastará con encender el ordenador para, a los pocos minutos, tener nuestro digital signage funcionando en la SMART TV. La potencia de un ordenador antiguo (de unos 12 años de antigüedad) con una distro de GNU/Linux y un navegador web de escritorio es suficiente y permite reproducir sin problemas unas 11 diapositivas, 5 de ellas con vídeo.

Nuestro digital signage en pleno funcionamiento

Un pequeño detalle: si queremos ocultar el puntero del ratón, podemos instalar el programa uncuttler y ejecutarlo también al arranque del sistema. De ese modo, a no ser que se mueva el ratón, el cursor aparecerá oculto.

Conclusiones

A modo de resumen, paso a listar los elementos utilizados para montar una solución de digital signage funcional, versátil y gratuita:

  • Una TV (no hace falta que sea SMART TV)
  • Un ordenador conectado a la red (contiene el servidor Web con el WordPress y el plugin Foyer)
  • Otro ordenador (reproduce la URL de Foyer en modo kiosko, podría ser el mismo que antes)
  • Un cable HDMI o VGA (si no queremos tener problemas con pérdida de señal, que no sea de más de 5m)

Y con eso, podremos gestionar nuestras diapositivas accediendo al panel de administración del WordPress desde cualquier ordenador conectado a la misma red.

Las ventajas de este sistema son, además de que es gratuito y de código abierto, es que todos los contenidos se mantienen en local, por lo que no tendremos problemas con la protección de datos.

Como inconveniente, decir que visualmente no es tan llamativo como otras soluciones comerciales ni tiene plugins que permitan vincular el sistema con otros servicios que se puedan incluir en la pantalla (como hora, noticias, climatología…).

Sin embargo, no deja de ser una solución de código abierto, por lo que, con los conocimientos adecuados, todo lo que se nos ocurra, puede ser implementado.