miércoles, 29 de mayo de 2013

Instalación de BubbleUPnP Server en el WD MyBook Live

Después de la puesta a punto del NAS y la instalación de PyLoad, le queda el turno a ésta tercera, y por ahora última parte de la serie de artículos dónde le instalamos software adicional al NAS para añadirle funciones extra.

BubbleUPnP Server es básicamente un software que gestiona servidores y clientes UPnP/DLNA que tengamos en una red, además de hacer a los servidores accesibles a través de internet gracias a sus aplicaciones para Android y Windows.

Funciona sobre Java, así que es totalmente multiplataforma. Eso si, no va a ser fácil instalarle Java a éste NAS...


Os enumero sus funciones:

-Permite el acceso a todos los archivos compartidos por un servidor UPnP que éste en la misma red local que BubbleUPnP Server a través de internet desde su cliente para Android BubbleUPnP y desde el de Windows Foobar2000.

Lo que viene a ser que tenemos el servidor UPnP Twonky que configuramos en el primer artículo y gracias a éste programa  podremos acceder a él por el móvil desde cualquier sitio. Se acabó copiar las canciones al móvil, ahora podemos escucharlas en streaming desde un servidor en nuestra casa estemos dónde estemos (siempre que tengamos una buena tarifa de datos). Se puede transcodificar la música en el propio NAS para bajarle la calidad y gastar menos datos en el móvil. La aplicación es gratis con un límite de 30 minutos por sesión (puedes cerrarla y volverla a abrir) o vale 3,50€ la licencia completa. Yo lo he pagado porque la uso bastante y creo que por el tarbajo que han hecho tanto con la aplicación del móvil como la del servidor se lo merecen. Respecto de la aplicación para Windows, no la he llegado a probar, para eso uso el accesbook que configuramos en el primer artículo.

-Permite crear un proxy de un servidor DLNA

Ésto sirve básicamente pos si tenemos problemas de compatibilidad entre algún servidor y algún cliente

- Crear un Cliente OpenHome

De éste modo , si cuando seleccionamos el cliente ponemos el OpenHome en vez del de serie (por ejemplo "OpenHome XBMC" en lugar de "XBMC") es el propio BubbleUPnP el que se encarga de la reproducción. De ésta forma si cerramos la aplicación con la que hemos puesto una lista de reproducción, ésta continuará. También podemos abrir varias aplicaciones para controlar un reproductor a la vez.


Visto ésto, vamos a instalarlo en nuestro WD MyBook Live:

Advertencia: Probablemente éste sea el tutorial más peligroso de los tres, ya que como vamos a tener que modificar los repositorios. Que a nadie se le ocurra hacer un "apt-get upgrade" salvo que tengas muy claro que éstas haciendo. Si tenéis algún problema, que nadie me diga que no advertí de que lo que se hace queda bajo la responsabilida de cada uno. Si os sale todo bien, soy un genio y deberíais agradecérmelo. En cualquier caso, a comentar :D


Instalación

Nos conectamos por SSH como ya está explicado en el primer artículo y empezamos.

Primero que nada, necesitamos Java ya que el programa corre en Java. Lo ideal sería el JRE de Oracle ya que ofrece mejor rendimiento, pero no está para Debian PowerPC, así que vamos a usar su versión libre; OpenJDK. En los repositorios de Debian Lenny que lleva el NAS tenemos Openjdk-6-jre, pero después de probarlo un mes se cuelga cada dos por tres y hay que reiniciar el programa. Necesitamos cambiar los repositorios para instalar otra versión de Java. Ojo, después de hacer ésto, aunque os diga que hay 400 paquetes por actualizar si ne os ocurra actualizar.

vim /etc/apt/sources.list

Y ahora dejamos el archivo así. También pongo los repos de Debian Multimedia porqu luego instalaremos la transcodificación:

Entramos en modo de edición con "a", cambiamos lo que sea, salimos del modo de edición con "esc" y guardamos y salimos escribiendo ":wq" y pulsando enter

#deb http://archive.debian.org/debian-archive/debian/ lenny main contrib non-free
#deb-src http://archive.debian.org/debian-archive/debian/ lenny main contrib non-free
#deb http://archive.debian.org/debian-archive/debian-security/ lenny/updates main
#deb-src http://archive.debian.org/debian-archive/debian-security/ lenny/updates main

#deb http://ftp.us.debian.org/debian/ squeeze main
#deb http://ftp.us.debian.org/debian/ sid main
#deb http://ftp.us.debian.org/debian/ experimental main

###### Debian Main Repos
deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.us.debian.org/debian/ wheezy main contrib non-free

###### Debian Update Repos
deb http://security.debian.org/ wheezy/updates main contrib non-free
#deb http://ftp.us.debian.org/debian/ wheezy-proposed-updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
#deb-src http://ftp.us.debian.org/debian/ wheezy-proposed-updates main contrib non-free

#Debian multimedia
deb http://www.deb-multimedia.org/ wheezy main non-free
deb-src http://www.deb-multimedia.org/ wheezy main non-free




Ahora tenemos varias opciones de Java, yo he optado por icedtea-7-jre-cacao ya que suele dar muy buen rendimiento, y funciona genial para nuestro propósito. Recargamos repositorios con:

apt-get update 

Creo que daba algún problema con una llave, no estoy seguro de si al final hice algo o lo ignoré y puede continuar sin problemas. Si no os deja hacer el próximo paso, ponedme en un comentario que os sale aquí. Instalamos con:


apt-get install icedtea-7-jre-cacao 

Ahora comprobamos que esté todo bien con:

java -version

Y nos debería salir algo como ésto:

java version "1.7.0_03"
OpenJDK Runtime Environment (IcedTea7 2.1.7) (7u3-2.1.7-1)
OpenJDK Zero VM (build 22.0-b10, interpreted mode)

Si todo ésta correcto proseguimos con la instalación. La transcodificación funciona bien para bajar la calidad de música hasta a 128 Kb/s, para menos usa Ogg y no va muy bien. Para vídeo tampoco. Si la queremos instalar (no es necesario):

apt-get install ffmpeg


Y con ésto ya están todos los pasos previos. Ahora vamos a la web del proyecto y en la última versión descargamos el archivo zip, no nos vale ningún paquete. Ahora lo extraemos desde dónde queramos que se ejecute. Yo lo tengo en "Public/WWW/Bubble"

Ahora vamos a la carpeta dónde acabamos de descomprimir todo:

cd /DataVolume/shares/Public/WWW/Bubble

Hacemos ejecutable el archivo launch.sh:

chmod +x launch.sh


Ahora, igual que con el PyLoad, no he conseguido que se inicie solo al inicio, así que vamos a escribir un pequeño script que tendremos que ejecutar cada vez que se reinicie el NAS:

Lo mismo que antes, entramos en modo de edición con "a", cambiamos lo que sea, salimos del modo de edición con "esc" y guardamos y salimos escribiendo ":wq" y pulsando enter

vim bubble.sh

Lo mismo que antes, entramos en modo de edición con "a", pegamos, salimos del modo de edición con "esc" y guardamos y salimos escribiendo ":wq" y pulsando enter. Lo dejamos así:

#! /bin/sh
# /etc/init.d/bubble
#


cd /DataVolume/shares/Public/WWW/Bubble
java -jar BubbleUPnPServer.jar &





Ahora le damos permisos de ejecución con:

chmod +x bubble.sh


¡Y listo! Ahora cada vez que queramos iniciarlo bastará con introducir:

/DataVolume/shares/Public/WWW/Bubble/bubble.sh


Configuración



Accedemos al panel de configuración poniendo: "iplocaldelNAS:58050" en un navegador. Desde éste panel podemos ponerle un ususario y contraseña (muy recomendado), decirle que los dispositivos puedan acceder desde internet, decirle si queremos que se pueda configurar el programa desde internet, y decirle que servidores queremos que estén accesibles desde internet o que reproductores deben tener un reproductor "OpenHome", entre otras opciones. Dejamos todo a nuestro gusto

Ahora nos queda para conector desde el móvilm redirigir el puerto externo 58050 al interno 58050 de la IP local del NAS. Ahora desde la aplicación de Android configuramos : "server adress: http://IPdeManolo.no-ip.org:58050", dónde "http://IPdeManolo.no-ip.org" es la que configuramos con No-IP en el primer artículo; ponemos el usuario y contraseña y... ¡listo!

7 comentarios:

  1. Hola,
    Estoy intentando hacer el paso de apt-get install icedtea-7-jre-cacao y no me deja. Me sale el siguiente error: The following packages have unmet dependencies:
    icedtea-7-jre-cacao: Depends: openjdk-7-jre-headless (= 7u3-2.1.7-1) but 7u25-2.3.10-1~deb7u1 is to be installed
    E: Broken packages

    Gracias

    ResponderEliminar
    Respuestas
    1. Que raro, me da la impresión de que o no has editado bien el archivo de los repositorios o no has hecho el apt-get update, porque los repositorios de Wheezy en teoría siguen estando actualizados...

      Eliminar
  2. Gracias por la contestación. Pero lo he comprobado, tengo editado el archivo de repositorio y he vuelto a hacer apt-get update y me sale el mismo error.
    Un saludo.

    ResponderEliminar
    Respuestas
    1. Hola, ¿pudiste resolverlo? Me sale exactamente el mismo error.

      Eliminar
    2. No lo he resuelto. Instalé la versión 6 de java y funcionaba el BubbleUPnP correctamente. El problema es que luego no pude entrar a ninguna interfaz por web (feature packs, UI del mybooklive, etc). Es decir, que me lo cargué, nada más que salían errores de javascript. jeje, no recomiendo instalar el java 6.
      Para volver a la configuración original actualicé el firmware del myBookLive, y volví a instalar el torrent que es lo que más me interesaba.

      Eliminar
  3. Muchas gracias por tu trabajo.

    Te falta un tutorial...esta en ingles y no me entero... me imagino que conoces el servidor de medios "serviio" hay un manual para instalarlo en el book live. Es infinitamente mejor que el que lleva el cacharo.
    Este es el manuel en ingles
    http://wiki.serviio.org/doku.php?id=install_wd
    Si pudieras incluirlo en tu blog seria la leche...

    un saludo

    ResponderEliminar
    Respuestas
    1. Sería interesante, pero recientemente he cambiado de NAS, así que, sintiéndolo mucho, no creo que escriba nada más sobre éste MyBookLive. Yenfdo poco a pooco y ayudándote del traductor de Google, creo que se puede seguir el tutorial que comentas...

      Eliminar