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! ;)

8 comentarios:

  Hector

25 de diciembre de 2012, 0:25

Magnifico tutorial. Pero tengo una dudilla. Cual seria la ruta que debo poner para acceder a los archivos alojados en un HD interno (lo uso exclusivamente para alojar los archivos multimedia) conectado por la faja IDE? Este disco lo tengo puesto con el nombre FOTOSVIDEOS y supuestamente su ruta es /media/FOTOSVIDEOS pero al poner esta ruta en el archivo de configuracion del minidlna, y posteriormente reiniciar el minidlna, no veo ninguna carpeta ni archivo del HD. La verdad es que no se que leches hacer ya porque no le encuentro solucion. Gracias de antemano

  Hector

25 de diciembre de 2012, 2:48

Soy yo otra vez...cosa curiosa: he probado colocando en un portátil con ubuntu ( lo que me pasa en el post de arriba es con el pc de mesa) un pendrive y poniendo la ruta /media/(nombre del USB) en el archivo de configuracion y funciona. He probado pinchando un disco duro externo USB y tambien me funciona. Con lo cual puede ser debido o a que solo admite dispositivos que se conecten por USB y no por IDE o que en el portátil tengo ubuntu 12 y en el de mesa creo recordar que es el 11 punto algo

  Javier Molina Marcilla

12 de enero de 2013, 11:54

Muchas gracias!!! Me ha servido de mucha ayuda!!! Una preguntilla, como indexas los ficheros manualmente???

  DaRKnSiS

21 de enero de 2013, 21:40

Perdón por la tardanza. Hector, ¿estás en una Raspi o en una distro normal? Si es IDE o USB es lo de menos, lo importante es la ruta. Piensa que si el dispositivo no se monta con el sistema (sino que debes hacerlo manualmente) no te indexará nada.

Javier, simplemente con: sudo minidlna -R

  Javier Molina Marcilla

16 de febrero de 2013, 17:27

Se me olvido pasar por aqui para comentarte que funcionó correctamente!! Muchisimas gracias!!!

  Jorge G

27 de febrero de 2013, 6:01

Gracias, funcionó perfectamente con mi pi y una lg smart tv

  Jorge G

27 de febrero de 2013, 6:01

Gracias, funcionó perfectamente con mi pi y una lg smart tv

  José Ignacio Redondo

23 de diciembre de 2013, 20:44

Gracias a tus apuntes lo tengo funcionando a la primera.