Spiga

Servidor DLNA con la Raspberry Pi


¡Hola de nuevo a todo el mundo!

Tras un periodo de inactividad, vuelvo a la carga con un nuevo tutorial que os servirá para convertir vuestra Raspberry Pi en todo un servidor DLNA/UPnP. Muchos puede que se pregunten la utilidad de dicho servidor, pero si os digo que va a permitir compartir vuestros ficheros multimedia a través de toda la red, que si tenéis una SmartTV, videoconsola de nueva generación, smartphone, tablet, etc... os dejará acceder a dicho contenido de forma instantánea y sin tener que "descargarlo", ¿verdad que os va gustando más la idea? Pues vamos a ello.

Como siempre vamos a ir a por software libre, sencillo de usar y que gaste los mínimos recursos posibles de nuestra pequeña, así que me he decidido por
miniDLNA. Si buscáis información encontraréis muchos otros, pero en particular me gusta la sencillez de dicho software. Empezaremos arrancando nuestra Pi y escribiendo lo siguiente en la terminal:


sudo apt-get install minidlna

Así conseguimos descargar e instalar el paquete de miniDLNA, pero ahora falta configurarlo para que se adapte a nuestras necesidades y el origen de datos sea nuestra carpeta de descargas, de música o simplemente la que nos venga en gana. Sin pensárnoslo demasiado escribiremos:

sudo nano /etc/minidlna.conf

Ahora ya tenemos el fichero de configuración en pantalla así que vayamos a las secciones que realmente interesan configurar. Lo primero va a ser configurar las rutas de los directorios que queremos que indexe, en mi caso voy a decirle que me busque en un HDD externo que le tengo conectado a la Raspberry, por lo que el directorio deberéis ajustarlo a vuestra realidad. Localizamos la entrada:


media_dir=/opt

Fijaros que podemos filtrar en un directorio para que indexe únicamente un tipo de fichero mediante el uso de "A","V" y "P". Si queremos que indexe audio usaremos "A", para vídeo "V" y para fotos "P". Si por el contrario decidimos indexar todo no añadiremos letra. Lo que actualmente está haciendo ésta entrada es indexar contenido multimedia dentro de la carpeta "/opt" sin tener en cuenta el tipo al que pertenece. Como os he comentado anteriormente yo voy a indexar un disco externo que tengo montado, así que en mi caso sería:


media_dir=/mnt/disco/Descargas
media_dir=/home/pi
media_dir=A,/mnt/pendrive/Musica

Se puede añadir más de una entrada a "media_dir", por lo que podemos configurar diferentes carpetas, métodos de indexado, unidades, etc. Si analizamos las tres entrada que he puesto podemos resumirlas en:

  • Indexado de todo el contenido en "/mnt/disco/Descargas"
  • Indexado de todo el contenido en "/home/pi"
  • Indexado de audio de "/mnt/pendrive/Musica"
Espero que el ejemplo quede bastante claro e ilustrado. Lo siguiente que vamos a hacer es darle nombre al servidor, para que cuando accedamos a él desde otro dispositivo sea fácil de encontrar. Para ello bajamos unas líneas hasta que localizamos:


#friendly_name=My DLNA Server

Bastará con eliminar la amohadilla del principio para que deje de ser una línea comentada y pasaremos a poner el nombre que queramos despues del igual. En mi caso lo he dejado así:


friendly_name=RasPi DLNA

Como siempre muy sencillo, ¿verdad? A mi personalmente no me gusta tocar más elementos de la configuración, aunque para el que quiera trastearla puede mirar las distintas opciones que hay y contrastarlas con la ayuda que dispone la web de miniDLNA. El último paso para guardar nuestra configuración es presionar "Ctrl + O" para guardar el documento en "nano" y posteriormente "Ctrl + X" para salir.

Ahora ya tenemos nuestro servidor corriendo, pero debéis tener un par de cositas en cuenta:
  • Para reindexar el contenido hay que hacerlo manualmente (lo prefiero para no gastar los pocos recursos libres de mi Pi)
  • Se nos ha creado un arranque automático en "/etc/init.d/minidlna" (que es lo lógico si pretendéis que arranque con el sistema)
Por último un par de consejos para mantener miniDLNA:
  • Podemos hacer uso de "service" para iniciar (start), parar (stop), reiniciar (restart), ver el estado (status) y forzar la recarga (force-reload) del servicio. Para ello:

sudo service minidlna comando

Donde el comando son cada una de las opciones que os he puesto arriba, siendo las más comunes "start" y "stop".

  • Podemos forzar el borrado de cache con el uso de:

sudo minidlna -R

Y con esto doy por explicado el pequeño tutorial de cómo montarse un servidor DLNA/UPnP con la Raspberry Pi. 

No me despido sin antes deciros que estoy preparando una review de la nueva Raspberry Pi (rev. 2) con 512 MB de RAM, que nos han cedido los chicos de Farnell España (a los que agradezco su colaboración en todo momento) para que podáis conocer las mejoras que supone dicho incremento de memoria en la placa.

Recordad que ya podéis comprar el nuevo modelo en su web al mismo precio que el anterior modelo (todo un chollo).

¡Nos leemos muy pronto! ;)