miércoles, 3 de septiembre de 2014

Comparte audio/imagenes/video entre tus dispositivos usando DLNA

Contenido:

¿Para qué es esta entrada?
¿Qué es el DLNA?
¿Y eso para que me sirve?
¿Qué necesitamos?
Aclaraciones
Instalando el servidor
  • GNU/Linux
    • MediaTomb
    • MiniDLNA
  • Windows
  • Android
Instalando el cliente
  • GNU/Linux
  • Android
  • Windows
  • SmartTV
  • PlayStation
Notas finales



¿Para qué es esta entrada?

Para dar a conocer una tecnología que muchos no saben que existe pero que pueden llegar a usar diariamente.


Hoy en día contamos con una variedad de dispositivos electrónicos a nuestro alrededor pero no sabemos que se pueden conectar entre ellos para compartir contenido multimedia.

Cuando se adquiere un nuevo dispositivo ya sea SmartTV, reprodutor de DVD/Blu Ray, consola de videojuegos, computador, tableta o celular no se menciona durante el momento de la compra que podemos usar ese dispositivo para acceder a contenido que tenemos dentro de otro de nuestros dispositivos y es por eso que muchos no se enteran de su existencia y esa es la razón de esta entrada.


¿Qué es el DLNA?

El DLNA (Digital Living Network Alliance) es un protocolo creado por un grupo de empresas que nos permite compartir medios multimedia(imágen, vídeo y sonido) entre diferentes dispositivos(computadores, televisores, tabletas, celulares, consolas de videojuegos etc) conectados en una misma red.

¿Y eso para qué me sirve?

Imagina que tienes en tu computador una colección de películas, canciones y fotos pero siempre que los quieres reproducir tienes que sentarte frente al computador para poder hacerlo, pero...... ¿no seria mucho mas cómodo poder acceder a toda la colección de tu PC desde un lugar mas cómodo como en el sofá de la sala y verlo en el televisor o desde la cama y verlo en una tableta? Aquí es donde entra a funcionar el DLNA el cuál nos permite compartir nuestra biblioteca y poder acceder a ella desde otros dispositivos.

¿Qué necesitamos?

  • Que todos los dispositivos en donde queremos reproducir la biblioteca se encuentren conectados a la misma red ya sea de forma inalambrica o por cable.
  • Instalar un servidor DLNA
  • Instalar un cliente DLNA.
  • Tener abierto los puertos a nivel de firewall tanto en el servidor como en el cliente(de ser necesario).
  • Configurar el servidor DLNA para indicar que medios queremos compartir.

Aclaraciones

Algo a tener en cuenta es que el servidor DLNA no necesariamente tiene que ser un computador, puede ser una tableta o un celular. También aclarar que el servidor DLNA es simplemente una aplicación y aplicaciones que actúen como servidores existen varias y para diferentes plataformas (GNU/Linux, MacOS, iOS, Android, PC etc).

El DLNA funciona bajo UPnP por lo que no tendrás que configurar cosas del lado del cliente para poder acceder al contenido. El servidor si debe ser configurado.

Varios dispositivos ya incluyen clientes DLNA por lo que no se debe instalar nada para acceder al contenido, un ejemplo de estos dispositivos puede ser SmartTVs, reproductores DVD/Blu Ray o consolas de videojuegos.

El protocolo es independiente de la plataforma lo que quiere decir que puedes compartir contenido entre diferentes sistemas operativos, por ejemplo compartir algo desde un sistema Windows y verlo en un sistema Android o compartir desde un sistema Android y verlo en un PlayStation o desde un GNU/Linux y verlo en el televisor siempre y cuando se tenga un servidor en el dispositivo que compartirá los medios.

Instalando el servidor

GNU/Linux

En GNU/Linux he probado 2 servidores que se llaman MediaTomb y MiniDLNA pero existen más. Yo recomendaría MiniDLNA ya que con MediaTomb tuve algunos problemas como por ejemplo que si elimino un archivo no se ve reflejado rápidamente y seguirá apareciendo en la lista desde los clientes, hasta después de cierto tiempo desaparece así se tenga configurado con Inotify. Otro problema con MediaTomb es que cuando reproducía una película en el televisor no me permitía navegar por la linea de tiempo lo que quiere decir que no podia adelantar ni atrasar la película asi que tenia que verla siempre desde el principio. Con MiniDLNA no he tenido los 2 problemas mencionados y puedo saltar a cualquier parte de la película.

Nota: Lo siguiente es hecho sobre un sistema Kubuntu asi que debe funcionar para Debian o derivados de Ubuntu. Uso Aptitude en lugar de APT para instalar todo así que si no tienes Aptitude en el sistema entonces remplaza en los comando aptitude por apt-get, tambien uso Nano en lugar de Vi o Vim así que usa el editor que prefieras.

MediaTomb

MediaTomb es un servidor multimedia que nos permite configurar el contenido a compartir de forma gráfica mediante una interfaz web, para el resto de configuración se debe recurrir a editar el archivo de configuración ubicado en /etc/mediatomb/config.xml.

Instalando MediaTomb desde linea de comandos. Para ello ejecutamos:
sudo aptitude install mediatomb

Con el servidor instalado podemos iniciarlo(si no lo está) con el comando:
sudo service mediatomb start

Para acceder a la aplicación web ingresamos a la siguiente URL desde un navegador http://localhost:49152/ la URL es una local y apuntando al puerto en el que el servicio está escuchando.

Algo a tener en cuenta es que si el puerto por defecto(49152) está en uso por otra aplicación se asignará automáticamente un nuevo puerto por lo que debemos averiguar cuál fue el nuevo puerto asignado, para ello podemos ejecutar:
sudo netstat -punta |grep mediatomb

Con lo que veremos el puerto que está a la escucha, en nuestro caso el 49152(si cambia veríamos otro) y será el que pongamos en la URL
tcp        0      0 0.0.0.0:49152           0.0.0.0:*               LISTEN      25323/mediatomb 
udp        0      0 0.0.0.0:1900            0.0.0.0:*                           25323/mediatomb 
udp        0      0 127.0.0.1:34817         0.0.0.0:*                           25323/mediatomb 

Cuando ingresemos a la pagina de MediaTomb veremos esta pantalla:
En la imagen anterior nos encontramos con 2 pestañas al lado izquierdo llamadas Database y Filesystem. En Database veremos nuestra colección compartida en forma de arbol y en Filesystem veremos un árbol representando el sistema de archivos de nuestro PC.

Para agregar un directorio a nuestra colección debemos dar clic sobre la pestaña de Filesystem con lo que veremos la siguiente imagen:
Para agregar un directorio a nuestra colección lo debemos hacer navegando en el árbol del sistema de archivos y seleccionando el directorio que contiene los medios a compartir, en cuanto lo tengamos seleccionado presionamos el botón del + rodeado de las flechas circulares que se encuentra al lado derecho de la imagen, con ese botón podemos agregar un directorio que se actualice de forma automática como se aprecia en la siguiente imagen:

Para agregar el directorio presionamos el botón "Set". Una vez hecho esto podemos volver a la pestaña de Database donde deberíamos poder ver la colección de forma ordenada.
En la imagen anterior vemos la colección que se esta compartiendo, vemos una estructura de directorios en donde el servidor clasifico los archivos por tipo de medio /Audio/Video/Images.

El proceso de añadir la colección puede demorar un poco por lo que debemos ser pacientes y esperar a que aparezcan todos los archivos.

MiniDLNA


Este es un servidor sencillo que administraremos desde su archivo de configuración.

Para instalarlo ejecutamos:
sudo aptitude install minidlna

Con el servidor instalado podemos iniciarlo(si no lo está) con el comando:
sudo service minidlna start

Para configurarlo abriremos el archivo de configuración:

sudo nano /etc/minidlna.conf

Dentro del archivo de configuración lo que mas nos interesa es agregar los directorios que contienen los archivos multimedia que queremos compartir, para ello debemos crear una linea por cada directorio con el parámetro media_dir, cada linea debe especificar el tipo de contenido y la ruta.

El tipo de contenido se define mediante una letra.
A = Audio/Musica
P = Fotos/Imagenes
V = Video

Un ejemplo para compartir un directorio que contenga vídeos/películas seria:
media_dir=V,/home/miusuario/Peliculas/

Para compartir música podría ser:
media_dir=A,/home/miusuario/Musica/

Para compartir fotos podríamos agregar una linea como la siguiente
media_dir=A,/home/miusuario/Imagenes/

Otro parámetro de configuración que podemos definir es el nombre que le daremos al servidor, esto lo podemos hacer modificando el parámetro friendly_name dentro del mismo archivo. Lo podriamos dejar así:
friendly_name=ServidorDLNA

Ten en cuenta que los cambios que se hagan en el archivo de configuración no tendrán efecto hasta que reiniciemos el servidor, para hacerlo podemos ejecutar
sudo service mediatomb restart

Windows

En Windows en teoría algunas versiones soportan por defecto el compartir archivos multimedia por DLNA pero como poco uso las cosas por defecto de Windows incluyendo Windows entonces  vamos a instalar un servidor y la opción por defecto les queda de tarea.

Para Windows vamos a usar un servidor llamado Serviio que pueden dercargar desde la pagina oficial http://serviio.org/

Descarga el instalador e instalalo usando la configuración por defecto. En cuanto esté instalado ejecútalo, notaras que no se abre ninguna venta pero si te fijas en la barra del sistema de Windows debe existir un nuevo icono amarillo como en la siguiente imagen:
Para abrir la ventana de configuración puedes dar doble clic sobre el icono con lo que veremos esta ventana:

Para definir que medios vamos a compartir debemos pasarnos a la pestaña "Library", estando allí veremos un botón que nos permitirá agregar directorios llamado "Add local...". Cada directorio que agreguemos desde allí se irá adicionando a la lista de directorios compartidos(Shared folders). Teniendo definidos los directorios a compartir debemos definir que tipo de contenido contiene cada uno de los directorios y eso lo podemos hacer marcando cada una de las casillas correspondientes a vídeo/audio/imágenes/subtitulos que se encuentran en cada elemento compartido.

En la siguiente imagen se puede ver como selección 3 directorios para compartir y como marque el tipo de contenido que almacena cada uno:

Cuando finalicemos de configurar los directorios podemos presionar el botón Save para guardar los cambios.

Este servidor usado tiene muchas opciones de configuración pero el alcance de esta entrada era solo sobre como configurar algo básico.

Android

Algunos dispositivos Android ya cuentan con un servidor DLNA por defecto como es el caso de algunos Acer y Samsung así que busca si dentro de las aplicaciones que venían por defecto en el dispositivo hay alguna.

Puedes instalar un servidor DLNA desde Google Play como este llamado Media Server.

En cuanto lo tengas instalado ejecutalo y veras esta pantalla:
En la imagen anterior veras una opción llamada "Server" que tiene al lado derecho un botón de Off/On, esa opción nos permitirá activar y desactivar el servidor cuando queramos pero antes de activarlo vamos a configurarlo, para ello presionaremos la opción que dice "Configuration" la que tiene la llave de tuercas con lo que veremos la siguiente pantalla:

Desde esta pantalla podremos asignarle un nombre al servidor que será el que vean los demás dispositivos en la red, también podemos definir que tipo de contenido queremos compartir seleccionado cada una de las casillas de "Multimedia content".

Ahora podemos volver a la pantalla anterior y seleccionar la pestaña que dice "FILES", desde allí vamos a configurar que directorios queremos compartir por cada una de las categorias multimedia(Photos, Music, Videos y Subtitles). Habrás notado que la aplicación filtra los archivos dependiendo cada una de las categorias por lo cual veremos directorios que contengan el tipo de archivo según la categoria. Si no queremos compartir un directorio lo podemos desmarcar de lista.


Por último nos falta iniciar el servidor, para ello nos devolvemos a la pestaña "SERVER" y estando alli presionamos el botón de Off/On con lo cual se iniciara el servidor y veremos la siguiente imagen:

Ya podremos acceder al contenido multimedia de nuestro Android desde otros dispositivos como PCs o SmartTVs.

Instalando el cliente

Algo a tener en cuenta cuando utilices cualquier cliente es que al momento de explorar las colecciones de algún servidor DLNA normalmente(La mayoria aplica este esquema) veremos los archivos organizados según la categoría a la que pertenezca cada archivo por lo que todos los archivos de vídeo estarán en un directorio Video, todas las imágenes estarán en un directorio Pictures y todos los archivos de audio estarán en un directorio Music. Así que veremos una estructura similar a esta:

+NombreServidor DLNA
|---- Music
|---- Pictures
|---- Video

El directorio música(Music) incluye un filtro con lo cual nos mostrará otros subdirectiorios como podemos ver a continuación:

+NombreServidor DLNA
|---- +Music
       |---- Album
       |---- All music
       |---- Artist
       |---- Genre
       |---- Playlists
|---- Pictures
|---- Video

Por lo que si queremos escuchar música deberemos ingresar al directorio Music, si queremos ver una película o un vídeo debemos ingresar al directorio Video y de igual forma con las imágenes ingresar al directorio Images. Dentro de cada uno de esos directorio vamos a encontrar la misma estructura de directorios que tenemos en el servidor solo que se mostraran los directorios que contengan archivos con la categoria seleccionada.

GNU/Linux

Nota: Lo siguiente es hecho sobre un sistema Kubuntu asi que debe funcionar para Debian o derivados de Ubuntu. Uso Aptitude en lugar de APT para instalar todo así que si no tienes Aptitude en el sistema entonces remplaza en los comando aptitude por apt-get, tambien uso Nano en lugar de Vi o Vim así que usa el editor que prefieras.

Para sistemas GNU/Linux podemos usar el todo poderoso VLC que vamos a instalar desde los repositorios de la distribución que estemos usando en mi caso Kubuntu, para esto ejecutamos el comando:
sudo aptitude install vlc

Para acceder a los recursos multimedia que esté compartiendo cualquier dispositivo dentro de la misma red abriremos VLC y debemos buscar entre la lista de reproducción una opción llamada "Universal Plug'nPlay" o "Plug'nPlay Universal", si no ves la lista de reproducción Presiona Ctrl + L o accede desde el Menú View-> Playlist o Ver->Lista de reproducción.

En la imagen anterior podemos ver que VLC encontró en la red 3 servidores DLNA a los cuales podremos acceder y reproducir los archivos que estén compartiendo. En este caso vemos 2 de PCs que son TuxDLNA y MediaTomb y el tercero TuxTabletAndroid que es un servidor en una tableta con Android


En la imagen anterior vemos como ya he navegado entre alguno de los directorios de uno de los dispositivos encontrados y he seleccionado una película, solo haría falta darle doble clic para que inicie la reproducción.

Windows

Para sistemas Windows podemos también usar el todo poderoso VLC que podemos descargar desde la pagina oficial http://www.videolan.org/vlc/download-windows.es.html. Los pasos para usarlo son los mismos que los de GNU/Linux.

Nota: Tal vez el reproductor de Windows sirva como cliente de DLNA pero no lo uso así que no se si funcione.

Android

Para Android podemos instalar un cliente llamado Mediahouse UPnP / DLNA Browser
En cuanto lo tengamos instalado y lo ejecutemos la aplicación iniciará una búsqueda de servidores DLNA en nuestra red y luego veremos una pantalla como la siguiente:

En la imagen anteriro veremos un listado de los servidores y encontrados, si selecionamos alguno

Smart TVs

Los SmartTVs ya cuentan con clientes DLNA por lo que podremos acceder a nuestro contenido multimedia simplemente con ingresar a la opción correspondiente en el menú del televisor.

Por ejemplo con SmartTVs de LG:

Primero ingresamos al menú principal del televisor presionando el botón Home/Smart desde el control remoto con lo que veremos una pantalla así:


A continuación debemos seleccionar la opción de "Input list" la cuál nos mostrara cada uno de los dispositivos de entrada disponibles, dentro de la lista además de la antena, cable y HDMI podremos ver los servidores DLNA encontrados dentro de la red local, en nuestro caso veremos 4 servidores DLNA 2 son PCs y otros 2 son dispositivos Android.


Luego de seleccionar alguno de los servidores podremos navegar entre sus directorios hasta que encontremos el recurso que nos interese reproducir:


A continuación veremos un listado de películas después de navegar entre los directorios:

PlayStation

Nuestra prueba será en un PlayStation 3. Cuando nos encontremos en el menú X de nuestro PS3 nos debemos dirigir a alguna de las secciones de Imagenes/Video/Musica, en cualquiera de esas secciones vamos a ver todos los servidores DLNA detectados como lo muestra la siguiente imagen:

En la imagen anterior podemos ver 3 servidores DNA encontrados, 2 son PCs y 1 es un dispositivo Android. Si seleccionamos un servidor podremos ver una lista de directorios en los que iremos navegando hasta encontrar el archivo que queramos reproducir.





Notas finales

Las aplicaciones vistas en esta entrada pueden contener versiones para diferentes sistemas operativos así como también cada aplicación puede tener funcionalidades tanto de cliente como de servidor.

Las aplicaciones probadas pueden contener mas o menos funcionalidades que otras existentes ya que solo se usaron como fines demostrativos mas no como recomendaciones.

Para otros sistemas como MacOs/iOS deben existir aplicaciones similares pero no tengo ningún equipo con esos sistemas entonces se escapan de esta entrada.



También aclarar que el protocolo DLNA tiene ciertas restricciones como en el formato de los archivos soportado por lo que puede que no se puedan reproducir cierto tipo de vídeos/imágenes o audios, esto también depende de las funciones que incorpore el servidor/cliente y el dispositivo en el que se reproduzca el medio.

FIN


Aquí termina la primera entrada que hago para mi blog  :D

Si ves algún error en el contenido no dudes en decírmelo. Sin tener en cuenta el error en el servidor TuxDNLA(Debia ser TuxDLNA), me di cuenta después de tomar todas las fotos y printscreens y de haber terminado casi todo así que para corregir el nombre es mucho trabajo ¬¬


Si te gusto este articulo no dudes en compartirlo, en dar +1 y en comentar :D

Saludos.

No hay comentarios.:

Publicar un comentario