Instala y configura un servidor DLNA en un servidor con Linux

Instala y configura un servidor DLNA en un servidor con Linux

Alberto López

Hoy en día compartir contenido multimedia a los dispositivos de nuestro hogar es más sencillo que nunca, podremos compartir contenido desde nuestro servidor NAS o directamente desde un servidor basado en Linux, instalando el programa miniDLNA que nos permitirá compartir el contenido fácilmente. Un servidor DLNA nos va a permitir compartir audio, vídeo y fotos a las TV, smartphones, tablets y cualquier dispositivo con pantalla. Este contenido se puede reproducir en cualquier dispositivo compatible con UPnP/DLNA. Hoy en RedesZone os vamos a enseñar cómo podemos configurar nuestro servidor DLNA en cualquier servidor Linux.

¿Para qué me sirve un servidor de medios DLNA?

Actualmente la gran mayoría de routers con puerto USB disponen de un servidor de medios DLNA, esto significa que, si conectamos un disco duro externo o un pendrive, podremos reproducir contenido multimedia en cualquier dispositivo que esté conectado a la red local doméstica, sin necesidad de hacer nada más. Sin embargo, es posible que nuestro router no sea lo suficientemente potente como para realizar esta tarea, sobre todo porque se utiliza mucho procesador para leer la película o serie que vayamos a reproducir, y, dependiendo del bitrate del contenido multimedia, es posible que no sea suficiente. Por este motivo, lo más normal es utilizar un servidor DLNA externo, en cualquier servidor basado en Linux como un Debian en un NAS, una Raspberry Pi o cualquier dispositivo.

Un servidor DLNA en un servidor con sistema operativo Linux nos va a servir para todo esto:

  • Permite que nuestra TV detecte el servidor, y reproduzca el contenido (audio, vídeo y fotos) que haya en el servidor.
  • Otros dispositivos como smartphone, tablets e incluso nuestra consola también podría detectarlo y reproducir vía WiFi el contenido del servidor DLNA.
  • Podremos conectar otros dispositivos como altavoces compatibles.

Lógicamente, es necesario que todos los dispositivos tengan compatibilidad con el servidor DLNA que vamos a instalar.

Servidores DLNA que podemos usar

Uno de los servidores DLNA más utilizados es el popular miniDLNA, que es compatible con muchos sistemas operativos y con casi todos los dispositivos. En nuestro caso, es el que mejor resultado nos ha dado siempre, aunque existen otros como Fuppes que también funcionan muy bien (integrado en el sistema operativo orientado a NAS XigmaNAS). Otros servidores DLNA ampliamente utilizados es, por ejemplo, Plex Media Server, que no solamente incorpora Plex sino también un servidor DLNA integrado para aquellas TV que no son compatibles con su aplicación.

Las principales características de miniDLNA es que es un servidor DLNA que consume muy pocos recursos, tanto a nivel de CPU como de RAM, todo funcionará realmente rápido, y la carga de CPU será la propia acción de leer el contenido multimedia de un disco externo. Este servidor DLNA se puede instalar en cualquier Linux, independientemente del hardware, aunque lógicamente necesitamos que sea algo potente para no tener ningún problema, y debemos tener en cuenta su consumo eléctrico porque estará activado las 24h del día. Otras características son que tiene una configuración realmente sencilla, pero un detalle muy importante es que no permite transcodificación de audio y/o vídeo, de esta forma, debemos asegurarnos que nuestra TV soporta los diferentes formatos de vídeo que existen.

En RedesZone llevamos más de 5 años utilizando miniDLNA, y en todo este tiempo no hemos tenido ningún tipo de problema a la hora de reproducir contenido multimedia, excepto en aquellas TV antiguas que no soportan los nuevos códec de vídeo como H.265, pero si tu TV es nueva (relativamente) no deberías tener ningún problema.+

Instalación de miniDLNA y puesta en marcha

El programa miniDLNA es tan conocido que lo tenemos disponible en los repositorios oficiales de las principales distribuciones de GNU/Linux, por tanto, lo tendremos a través del gestor de paquetes. En este tutorial hemos utilizado Debian 10, pero podéis usar cualquier versión como Ubuntu, Linux Mint o cualquier otra distribución, porque el funcionamiento en todos ellos es exactamente el mismo.

Lo primero que debemos hacer es instalar miniDLNA con todas sus dependencias:

sudo apt install minidlna

Una vez instalado, arrancamos el servicio de miniDLNA:

sudo service minidlna start

De manera automática, este servicio se arrancará con el sistema operativo, no tenemos que hacer absolutamente nada más, tal y como podéis ver cuando ponemos:

sudo service minidlna status

Configurar el servidor miniDLNA

Este servidor DLNA se configura a través de un único archivo de configuración que tendremos que editar, por tanto, facilita enormemente su configuración y puesta en marcha, porque no tendremos que editar varios, tan solo uno. Para editarlo, utilizaremos cualquier editor de texto, normalmente se utiliza vim o nano, en nuestro caso, vamos a utilizar nano.

sudo nano /etc/minidlna.conf

En el propio archivo de configuración tendremos toda la documentación necesaria para la puesta en marcha del servidor DLNA, pero en RedesZone os vamos a explicar en detalle cómo configurarlo, ya que viene en inglés. Un detalle importante, es que tenemos disponible una página man (manual) del servidor de medios miniDLNA, por tanto, podremos obtener más información acerca del funcionamiento.

man minidlna

Lo primero que tenemos que aprender es a cargar las fuentes de contenido multimedia, dependiendo de si tenemos vídeo, audio o fotografías, la sintaxis sería la siguiente:

media_dir=A,/home/bron/multimedia/audio

media_dir=P,/home/bron/multimedia/fotos

media_dir=V,/home/bron/multimedia/videos

Tal y como podéis ver, si queremos cargar «A» es audio, P son fotos, y V son vídeos, de esta forma, en la TV nos aparecerá perfectamente clasificado. Si queremos que nos aparezcan vídeos y fotografías, también podríamos hacerlo, ideal para cámaras de fotos que también graban vídeo:

media_dir=PV,/home/bron/multimedia/camara_fotos

Otra sentencia que debemos configurar es dónde almacenar la base de datos de DLNA, en este caso, se hace descomentando la siguiente línea:

db_dir=/var/cache/minidlna

Lo mismo ocurre con el directorio de los logs o registros, por si hay algún tipo de error:

log_dir=/var/log/minidlna

El resto de opciones de configuración las podemos dejar de esta forma:

port 8200

friendly_name=servidor-DLNA

inotify=yes

notify_interval= 30

Todas las sentencias las tenemos ya escritas en el archivo de configuración, pero se encuentran comentadas, así que deberemos descomentarlas para que se activen. Una vez que lo hayamos configurado, guardamos el archivo de configuración y procedemos a realizar un reinicio del servidor DLNA para que aplique los cambios correctamente.¡

sudo service minidlna restart

Una vez que hayamos hecho todo esto, ya podremos acceder a nuestra TV o smartphone y probar el servidor de medios DLNA.

Configurar el firewall del servidor Linux

En todos los sistemas operativos Linux siempre está funcionando el firewall, normalmente basado en iptables, pero tenemos un «permitir todo» de forma predeterminada, por tanto, no tendrás que crear ninguna regla adicional para acceder al servidor de medios DLNA. Si tienes configurado el firewall iptables en modo restrictivo con «denegar todo», entonces sí tendrás que introducir dos reglas para su correcto funcionamiento.

iptables -A INPUT -p tcp --dport 8200 -j ACCEPT

iptables -A INPUT  -p udp --dport 1900 -j ACCEPT

Suponemos que tienes tan solo una interfaz de red y una subred, en caso de querer filtrar por puerto o subred, tendrás que añadirlo, esta regla es únicamente para permitir acceso local a los dos puertos definidos anteriormente.

Si quieres que estas reglas en el firewall persistan, tendrás que ejecutar la siguiente orden:

iptables-save > /etc/iptables/rules.v4

Ahora ya podremos comprobar si todo está funcionando correctamente con el cliente DLNA que nosotros queramos, como una TV, smartphone o tablet.

Comprobar el estado del servidor miniDLNA

Si accedemos vía web a nuestra dirección IP local o desde cualquier equipo, y ponemos el puerto 8200, accederemos a la interfaz web de estado de miniDLNA. Aquí solamente veremos la librería de medios, el número de archivos de audio, vídeo e imágenes. También podremos ver los clientes conectados actualmente al servidor de medios DLNA, con su dirección IP, dirección MAC y el número de conexiones.

En nuestro caso, hemos puesto:

http://localhost:8200

Reproducir el contenido de nuestro servidor DLNA

Ahora que ya hemos instalado todo correctamente, lo único que debemos hacer es buscar el servidor DLNA en la red local. Dependiendo de qué cliente (dispositivo) utilices, tendrás que utilizar una serie de programas:

  • TV: En todas las TV, el reconocimiento de los servidores de medios DLNA es algo totalmente automático, nos aparecerá en la sección superior o inferior donde aparecen los dispositivos de almacenamiento extraíble.
  • PC con Windows, Linux o MacOS: podemos usar KODI o VLC, las dos mejores opciones para todas las plataformas.
  • Android: VLC o BubbleUPnP son dos aplicaciones que nos permitirán buscar el servidor DLNA en el entorno y reproducirlo.
  • iOS: VLC

En todos estos programas, nos deberemos ir a la sección de «Red» y buscar alguna opción como UPnP o DLNA, y automáticamente nos saldrá nuestro servidor DLNA recién configurado, si no sale en ningún dispositivo, os recomendamos verificar el firewall de iptables, y también si está activado.

Tal y como habéis visto, instalar y configurar un servidor DLNA en nuestro servidor NAS o Linux es realmente fácil, tan solo tenemos que instalarlo y configurar un archivo de texto que no tiene mucha dificultad.

¡Sé el primero en comentar!