Instalando y configurando XBian

A raiz de un comentario con un problema con las instrucciones para instalar y configurar XBian (podéis leer el artículo aquí) de hace ahora casi dos años, he decidido reescribir todo el proceso ya que en este tiempo puede que hayan cambiado muchas cosas. Vamos a ver…

Lo primero de todo es bajar la última imagen de XBian que podemos encontrar en este enlace: http://www.xbian.org/getxbian/

Yo he mi caso he utilizado el método para Mac donde te descargas un pequeño instalador que se encarga de descargar la última imagen e instalarla en la tarjeta SD. He de decir que he tenido que realizar el proceso dos veces porque la primera vez no debió de copiarlo/descargarlo bien ya que al encender la Raspberry el sistema solamente se quedaba con el piloto en rojo y no hacía nada más.


Aquí podéis ver la imagen de inicio. He de decir que como tengo conectado el monitor con un adaptador HDMI-VGA la resolución que ha detectado el sistema no es nada buena, pero después de ir a los ajustes del sistema y seleccionar 1024×768 la cosa ya cambia. 

Ahora voy a probar a reproducir un video HD a ver qué tal va. Este es el ya famoso Big Buck Bunny a una resolución 1920×1080.

Como podeis ver el video se mueve estupendamente y eso que está siendo leído directamente desde un usb, no está copiado en la tarjeta SD. He probado también a adelantar el video 30 segundos un par de veces y no se resiente nada, todo va muy fluido.

Después he conectado mi dongle WiFi y lo he configurado sin ningún problema a través del menú Sistema, así que he podido buscar y descargar actualizaciones. La verdad es que solo he podido descargar un par de actualizaciones porque una de ellas ha provocado un kernel panic que ha hecho que el sistema se colgara y no he podido volver a arrancarlo. Me he quedado sin probar la última de las cosas que quería probar, y es precisamente la que me hizo abandonar XBian en un principio, y no es otra que la función de descarga de subtítulos.

La impresión final que me he llevado es que el sistema se mueve muy fluido incluso en el modelo B+, pero si una actualización puede mandar todo al traste entonces (todavía) no estoy listo para volver a XBian.

Instalación de FlexGet y configuración (I): series

En la entrada de hoy voy a tratar uno de los temas principales por los que adquirí mi Raspberry, que no es más que la búsqueda automática y descarga de series y películas. Esto lo consigo mediante el programa FlexGet (disponible para todas las plataformas). A lo largo de una serie de artículos iré tratando diversos temas de configuración para conseguir diferentes objetivos, viendo en este primero la instalación y configuración para descargar las series que sigo en versión original.

Instalación de FlexGet

La instalación de FlexGet en XBian no es diferente a la instalación de cualquier otro software en Linux que se encuentre en el repositorio. Para ello, después de conectarnos a nuestra Raspberry mediante ssh al igual que las demás ocasiones, ejecutamos la instrucción que instalará python en caso de no tenerlo: sudo apt-get install python python-setuptools

Instalacion de Python

Ahora instalamos FlexGet y unos componentes extras mediante easy_install: sudo easy_install flexget mechanize transmissionrpc

Instalación de flexget

Tardará un rato, pero con ello ya lo tenemos instalado y lo podemos comprobar ejecutando el comando flexget -V:

Comprobacion de la instalacion

Pero si no lo configuramos adecuadamente no haremos nada, y es en la configuración donde FlexGet se hace fuerte, ya que su configuración es muy amplia y nos permite hacer muchas cosas. El precio que tenemos que pagar es que llegar a entender esa configuración puede llegar a ser complicado.

Primero tenemos que crear el directorio donde irá la configuración y la base de datos mediante mkdir /home/xbian/.flexget y luego para entrar en la configuración de FlexGet lo hacemos mediante el comando nano /home/.flexget/config.yml

Creación del directorio
Configuración inicial de flexget

Como ya os he comentado FlexGet tiene muchas opciones. Yo lo que voy a hacer es dejaros a continuación lo que yo tengo en mi fichero de configuración y sobre él os comento:

tasks:

  tv-shows:
    series_premiere: yes

    transmission:
      path: /mnt/disco1gb/tvshows
      host: localhost
      port: 9091
      username: transmission
      password: ********
      addpaused: no

    rss: http://rss.thepiratebay.se/208

    thetvdb_lookup: yes

    quality: 720p HDTV h264

    regexp:
      reject:
        - SUB
        - DUAL
        - WEB
        - CENSORED
        - SCREENER
        - LATINO

    content_filter:
      reject:
        - '*.avi'
        - '*.mpg'
        - '*.mpeg'

    series:
      - 12 Monkeys:
        path: /mnt/disco1gb/tvshows/12_Monkeys
      - Game of Thrones:
        path: /mnt/disco1gb/tvshows/Game_of_Thrones
        set:
          tvdb_id: 121361
  • tasks aquí indicamos las tareas.
    • tvshows inicio de la configuración de la tarea de series
      • series_premiere poniendo este valor a YES le decimos a FlexGet que se descargue todos los capítulos de series no conocidas y cuyo nombre contenga S01E01. Esto sirve para descubrir nuevas series y programas. OJO, solamente bajará el capítulo 1, si al final la queremos seguir habrá que añadirla en la sección de más abajo.
      • transmission aquí le indicamos configuración de tranmission específica para esta tarea, en este caso de series.
        • path este será el directorio por defecto de todas las series. Sobreescribe el directorio indicado en presets / global
        • host por si conectamos a un transmission remoto. En mi caso es localhost porque están en la misma máquina.
        • port puerto de conexión. Por defecto es el 9091.
        • username usuario para conectarse. Si no lo cambiaste al instalarlo, por defecto es transmission.
        • password contraseña para conectarse. Por defecto sería también transmission.
        • addpaused poniendo esto a NO permite que las descargas se inicien automáticamente al ser añadidas. Si ponemos YES entonces se añaden pausadas y tenemos que arrancarlas manualmente.
      • rss este será el RSS donde FlexGet buscará los torrent. El que yo tengo indicado corresponde a la sección HD de series en TPB, pero podéis indicar cualquier otro.
      • thetvdb_lookup esto sirve para que FlexGet busque los ficheros en la web thetvdb.com para poder identificar mejor las series en caso de series con nombres parecidos.
      • quality indicamos la calidad mínima a la que queremos nuestros capítulos. Yo lo tengo a 720p, lo que quiere decir que si encuentra alguno a 1080p también lo bajará.
      • regexp para definir términos de aceptación y/o rechazo.
        • reject para rechazar torrents. En mi caso lo uso para no descargar capítulos ya subtitulados (SUB), con doble audio (DUAL), con calidad web que suele ser mala (WEB), etc etc.
      • content_filter sirve para filtrar por tipo de archivo.
        • reject para rechazar, igual que en el apartado anterior.
          • ‘*.avi’ rechaza todos los archivos .avi
    • – Nombre_de_la_serie bastante auto-explicativo.
      • path si tenemos definido un directorio específico para esa serie lo indicamos aquí.
      • set aquí podemos indicar configuración adicional solo para esa serie.
        • tvdb_id si la serie tiene entrada en la página de thetvdb aquí podemos indicar su ID para evitar problemas con series con nombre muy parecidos.

Es MUY importante respetar la indexación, esto es, el número de espacios que hay al comienzo de cada linea. Es así porque el fichero de configuración es un YML y FlexGet espera esa estructura. Si en lugar de por ejemplo 4 espacio ponemos 3 o 5, el fichero de configuración podría no funcionar o funcionar incorrectamente.

Ahora que ya lo tenemos todo salimos del editor con CTRL+X, confirmamos que queremos escribir con Y y presionamos ENTER para no cambiarle el nombre.

¿Cómo podemos saber que lo hemos hecho bien? lo primero sería comprobar que la estructura del fichero config.yml es correcta. Esto es un proceso más o menos rápido que se consigue con el comando flexget check

Check pasado satisfactoriamente

Como podéis ver en la imagen el resultado de la tarea es passed, lo que quiere decir que está bien. Si hubiéramos tenido algún error en el fichero nos habría dado error e indicado la sección donde se encuentra.

Ahora podemos hacer una segunda comprobación que consiste en que FlexGet se conecte al RSS que le hemos indicado en la configuración y “descargue” los capítulos correspondiente (en caso de que los haya). Lo entrecomillo porque realmente utiliza una base de datos temporal que es eliminada después de la ejecución, por lo que realmente no descarga nada. Esta comprobación la hacemos con el comando flexget ––test execute (dos guiones)

Check funcionando sin problema

Aquí ya la salida ofrecida es más larga, pero sería conveniente revisar las lineas para ver que está rechazando entradas correctamente según lo definido.

Y ya estaría listo, cada vez que ejecutemos el comando flexget lanzaríamos la comprobación para ver si hay capítulos nuevos a descargar y los incorporaría directamente a transmission. El próximo día os enseñaré cómo hacer para que se ejecute cada cierto tiempo para automatizarlo aún más.