Mi experiencia con Universal Media Server en Rocky Linux 9

En la entrada de hoy vamos a ver en qué consiste, cómo se instala y configura el producto Universal Media Server, también conocido simplemente como UMS, en un sistema GNU/Linux, concretamente en Rocky Linux 9

Cómo viene siendo habitual he utilizado para las pruebas un VPS ofrecido por mi proveedor de confianza Clouding.io, ubicado en la ciudad donde resido, Barcelona.

Logo UMS oficial

Pero empecemos por el principio.

¿En qué consiste Universal Media Server?

Universal Media Server (UMS) es un servidor de medios de código abierto que permite a los usuarios transmitir y compartir contenido multimedia, como videos, música y fotos, en una variedad de dispositivos y plataformas. Cumple con los estándares DLNA y UPnP A continuación, os dejo unas pinceladas sobre este producto:

Características principales de Universal Media Server:

  • Transmisión de medios: Permite a los usuarios transmitir contenido multimedia almacenado en sus computadoras a una amplia gama de dispositivos, incluyendo televisores inteligentes, consolas de juegos, reproductores multimedia y más.
  • Compatibilidad: Es compatible con numerosos formatos de medios, lo que facilita la transmisión de una amplia variedad de archivos de video, música y fotos.
  • Facilidad de uso: Está diseñado para ser fácil de configurar y utilizar. Los usuarios pueden configurar rápidamente las carpetas compartidas y comenzar a transmitir contenido en cuestión de minutos.
  • Soporte para subtítulos: Admite la transmisión de subtítulos con muchos formatos de video, lo que facilita la visualización de contenido con subtítulos en dispositivos compatibles.
  • Transcodificación en tiempo real: Si un dispositivo de destino no es compatible con el formato de archivo original, UMS puede realizar transcodificación en tiempo real para adaptar el contenido a las capacidades del dispositivo.
  • Actualizaciones regulares: Es una comunidad activa de desarrollo de código abierto, lo que significa que se lanzan actualizaciones regulares para solucionar problemas y agregar nuevas características.
  • Multiplataforma: Está disponible para Windows, macOS y GNU/Linux, lo que permite a los usuarios ejecutarlo en una variedad de sistemas operativos.
  • Gratuito y de código abierto: Es gratuito y de código abierto, lo que significa que los usuarios pueden utilizarlo sin costo y acceder al código fuente para personalizarlo según sus necesidades.

Mi experiencia instalado Universal Media Server en Rocky Linux 9

Tal y como he explicado al principio he utilizado un VPS con el sistema operativo Rocky Linux 9 Lo habitual es utilizar estos productos en nuestra red local, pero como solo es una prueba me he decidido por un VPS en la nube.

Una vez hemos accedido al servidor vía SSH podemos empezar a trabajar. Aquí lo ideal es utilizar un usuario diferente de root con permisos de sudo, y además, entre otras cosas, realizar intercambio de llaves o cambiar el puerto por defecto SSH, cosas esenciales a nivel de seguridad.

Primero lo actualizamos:

sudo dnf update

En el siguiente paso tenemos que instalar «ffmpeg» que no viene por defecto en los repositorios de Rocky Linux 9, por lo que debemos tener habilitados los repositorios de EPEL y RPMFUSION, para ello hacemos estos pasos:

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
sudo dnf config-manager --enable epel,epel-next,crb
sudo dnf install -y https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm

Una vez hecho instalamos las dependencias necesarias:

sudo dnf install java-1.8.0-openjdk ffmpeg

Esto instalará Java OpenJDK 8 y FFmpeg, que son necesarios para ejecutar UMS, además de un buen puñado de librerías necesarias.

Además podemos instalar programas y librerías extras, para ampliar los formatos compatibles, como mencoder, dcraw, mediainfo o vlc.

sudo dnf install mencoder dcraw mediainfo vlc

En el siguiente paso descargamos el producto. Para ello tenemos que ir a la web oficial de Universal Media Server y descarga la última versión para GNU/Linux Puedes utilizar wget para descargar el archivo directamente en tu servidor. Debemos de obtener la URL correcta de descarga. A fecha de esta entrada:

sudo wget https://github.com/UniversalMediaServer/UniversalMediaServer/releases/download/13.6.0/UMS-13.6.0-x86_64.tgz

Una vez hecho esto descomprimimos y ejecutamos el script de instalación:

sudo dnf install tar
sudo tar -xzf UMS-13.6.0-x86_64.tgz
cd ums-13.6.0/
./UMS.sh

De esta manera se iniciará UMS y lo pondrá en funcionamiento. Podemos acceder a la interfaz web de administración desde un navegador en http://IP-del-servidor:9001

Utilizamos UMS por primera vez

Para poder lanzar la aplicación en segundo plano, podemos utilizar herramientas como screen, de la que ya os hablé.

Añadir UMS sobre unidad en Systemd

Lo ideal es no tener que depender del script de arranque para utilizamos UMS, por lo que, una buena idea, es crear una unidad (servicio) para Systemd.

Para ello debemos crear un fichero en la ruta «/etc/systemd/system», llamado ums.service, con el siguiente contenido:

[Unit]
Description=Operaciones sobre UMS
DefaultDependencies=no
After=network.target
 
[Service]
Type=simple
User=davidochobits
Group=davidochobits
ExecStart=/opt/ums/ums-13.6.0/UMS.sh
TimeoutStartSec=0
RemainAfterExit=yes
Environment="UMS_MAX_MEMORY=1024M"
 
[Install]
WantedBy=default.target

Recordar indicar en el parámetro «ExecStart» done tenéis ubicado el fichero «UMS.sh»

Guardamos y salimos

Para añadir esta nueva unidad, realizamos estos pasos:

sudo systemctl daemon-reload
sudo systemctl enable ums.service
sudo systemctl start ums.service

Y para comprobar que todo va bien:

sudo systemctl status ums.service

Alguna cosa más

Si queréis investigar un poco más y llegar a adaptar el producto a vuestras  necesidades, os comento que el producto crea una carpeta oculta dentro de nuestro «home«, llamada en mi caso «/home/davidochobits/.config/UMS«, allí nos encontramos con diferentes archivos.

Dentro de esta carpeta también nos encontraremos con las bases de datos utilizadas por este producto, en este caso son H2.

Y esto es todo por hoy, un saludo.

Fuentes consultadas

Web oficial Universal Media Server

Golinuxcloud.com – Install FFMpeg in Rocky Linux 9