martes, 6 de septiembre de 2016

Cómo Instalar y configurar un servidor streaming DLNA el MiniDLNA en Linux - Servidor de Vídeos y películas en tu casa u oficina con Ubuntu

Cómo Instalar y configurar un servidor streaming DLNA en Linux con MiniDLNA

Una Servidor de Vídeos-películas en casa u oficina con Ubuntu 


DLNA es un servicio de streaming, con el objeto de tener vídeos, fotos o música, disponible en una red local, de forma que los usuarios de la misma tengan en un solo sitio estos datos multimedia fácilmente accesibles desde cualquier equipo, tablet o teléfono smartphone. Existen muchos servidores de streaming, pero este uno o el más liviano de los que existen, con un funcionamiento aceptable y muy fácil de utilizar.

MiniDLNA, es un servidor streaming, para vídeos, fotos y música, que funciona perfectamente en equipos con poca potencia y consume muy poco recursos del mismo,  con lo cual lo podemos usar en nuestro actual equipo si queremos o utilizar uno antiguo.


Podemos dar vida a un equipo viejo, inclusive un portátil que ya no da la talla e instalar una distro Linux de este eficiente servidor. Su instalación no lleva más que unos pocos pasos t su configuración es fácil.

Para su instalación en distros basados en Debian (Ubuntu, Linux Mint, Knopixx, MEPIS, etc) y usando el modo gráfico en donde sea posible. Si usas un servidor puedes utilizar como editor el vi, y para explorar archivos no queda otra que usar los comando directamente sobre los directorios

Lo primero que haremos es actualizar el sistema mediante los siguientes comandos:

    sudo apt-get update

    sudo apt-get upgrade

Nota.- Si no haz realizado estas acciones antes, estos pasos pueden tomar bastante en tiempo  y deberías hacerlo mas a menudo en tu equipo, con lo cual si es tu caso, ahora solo tienes que tener paciencia y no dejar estas acciones cotidianas para cuando debas realizar alguna instalación.


Luego escribimos el siguiente comando:

sudo apt-get install minidlna


Si aparece un error diciendo:

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias    
Leyendo la información de estado... Hecho
E: No se ha podido localizar el paquete minidlna

Debes instalar el repositorio, que haremos escribiendo los siguientes comandos:

sudo add-apt-repository ppa:djart/minidlna
sudo apt-get update

Luego ejecuta de nuevo

sudo apt-get install minidlna



Pulsamos S y la instalación continuará hasta el final.

Luego que termine la instalación nos toca editar el archivo de configuración del servidor minidlna y para ello escribiremos en la consola el siguiente comando:

sudo gedit /etc/minidlna.conf
     
Lo anterior abre el archivo que tendrá un aspecto parecido o igual al siguiente:


Buscamos la siguiente sección en el contenido del archivo


Debemos escribir aquí los sitios donde se encuentran nuestros archivos multimedia, que queremos compartir, fotos, vídeos y audio. Podemos hacerlo donde deseemos, pero aconsejo no descomentar la lineas ya escritas para usarlas como referencia.

Veamos como se componen estas sentencias que tenemos que configurar:

mediar_dir =

Es la variable que utiliza MiniDlna para conocer el sitio donde están los archivos.

A, P o V, son indicadores que indican que tipo de archivo están en el directorio

Por ejemplo:

media_dir=A,          Serían audios, música, sonidos
media_dir=P,           Serían fotos e imágenes
media_dir=V,          Serían vídeos, películas

En un solo directorio podemos combinar el contenido, por ejemplo:

media_dir=PV,       Serían fotos y vídeos

Una vez que se tenga el/los tipo(s) de archivo(s), lo que falta es escribir el sitio (el camino) donde se encuentran los archivos

Por ejemplo:

Localizamos la carpeta donde están los archivos, indicando el camino (path) de los mismos

Camino principal o matriz= /home/josem/

Si no estamos claros en donde se encuentra, lo podemos obtener mediante el explorador de archivos Nautilus, colocándonos encima del icono del directorio (supongamos películas) donde están o estarán los archivos y pulsando botón derecho y luego Propiedades.


Sino no tenemos la versión gráfica , como comenté al principio habrá que usar los comandos, como cd y ls para buscar moviéndonos de carpeta en carpeta y revisar el contenido.

Aquí vemos en que lugar esta el directorio que hemos seleccionado.


En la imagen de arriba vemos claramente en que lugar esta la carpeta películas

Entonces lo que resta es completar el camino de la siguiente forma:

/home/josem/peliculas 

Y luego lo añadimos a la variable media_dir= que hemos venido construyendo.

media_dir=V,/home/josem/peliculas

Ya tenemos configurado muestro directorio y para crear las demás solo es cuestión de seguir el mismo procedimiento o copiar y pegar lo anterior y cambiar lo pertinente. Por ejemplo las dos siguientes lineas que solo cambia la carpeta final y la letra indicando el tipo de archivo:

media_dir=P,/home/josem/fotos
media_dir=A,/home/josem/musica


Incluir Particiones Adicionales, Discos Adicionales y/o externos

Muchos de nosotros disponemos de discos, que particionamos para montar diferentes sistemas operativos o tenemos discos adicionales o externos mediante USB, en estos casos tenemos que hacer varias acciones adicionales, unas previas y otras posteriores, ya que estás unidades deben ser montadas previamente para que podamos darles el servicio dlna a los contenidos multimedia.

Aquí quiero hacer la observación que este sistema que vamos a ver puede arrancar/iniciar desde los dos discos, con lo cual, cuando arranque por uno el otro será el que no será montado al inicio y viceversa. La razón es que hay varios sistema operativos instalados, Ubuntu 14.04, Windows7 en uno, y Ubuntu 16.04 y Windows 10 en otro.

Aquel por el cual iniciemos, determina que el otro es el adicional desde su punto de vista , es decir, si inicio con el Ubuntu 14.04 y Window 7, para el Ubuntu 14.04 el disco adiocnal es aquel donde está instalado el Ubuntu 16.04 y Windows 10.

Hay que tener esto en mente a la hora de realizar las acciones que viene a continuación.



Con el comando fdisk -l podemos identificar los discos y sus particiones, ya que muestra lo que esta conectado fisicamente al equipo.

Escribimos el siguiente comando en la consola (ojo es una L en minúscula)

sudo fdisk -l


Buscamos esta parte en donde podemos ver cada disco que nos interesa (en mi caso), identificados como /dev/sda y /dev/sdb cada uno y  las particiones de cada disco,  y cada partición muestra que sistema de archivos tienen:


Debemos ser capaces de ver estos disco y reconocerlos, en este punto si nos estamos claros, lo aconsejable es no seguir adelante y pedir ayuda.

Como vemos en la imagen anterior, el equipo tiene dos discos duros identificados como /dev/sda uno con 465,8 GB equilvante a ser vendido cono de 500 GB y /dev/sdb el otro de 223,6 GB equivalentes a ser vendido como de 240 GB

El disco sda, tiene 5 particiones, y por la columnas Size y Tipo sabemos que:

una sda1 tiene 100 MB    NTFS
una sda2 tiene 372,1 GB NTFS,
una sda3 tiene 1 particion lógica extendida que se subdivide en las dos ultimas particiones 
una sda5 tiene 3,9 GB Linux swap (Area de intercambio)
una sda6 tiene 89,6 GB Linux

El disco sdb, tiene 2 particiones
una sdb1 111,8 GB Linux
una sdb2 111,8 GB NTFS

Ahora vamos a usar este segundo comando que es el que realmente nos aportará un dato que necesitamos para poder montar las particiones deseadas al inicio. El dato que necesitamos es un parametro UUID  

sudo blkid



El UUID son las siglas en ingles de Universally Unique IDentifier, "universalmente único identificador" o mejor entendido en español "Identificador Único Universal", y es utilizado como código identificador  para crear identificadores únicos universales que permitan reconocer y distinguir un objeto dentro de un sistema de archivos en este caso. Es utilizado para crear identificadores únicos universales que permitan reconocer e distinguir un objeto dentro de un sistema, o el mismo objeto en diferentes contextos.

El parámetro es el que necesitamos para definirlo en el archivo fstab, que es el que el Ubuntu usa para montar la unidades al inicio del sistema.

Como dice el párrafo anterior, este archivo es el que utiliza Ubuntu para montar la unidades al inicio. Si cometes un error aquí, el sistema puede que no se inicie o lo haga incorrectamente.

OJO.- ES MUY RECOMENDABLE HACER UNA COPIA DE SEGURIDAD DEL ARCHIVO "fstab", AUNQUE SEAS UN EXPERTO. MAS AUN SI NO LO ERES. EL RESPALDO LO PUEDES DEJAR EN EL MISMO DIRECTORIO COMO "fstab-respaldo". 

SI ERES INEXPERTO, LLAMA A UN AMIGO EXPERTO O AVANZADO.

Creo que lo anterior lo tenemos asumidos todos aquellos que usamos cualquier tipo de distro Linux. Hacer respaldos es lo cotidiano.

Por otro lado, es recomendable que si no estas acostumbrado a instalar servidores o cualquier otra aplicación en Linux, que conlleve modificar archivos sensibles, lo hagas previamente en VirtualBox.

Si el sistema no arranca de nuevo simplemente entras mediante el CD o USB de instalación e inicias en modo de prueba,  y restauras el respaldo. Una forma perfecta para saber que debes y no debes no tocar.

Ahora volvamos a la instalación del MiniDLNA.

El fstab debe estar en el directorio /etc/ del sistema, visto desde el explorador de archivos nautilus lo encontramos pulsamos en equipo y luego en la carpeta etc, como vemos ne la imagen de abajo:

Abrimos el archivo desde un terminal escribiendo en la consola el siguiente comando:
sudo gedit/etc/fstab


Vamos al final del archivo y añadimos tantas lineas como particiones tengamos para compartir, especidifcando la UUID de cada una


Vamos a montar la unidades en el directorio /media/ y le asignamos un nombre como vemos en las líneas añadidas a el archivo. Luego el nombre, son los que luego usaremos en el archivo de configuración miniDLNA. Le ponemos un nombre, para no tener que utilizar el UUID, que induce a cometer errores y además no tiene un significado evidente que relacione la partición con el contenido de esta.

Ahora vamos acceder a nuestro archivo de configuración del miniDLNA, minidlna.conf ubicado en /etc/. Para ello ejecutamos el siguiente comando:

sudo gedit /etc/minidlna.conf


De nuevo tenemos abierto el archivo minidlna.conf, pero esta vez es para definir la ubicación de los archivos multimedia a compartir que se encuentran en particiones ubicadas en discos adicionales o externos, al sistema que está corriendo.

El procedimiento es el mismo, es decir, señalar el camino en donde se encuentran las archivos


Estas lineas pueden ser añadidas a las que previamente hubiéramos añadido antes, donde simplemente nos referíamos a la ubicación del usuario, de tal forma de usar todos los disco disponibles. De nuevo si no estas seguro de lo que haces mejor pide ayuda.

Ahora haremos una modificaciones para mejorar nuestro servidor de multimedia, como es personalizar el nombre del servidor. Para ellos buscamos la siguiente etiqueta friendly_name ,en el archivo minidlna.conf:



Lo modificamos o añadimos, si no se encuentra, y le colocamos el nombre que deseemos, por ejemplo MiniDLNA-Ubuntu.

Ahora busquemos en el archivo minidlna.conf, un poco mas abajo de friendly_name, el siguiente parametro inotify, si exsite como #inotify quitamos #




Aquí ejecutaremos los siguientes comandos que regenerarán el archivo donde se encuentra la base de datos del MiniDLNA con esta información:

sudo rm -f /var/lib/minidlna/files.db  &&  sudo service minidlna restart




Ya tenemos hecho lo principal y básico para que nuestro miniDLNA funcione.

Ahora debemos añadir minidlna al grupo de usuarios del usuario con el que hicimos la instalacion del minidlna, en mi caso josem. Lo lógico es que tu uses tu usuario con lo cual debes cambiar donde dice josem por el tuyo propio. Para esto vamos a ejecutar el siguiente comando:

sudo gpasswd -a minidlna nombre-usuario



Ahora forzamos la recarga de la configuración mediante:

sudo service minidlna force-reload




No hay que olvidarse de crear dentro de /media las carpetas del punto de montaje y darle los permisos pertinentes.

Por ejemplo /media/yoguibear/datosNTFS

chmod 755 /media/yoguibear/datosNTFS

Recuerda que en tu equipo yoguibear será el nombre del usuario, ya que Linux crea automáticamente dentro de esta carpeta una carpeta con el nombre del usuario.

$ sudo service minidlna start

Instalar un reproductor DLNA/UPnP en el dispositivo cliente, por ejemplo BubbleUPnP si estamos ante un Smartphone o Tablet Android. Una vez instalado podríamos pulsar con el botón del ratón en la pestaña “Local Media Server” y debería de aparecer nuestro servidor FREESER (el nombre utilizado en el ejemplo).
Para reproducir el contenido compartido en FREESER deberemos de seleccionar a este como nuestro servidor de medios y clicar sobre “Examinar carpetas
Si no somos capaces de ver el contenido, quizás se deba a que el usuario con el que se inicia el servicio “minidlna” no tenga permisos para ver el contenido del las carpetas compartidas. En mi caso las carpetas son propiedad del usuario josem y lo que he hecho es añadir al usuario minidlna al grupo de usuarios josem que tienen permisos de lectura, escritura y ejecución en las carpetas compartidas:

$ sudo gpasswd -a minidlna josem

Ahora solo queda recargar la configuración:

$ sudo service minidlna force-reload


Ahora podemos acceder via web a nuestro recién instalado servidor MiniDLNA, abriendo el navegador chrome o mozilla y escribiendo en la barra de navegación:

localhost:8200


Con esto comprobamos que esta funcionando, debe indicar que archivos están compartiendo y la cantidad, en este caso vemos que se comparten 537 vídeos



Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar o redfinir los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

12 comentarios:

Anónimo dijo...

Hola, soy Emiliano
Gracias por el tutorial, conseguí ver los vídeos en la tv, pero hay vídeos que tengo desde hace tiempo que no aparecen, puede ser que tengo muchos, que son antiguos o por capacidad del minidlna?.
Gracias

José Miguel Guimerá Padrón dijo...

Emiliano Disculpa el desfase en la respuesta, pero he estado muy ocupado investigando y estudiando y no he tenido tiempo para dedicarme al blog.

Lo que puede estar pasando, es que el formato que en que tienes los videos no lo reconozca la TV.

Trata de acceder al server MiniDLNA desde una tablet o telefono smartphone, y así puedes ver si es problema del MiniDLNA o la TV.

José Miguel Guimerá Padrón dijo...

El tutorial mostrado fue el método utilizado, fue el seguido para montar el servidor MiniDLNA en un equipo con Ubuntu 14.04, y luego fué utilizado para montarlo en otro con Ubuntu 16.04 y en los dos se modificó el archivo stab del sistema.

Un error muy frecuente entre novatos principiantes es la de copiar y pegar y ese error es del que está instalando. Hay que saber que copiar y pegar.
Una razón por la cual yo utilizo el paso a paso mostrando cada uno en la terminal y para mostrar que los mismos han funcionado.

Lamentablemente en el tutorial no advertí que el mismo no era apto para principiantes muy basicos. Ya he corregido en su debido lugar esa advertencia.

La instalación que se muestra en el tutorial del servidor MiniDLNA es en vivo, realizada sobre un equipo virtual usando VirtualBox, usando Ubuntu 16.04 limpio sin ninguna otra aplicación instalada.

Se le conectaron unos discos virtuales adicionales para simular discos adicionales físicos en un sistema real.

La modificación del archivo "stab" es critica, ya que contiene la configuracion de los discos del sistema incluido donde está el mismo Ubuntu instalado.

ESTE ARCHIVO NO PUEDE SE COPIADO Y PEGADO, YA QUE TU SISTEMA NO ARRANCARÁ.

El mas mínimo error de escritura aquí provocará que no se pueda reiniciar el sistema. Hay que seguir al pie de la letra las intrucciones y si no se entienden o no se tiene claras no hacer nada y dejarlo como estaba. O sea, el archivo stab original.

Esto no hay que decircelo a expertos ni a la mayoría de los usuarios avanzados.

Sugerencia para los novatos y principiantes. Aprende a utilizar equipos virtuales para hacer instalaciones, lo que suceda con ellos no conlleva perdidas dolorosas. Y esto no es una sugerencia, sino ley HAZ RESPALDO DE AQUELLO QUE ESTA FUNCIONANDO.

Es decir, que si se te pide que modifiques un archivo .conf, lo primero que debes hacer es hacer una copia de tal cual como está, y luego trabajar sobre el archivo. La razón es mas que obvia.

De hecho un sabio de la informática me dijo que aún siendo el experto mas resabido en este negocio, nunca dejes de hacer una copia de aquello que estas funcionando. Solo luego de tenerlo respaldado y a buen resguardo procede a modificar, porque un mal día lo tiene cualquiera.

minglas dijo...

he seguido el tutorial, y consigo compartir los archivos de mi disco home, pero no de discos NTFS, montados con exito como dice el tutorial. Las rutas están bien, pues si las pongo mal al restartel minidlna da errores. El caso es que desde mi movil solo veo los archivos del home y no los de los discos NTFS, puede ser por tema de permisos?, como debería dar permisos a esos discos o carpetas?. He añadido mi usuario a minidlna como comentas
Gracias.

José Miguel Guimerá Padrón dijo...

Hola minglas. Gracias por seguir el blog. En realidad lo que Linux, muestra como discos, son particiones, con lo cual lo correcto es hablar de particiones.Linux detecta cualquier disco, pendrive o unidad de almacenamiento que le conectes y los identificas con el comand fdisk. Si has seguido paso a paso el tutorial, esto debes recordarlo. Para que miniDLNA pueda mostrar las particiones NTFS y otras particiones Linux, estas tienen que estar montadas. Ubuntu al iniciarse no monta automaticamente, todas las particiones, solo la que tiene el sistema y aquellas que se indiquen en el archivo stab. Este archivo debes editarlo muy cuidadosamente. Tu problema me da la impresión de que no están montadas esas particiones. Ubica el ratón sobre la partición en donde tengas el NTFS y pulsa el botón derecho. Si entre las opciones esta la de montar significa que la partición no ha sido montada. Pulsa sobre montar y luego un restart al miniDLNA, restaurando previamente la base de datos del miniDLNA, con estos dos comandos

sudo rm -f /var/lib/minidlna/files.db && sudo service minidlna restart

Si por el contrario la partición esta montada desde el inicio, debe mostar Desmontar. Con lo cual debe estar bien lo que has hecho y si parece una cuestión de permisos de acceso pero a la carpeta /media/ dentro de la cual debe estar una carpeta de usuario y dentro de esta debes tener una carpeta con el nombre de la partición.

Anónimo dijo...

Las particiones están correctamente montadas al inicio.
las particiones como dices están en la ruta media/usuario/nombre partición.
Como darles los permisos adecuados?.
Gracias

José Miguel Guimerá Padrón dijo...

Una opción sería: chmod 755 /media/usuario/nonbre partición.

Gracias por comentar. Me dí cuenta de que tenía que poner algo en esa sección del tutorial que ya está corregido. Saludos

Unknown dijo...

Hola José, muy bueno tu blog, seguí tus instrucciones y funciono a la primera con Lubuntu 16, me podrías colaborar indicándome como podría hacer para que me funcione la tarjeta wireless del computador, es un Compaq 18-2003LA, la verdad no he podido siquiera lograr identificar el hardware, te agradezco y sigo atento tu blog.

José Miguel Guimerá Padrón dijo...

Ante que nada muchas gracias por tu comentario. En cuanto a tu pregunta, la cuestión como siempre es que puedas acceder a un driver que sea compatible con Linux distros basados en Debian. En equipos viejos o de marcas abiertas, funcionan sin problemas y sin hacer nada. Antes los fabricantes de hardware propietario tenían la amabilidad de incluirlos. Lamentablemente, eso no le gustaba mucho a Mister Gates que de manera muy democrática ha decidido de que o compramos sus productos o nos busquemos la vida con los problemas de querer ser libres. Las empresas que le han seguido el juego pues obvian ese hecho por eso lo recomendable es no comprar ningún hardware que no ofresca drivers universales. Tu caso lamentablemente entra dentro de juego Microsoft, y no existe un driver por parte del fabricante. Sin embargo, buscando por internet, por lo general se encuentran soluciones. Una de ellas la puedes ver en este link que te dejo:
http://h30467.www3.hp.com/t5/Sistemas-operativos-y-software-para-desktops-Sprout-por-HP-y/Problema-para-instalar-Linux-en-Compaq-18-2003LA/td-p/535766. Ahora mi recomendación es que compres un USB wireless, por supuesto que sea compatible con sistemas Linux y te olvidas del problema cuando tengas que actualizar el sistema o simplemente lo quieras cambiar por otra distro Linux. De lo contrario siempre tendras ese mantra del driver y puede que al final no funcione todo lo bien que se espera.

imrak dijo...

Excelente, funcionó a la primera en Xubuntu 18.04. muchas gracias...

Ale dijo...

hola, me gusto todo esa genial, me funciono sabras como pueda ahora quiero hacerlo mas grande quiero agregarlo una subnet, digamos dentro de la misma red pero una sub, sabras como se puede hacer, agradeceria tu ayuda

Anónimo dijo...

Excelente tutorial. Muchas gracias.

Publicar un comentario

Tu comentario puede ser muy útil, asi que no dudes en dejar el tuyo.
Si es relacionado con algún problema, error. etc. trata de ser muy explicito, y detallar el problema y las circunstancias en las que se produjeron. Si lanza algún error trata de copiarlo y pegarlo junto con una descripción del problema, ya que a veces los errores del sistema no son en realidad la causa del problema.

Vistas de página en total