Mi Blog
👉 Cómo montar un servidor DLNA en Raspberry Pi

Cómo montar un servidor DLNA en Raspberry Pi

 
(6 votos)

La tecnología DLNA o Digital Living Network Alliance está presente en los televisores, en dispositivos como el Roku, en PlayStations en Xbox One, etc... Además, gracias a las aplicaciones también funciona en tu portátil, en tus discos duros NAS e incluso en tu teléfono móvil. Se trata de un estándar cuyo objetivo es comunicar tus dispositivos de forma sencilla y directa para compartir archivos entre ellos.

Seguid leyendo y os enseñaré de forma rápida a configurar una Raspberry Pi para que funcione como un servidor DLNA ...

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

¿QUÉ ES UN SERVIDOR DLNA?

Un servidor de DLNA es un dispositivo que se utiliza para compartir contenido multimedia a través de una red doméstica. DLNA significa Digital Living Network Alliance, una organización que establece estándares para compartir medios digitales a través de redes. Un servidor DLNA puede almacenar imágenes, videos, música y otros archivos de medios y hacer que estén disponibles para otros dispositivos compatibles con DLNA en la red. Algunos ejemplos de dispositivos que pueden acceder a un servidor DLNA son TV, consolas de juegos, reproductores de Blu-ray y teléfonos inteligentes. Con un servidor DLNA, los usuarios pueden disfrutar de sus contenidos multimedia en diferentes dispositivos conectados a la red sin tener que transferir físicamente los archivos.

 

 

Con MiniDLNA puedes convcertir tu Raspberry Pi en un sdervidor DLNA

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Una Raspberry Pi con S.O. Raspbian, OSMC o similar
  • Conexión a Internet
  • Dispositivo cliente (PC/Smartphone/Smart TV) compatible con DLNA.

 

 

2.- INSTALAR EL SERVIDOR DLNA

Lo primero que debemos hacer es actualizar la lista de ficheros disponibles en el repositorio, para ello ejecutaremos el comando:

[osmc@osmc]$ sudo apt-get update

 

 

Una vez actualizada la lista, instalaremos el servidor de DLNA con el comando:

[osmc@osmc]$ sudo apt-get install minidlna

 

 

En la siguiente imagen se puede ver un esquema de la red local de mi casa y todo interconectado entre sí al DLN a través de una viaja Raspberry Pi 1 B+:

Servidor DLNA Raspberry PiEsquema DLNA en mi casa

 

 

 

 

3.- CONFIGURAR MINIDLNA

Configurar el servidor MiniDLNA es muy sencillo si lo único que queremos es compartir archivos en nuestra red sin grandes y costosas configuraciones. El fichero /etc/minidlna.conf es el fichero de configuración que deberemos editar. La configuración básica es muy sencilla.

Primero debemos seleccionar los directorios/dispositivos donde tenemos los ficheros multimedia que queremos compartir. En mi caso tengo 2 USBs y el $HOME del usuario osmc, por tanto, añado 3 líneas, uno por cada recurso compartido y como solo tengo ficheros de video, el tipo de media_dir será V: 

# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)
# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)
# * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
media_dir=V,/media/KINGSTON
media_dir=V,/media/USB128GB
media_dir=V,/home/osmc

 

 

Dejaremos por defecto el puerto donde podemos interactuar con MiniDLNA y ver las estadísticas de ficheros y usuarios:

# Port number for HTTP traffic (descriptions, SOAP, media transfer).
# This option is mandatory (or it must be specified on the command-line using
# "-p").
port=8200

 

 

La variable "friendly_name" sirve para ponerle el nombre del servidor DLNA, en mi caso lo dejo por defecto pero podéis cambiarlo:

# Name that the DLNA server presents to clients.
# Defaults to "hostname: username".
friendly_name=osmc

 

 

Activaremos inotify para que MiniDLNA añada/borre de forma automática los ficheros a la base de datos. No funciona muy bien y más adelante os mostraré un pequeño workaround:

# Automatic discovery of new files in the media_dir directory.
inotify=yes

 

 

Tras los cambios, debemos reiniciar el servicio de MiniDLNA con el siguiente comando:

[osmc@osmc]$ sudo systemctl restart minidlna

 

 

Comprobaremos que el servicio está Active y Running con el comando siguiente:

osmc@osmc:~$ systemctl status minidlna
* minidlna.service - MiniDLNA lightweight DLNA/UPnP-AV server
Loaded: loaded (/lib/systemd/system/minidlna.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-07-18 21:17:45 CEST; 1 weeks 0 days ago
Docs: man:minidlnad(1)
man:minidlna.conf(5)
Process: 335 ExecStart=/usr/sbin/minidlnad -f $CONFIGFILE -P /run/minidlna/minidlna.pid $DAEMON_OPTS (code=exited, status=0/SUCCESS)
Main PID: 472 (minidlnad)
Memory: 4.6M
CGroup: /system.slice/minidlna.service
`-472 /usr/sbin/minidlnad -f /etc/minidlna.conf -P /run/minidlna/minidlna.pid -r

 

 

4.- ESTADÍSTICAS DE FICHEROS Y CLIENTES CONECTADOS

Para acceder a las estadísticas de los ficheros compartidos y los clientes conectados recientemente y el número de conexiones debemos acceder desde el navegador web a la IP y al puerto 8200 del servidor MiniDLNA. En mi red, por ejemplo, la dirección URL es http://192.168.1.2:8200:

Servidor DLNA Raspberry Pi

 

 

5.- WORKAROUND AL PROBLEMA DE INOTIFY

iNotify en RaspberryPi y MiniDLNA no funciona correctamente en muchas veces, por lo tanto, es necesario reiniciar el servicio de MiniDLNA, reiniciar la RaspberryPi o refrescar la base de datos de MiniDLNA, lo que a veces resulta muy molesto. Como workaround, podéis programar una tarea en crontab cada X minutos que refresque la base de datos. En mi caso, refresco la base de datos cada 15 minutos. Si no sabéis programar tareas en GNU/Linux os recomiendo leer primero mi tutorial: Cómo programar tareas en GNU/Linux.

Entonces, en la RaspberryPi, tenéis que programar la siguiente tarea:

# m h dom mon dow command
*/15 * * * * /usr/sbin/minidlnad -r

  

 

6.- UTILIZAR VLC COMO CLIENTE DLNA

Para reproducir contenido desde VLC de un servidor de la red local a través de DLNA, debemos ir a "Red Local" -> "Plug'n'Play Universal". En VLC aparecerá el servidor DLNA (osmc en nuestro caso) y podremos movernos a través de sus carpetas y reproducir su contenido como si estuviera en nuestro dispositivo:

Servidor DLNA Raspberry PiDLNA y VLC

 

 

7.- UTILIZAR KODI COMO CLIENTE DLNA

Kodi lo podemos utilizar en Smart TVs, PCs, Smarthptones, Android TVs ... por tanto, es muy versátil al igual que VLC, aunque necesita más memoria/procesador para que funcione correctamente. Lo primero que debemos hacer es añadir una nueva fuente de videos, para ello iremos a "Add Video Source" (si lo tenemos en inglés) y hacer click en Browse:

Servidor DLNA Raspberry PiAñadir fuente de videos

 

 

Seleccionamos el tipo de fuente, en nuestro caso "UPnP devices":

Servidor DLNA Raspberry PiAñadir dispositivos UPnP

 

 

Tenemos 2 opciones, seleccionar el dispositivo encontrado, en este caso OSMC o dejar a Kodi que autodescubra TODOS los servidores DLNA de la red. En este ejemplo dejamos que Kodi busque siempre todos los servidores DLNA y para ello debemos seleccionar la primara carpeta y darla a OK:

Servidor DLNA Raspberry PiAñadir todos los dispositivos UPnP

 

 

Como se puede ver, en el nombre asignado pone "Auto-Discover":

Servidor DLNA Raspberry PiAuto-Discover para UPnP

 

 

Ahora desde la parte de Videos del menú principal podremos movernos a través del servidor DLNA y ver su contenido como se puede ver en la imagen siguiente:

Servidor DLNA Raspberry PiListado de ficheros de video

 

 

Y en la siguiente imagen se puede ver como se reproduce un video 4K reproduciéndose a través de Wifi, con Kodi y DLNA:

Servidor DLNA Raspberry PiReproducción 4K a través de la red Wifi DLNA

 

 

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!
AVISO DE COOKIES

Esta página web utiliza cookies propias y de terceros para fines funcionales (permitir la navegación web), para optimizar la navegación y personalizarla según tus preferencias asícomo para mostrarte publicidad en base a tu perfil de navegación (p.e páginas visitadas).

Privacidad