Modificar las fechas con Touch

Como seguramente sabréis, XBMC (ahora Kodi) permite ordenar las películas de diferentes formas, por ejemplo título, puntuación o fecha. A mi me gusta esta última porque así puedo saber cuales son las películas más recientes. El problema es que Kodi utiliza la fecha de modificación del archivo en lugar de buscar la fecha de estreno utilizando alguna web o servicio.

Pero hay una forma de solventarlo manualmente utilizando el comando touch. Este comando permite hacer varias cosas (como crear un fichero vacío) y una de ellas es modificar la fecha de modificación a nuestro gusto. Es tan fácil como escribir touch -t seguido de la fecha y el nombre del fichero. La fecha tiene que estar en formato YYYYMMDDHHmm donde YYYY es el año, MM es el mes, DD es el día y HHmm son las horas y los minutos.

Por ejemplo, imaginad que hemos incorporado a nuestra biblioteca la película Ahí os Quedáis. Nos vamos a IMDB (por ejemplo) y vemos que la fecha de estreno en España fue el 3 de octubre de 2014. Así pues, en el terminal escribimos touch -t 201410030000 <pelicula> Yo siempre utilizo 0000 para la hora y los minutos porque para las películas es un dato irrelevante.

Lo malo es que Kodi no actualiza estos cambios aunque forcemos una actualización, por lo que si ya la habíamos incorporado a la librería primero tendremos que borrarla y luego volver a añadirla. ¡OJO! no vayáis a borrar el fichero, solo la entrada en la librería.  

Como podéis ver la fecha que muestra Kodi ya es la fecha de estreno, por lo que de este modo podemos tener nuestra colección correctamente ordenada.

Anuncios

Articulo resumen y guía rápida

  1. Instalar Raspbmc en la tarjeta SD mediante el método que más nos guste. Enlace: http://www.raspbmc.com/download/
  2. Iniciar el sistema conectado con el cable de red y todos los discos enchufados, y esperar a que termine de configurarse.
  3. Conectar el dongle WiFi y reiniciar habiendo desconectado el cable de red.
  4. Configuración adicional de XBMC:
    1. Habilitar bob light support (para hacer un ambilight en el futuro).
    2. Cambiar región.
    3. Cambiar país.
    4. Deshabilitar Ignorar los artículos al ordenar (cuestión de gustos).
    5. Habilitar Permitir el renombrado y borrado de archivos (para poder borrar archivos después de verlos).
    6. Habilitar Actualizar la colección en el arranque (nunca viene mal).
    7. Seleccionar la acción por defecto: mostrar información (nuevamente, cuestión de gustos).
    8. Idioma de subtitulo preferido: english (cada cual que elija el idioma que quiera).
    9. Servicio de tv por defecto: conseguir más > opensubtitles.org > instalar (para poder bajar los subtítulos de las series).
    10. Seleccionar ubicación para el tiempo (me gusta poder ver la previsión).
    11. Instalar Add-on de Youtube (para poder ver los trailers).
    12. Habilitar AirPlay (aunque aun no he sido capaz de hacerlo funcionar).
  5. Reiniciar el sistema para aplicar los cambios.
  6. Añadir los vídeos a la biblioteca indicando si las carpetas son de series o de películas. Enlace: Añadir contenido a XBMC
  7. Revisar si hay series o películas que ha cogido mal o no ha reconocido y arreglarlo.
  8. Actualizar el sistema mediante el comando sudo apt-get update && sudo apt-get upgrade
  9. Instalar transmission mediante el comando sudo apt-get install transmission-daemon Enlace: Instalación de transmission
  10. Parar transmission-daemon mediante sudo /etc/init.d/transmission-daemon stop para configurar el fichero /var/lib/transmission-daemon/info/settings.json y luego re-arrancarlo con sudo /etc/init.d/transmission-daemon start
  11. Instalar sendemail mediante el comando sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl sendemail Enlace: Recibir un email al finalizar una descarga
  12. Arreglar sendemail con sudo nano +1907 /usr/bin/sendemail y modificar la linea donde dice SSLv3 TSLV1 para dejar solamente SSLv3
  13. Instalar flexget mediante sudo apt-get install python python-setuptools ; sudo easy_install flexget mechanize transmissionrpc
  14. Comprobar que flexget se ha instalado bien ejecutando flexget -V
  15. Crear un directorio de configuracion de flexget con mkdir /home/pi/.flexget y editar la configuracion con nano /home/pi/.flexget/config.yml
  16. Editar el fichero config.yml para que envíe un email al encontrar un fichero, la frecuencia del daemon y añadir todas las series a seguir. Enlace: Instalación de flexget y configuración (I): series.
  17. Comprobar la sintaxis de la configuracion mediante flexget check
  18. Hacer un test de descarga mediante flexget –test execute
  19. Indicar el punto donde tiene que empezar a descargar las series mediante flexget series begin “<SERIE>” S<temporada>E<capitulo>” Enlace: Cómo decirle a flexget que ya hemos visto un capítulo
  20. Iniciar el daemon mediante flexget daemon start -d Enlace: FlexGet en Daemon mode y Scheduling
  21. Instalar curl
  22. Configurar fichero de download_complete para mover los archivos .mkv, borrar carpeta bajada y actualizar la librería con curl. Enlace: Movimientos de ficheros y auto-actualizacion de librería
  23. Ejecutar ssh-keygen para generar las claves y añadir la clave pública de nuestro equipo al archivo /home/pi/.ssh/authorized_keys de la raspberry. Enlace: Utilización de claves pública y privada

 

Contenido fichero download_complete.sh

#!/bin/bash

#Se envia un email de que ha finalizado la descarga
USUARIO="<usuario>"
PASSWORD="<contraseña>"
DIRECCION="$USUARIO@gmail.com"
ASUNTO="[Transmission] Descarga finalizada"
MENSAJE="Se ha completado la descarga del trabajo \n$TR_TORRENT_NAME\nHora: $TR_TIME_LOCALTIME\nFolder: $TR_TORRENT_DIR\nID: $TR_TORRENT_ID"
SERVIDOR="smtp.gmail.com:587"
sendemail -f $DIRECCION -t $DIRECCION -u $ASUNTO -m $MENSAJE -s $SERVIDOR -xu $USUARIO -xp $PASSWORD -v -o username=$USUARIO -o password=$PASSWORD -o tls=yes

#mueve los ficheros mkv de la carpeta de descarga a su carpeta padre
find "$TR_TORRENT_DIR/$TR_TORRENT_NAME" -name "*.mkv" ! -name *sample* -exec mv {} "$TR_TORRENT_DIR" \; | logger

#borra los archivos y carpetas que no son mkv de la carpeta de descarga
find "$TR_TORRENT_DIR/$TR_TORRENT_NAME" ! -name "*.mkv" -exec sudo rm -r {} \; | logger #debian-transmission tiene que ser sudoer para borrar

#Actualizacion de la libreria de video
curl --data-binary '{ "jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "mybash"}' -H 'content-type: application/json;' http://localhost/jsonrpc

 

Contenido fichero config.yml

schedules:
 - tasks: '*'
 interval:
 hours: 2

tasks:

  tv-shows:
    series_premiere: no

    email:
      from: <usuario>@gmail.com
      to: <usuario>@gmail.com
      smtp_host: smtp.gmail.com
      smtp_port: 587
      smtp_username: <usuario>
      smtp_password: <contrasena>
      smtp_tls: yes

    transmission:
      path: /media/e864a2d9-5479-41a6-852f-4dbd2166cd12/tvshows
      host: localhost
      port: 9091
      username: transmission
      password: <contraseña de transmssion>
      addpaused: no

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

    thetvdb_lookup: yes

    quality: 720p HDTV h264

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

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

    series:
      - 12 Monkeys:
        path: "/media/My\ Book/tvshows/12 Monkeys"
        set:
          tvdb_id: 272644
      - 2 Broke Girls:
        path: "/media/My\ Book/tvshows/2 Broke Girls"
        set:
          tvdb_id: 248741

Instalación, configuración y pruebas en RaspBMC

Como no quería escribiros otra entrada fallida, el siguiente intento de hacer funcionar XBMC sobre Raspbian no lo documenté, pero creo que es suficiente con decir que tampoco funcionó.

La instalación fue bien, sin problemas, siguiendo el último de los métodos que comenté en la entrada anterior. Sin embargo, una vez dentro de XBMC el sistema se comportaba de forma errática, los menús parpadeaban y había muchas letras que no podían leerse. Puede resumirse en que no era para nada utilizable. La siguiente opción que se me ocurrió fue probar otra distribución.

Las dos opciones que me quedaban disponibles (aparte de XBian) eran OpenElec y RaspBMC. Lo bueno que tiene OpenElec es que es una distribución creada desde cero para funcionar como gestor multimedia en la raspberry pi (bueno, y en otros sistemas), pero lo malo es que al no estar basada en Debian habría muchas cosas que probablemente no podría utilizar, y no quería arriesgarme a que no pudiera instalar flexget o transmission. Así que la decisión que tomé fue la de instalar RaspBMC que como su nombre deja entrever, está basada en raspbian, lo cual es bueno.

Fui siguiendo las entradas de mi blog desde casi el principio para hacer la instalación y configuración, pero adaptando un poco los pasos a raspBMC. Una vez la tuve conectada a la red las pruebas fueron esta vez con el primer capítulo de la cuarta temporada de Falling Skies.

Descargar subtítulosComo veis ya que no hay ningún subtítulo disponible en el video nos da la opción de descargar uno. Le doy.

20140627-113606-41766779.jpg

Me dice que no tengo ningún servicio de subtítulos instalados, lo cual es cierto, así que me voy al menú principal y luego a Ajustes > Video donde, en las últimas versiones de XBMC, hay un menú de subtítulos en lugar de tener que ir al submenú de Skin como pasaba en XBian. En ese menú bajamos hasta la opción que dice Servicio de TV por defecto

20140627-113607-41767489.jpg

Al hacerlo, nos dice que podemos instalar uno o varios de los servicios que ofrece. Yo en mi caso he instalado el de subtítulos.es y opensubtitles.org. Si solo vais a coger uno os recomiendo este último.

20140627-113607-41767933.jpg

Una vez seleccionado el servicio de subtítulos que queremos usar, volvemos al menú de subtítulos del video donde al darle al botón descargar nos saldrán todos los subtítulos que ha encontrado disponibles para ese capítulo.

20140627-113608-41768515.jpg

Lo suyo es elegir el nombre del subtítulo que se ajuste exactamente el nombre de nuestro episodio, en este caso con HDTV x264 KILLERS. A la izquierda podéis ver que el subtítulo es en inglés. Lo que pone como sync es que ese subtítulo está sincronizado para nuestro fichero, y lo que pone CC con los close captions o lo que nosotros conocemos como subtítulos para sordos, y que contienen también cosas como [Ruido], [musica] y cosas así.

Una vez seleccionado el subtítulo que queremos veréis que el menú de subtítulos ha cambiado ligeramente para decirnos que ya tenemos un subtítulo.

20140627-113608-41768817.jpg

Y teniéndolo activado el resultado es este.

20140627-113609-41769700.jpg

Justo lo que yo quería. Si curioseáis un poco por las opciones del Add-on de subtítulos podéis ver que podéis descargar los subtítulos en la misma carpeta del fichero como he hecho yo en mi caso, o podéis decirle que los descargue todos a una carpeta en específico. Eso ya es a gusto del consumidor.

Ahora ya solo me queda instalar transmission y flexget y a correr.

Instalación de XBMC sobre Raspbian

Tal como comenté en la entrada anterior, ya que parece que mi instalación de XBian no debe de andar muy fina porque no me deja usar/instalar Add-ons, voy a intentar hacer una instalación de XBMC sobre Raspbian. El único inconveniente de esto es que no será fool proof (a prueba de tontos) y con el autoarranque chulo de XBian, pero creo que me dará más flexibilidad y control sobre todo.

Bueno, lo primero es descargar la última versión de Raspbian desde aquí y luego proceder con la copia en una tarjeta SD que tengo de 4GB siguiendo las instrucciones de una de las primeras entradas y que podéis ver aquí.

Ahora arranco la Raspberry con la tarjeta recién preparada habiéndole conectado previamente un teclado y un monitor (o televisor) ya que por defecto Raspbian no trae el servicio SSH iniciado. Dicen que lo hacen así porque todo el mundo conoce el usuario y contraseña por defecto (pi, raspberry) pero yo creo que sería más sencillo si lo hicieran y no nos forzaran a conectar un monitor y teclado para luego habilitar SSH y poder hacer tranquilamente la instalación en remoto. En fin…

Raspi-config

Lo primero que se nos presenta la primera vez es la conocida como raspi-config, una pequeña utilidad que nos permite ciertas modificaciones que veremos en detalle más adelante. Yo lo primero que quiero es habilitar el servicio de SSH para poder conectarme tranquilamente en remoto, así que voy a Opciones Avanzadas (Advanced Options) y después al menú donde dice SSH.

Advanced Options

SSH

Habilitar servidor SSH

Como podeis ver nos pregunta si queremos habilitarlo (Enabled) o deshabilitarlo (Disabled). En mi caso pulso en Enabled.

Ya que estamos en raspi-config, aunque luego volveré a abrirlo en remoto, voy a aprovechar y hacer la expansión de la partición para que ocupe todo el espacio disponible en la tarjeta SD. Eso se hace en la primera opción del menú principal Expand filesystem.

Redimensionado de la partición

Como veis nos dice que los cambios se verán aplicados después del próximo reinicio aunque no nos fuerza a reiniciar, pero yo lo fuerzo (comando reboot) y conecto el cable ethernet. Así, después de reiniciar veo la siguiente pantalla donde puedo apreciar que ya ha sido asignada automáticamente la dirección IP 192.168.0.115.

Primer arranque con IP

Ahora ya puedo conectarme por ssh desde mi máquina usando el terminal, utilizando el usuario pi y la contraseña por defecto raspberry, y sabiendo la dirección IP que me ha mostrado el log de arranque (en mi caso 192.168.0.115).

Conexión a Raspbian con ssh

Antes de nada y por motivos de seguridad, voy a cambiar la contraseña por defecto con el comando passwd.

Cambiar contraseña

Ok. Ahora voy a volver a entrar en configuración que vimos antes mediante el comando sudo raspi-config y hago los siguientes cambios:

  • 3 Enable Boot to Desktop/Scratch >  Console Text console, requiring login (default). Para que por defecto arranque en modo consola.
  • 4 Internationalisation Options > I2 Change Timezone. Para configurar el país a efectos de fecha y hora.
  • 5 Enable Camera > Disable. Básicamente porque no la tengo.

Y ya está. Cuando le doy a Finish para salir de raspi-config me pregunta si quiero reiniciar, así que le digo que sí y espero unos segundos hasta que el servicio de ssh vuelve a responder para conectarme. Ahora busco posibles actualizaciones del sistema con el comando sudo apt-get upgrade ; sudo apt-get update (esto no podía hacerse en XBian porque podías cargarte el sistema).

Antes de liarme con la configuración de Samba y demás, voy a ir al lío a hacer la instalación de XBMC. En su sitio web (xbmc.org) encuentro que para proceder con la instalación tengo que ejecutar los siguientes comandos:

  • sudo apt-get install python-software-properties pkg-config
  • sudo apt-get install software-properties-common
  • sudo add-apt-repository ppa:team-xbmc/ppa
  • sudo apt-get update
  • sudo apt-get install xbmc

Así que los ejecuto uno a uno, respondiendo Yes cada vez que me pregunta si estoy seguro de que quiero proceder con la instalación.

Error al instalar XBMC

Como veis el update dio un error de conexión al repositorio y la instalación de XBMC ha fallado porque parece que no encuentra el paquete. Me vuelvo a meter en la página de xbmc.org y esta vez encuentro otra página (esta) que explica mucho mejor qué hay que hacer, y veo que me había dejado un montón de cosas. Así que nada, hago todo lo que dicen…

Bueno, pues después de 4 horas (exactamente 4 horas y 10 minutos) recibo un error de la compilación y cuando ejecuto el comando sudo make install me da un error.

Error de compilación

Busco en Google ese error y parece que las instrucciones que he estado siguiendo durante toda la mañana está totalmente desactualizadas. Así que navegando por la página de elinux.org encuentro otras instrucciones que añaden un repositorio y hace la instalación desde apt-get

  • sudo echo “deb http://archive.mene.za.net/raspbian wheezy contrib” > /etc/apt/sources.list.d/mene.list
  • sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-key 5243CDED
  • sudo apt-get update
  • sudo apt-get install xbmc

Después de esto ejecuto xbmc así a pelo y el sistema se queda como parado, así que me voy a la tele y veo que efectivamente XBMC está corriendo.
XBMC corriendo en Raspbian Lo único que no me gusta es que con todo el rollo anterior me da la sensación de que la instalación de Raspbian o incluso de XBMC haya quedado con basura, por lo que después de las pruebas de los subtítulos volveré a hacer una reinstalación. Total, si no tengo que recompilar no tengo que estar 4 horas mirando 🙂

Ahora tengo que montar los discos. Como uno de ellos está en formato exFAT, tengo que instalar un par de paquetes para que Raspbian lo reconozca, y lo hago con sudo apt-get install exfat-fuse exfat-utils.

Instalando fuseAhora tengo que crear los puntos de montaje para los discos. Lo hago creando los directorios /mnt/disco1TB y /mnt/disco2TB con el comando mkdir

Creando puntos de montaje

Ahora podría montarlos con el comando mount pero como quiero que se monten automáticamente después de los reinicios, lo que hago es editar el fichero /etc/fstab con el comando sudo nano /etc/fstab y escribo lo siguiente

/etc/fstabComo veis he creado dos entradas, una por cada disco, donde le indico el dispositivo (dev), el punto de montaje, el tipo de sistema de ficheros, y algunas opciones más que podemos dejar así.

Ahora reinicio y miro a ver si se han montado los discos con el comando df- h

df -h

Bien, ejecuto XBMC mediante el comando xbmc, después presiono CTRL+Z para que quede en segundo plano y me devuelva el control de la terminal y luego ejecuto el comando bg para decirle que el proceso que he dejado parado siga corriendo en segundo plano.

ejecutando XBMC en segundo plano

Ahora puedo irme a la tele y ver que XBMC está corriendo. Lo que voy a hacer ahora es añadirle la fuente de series al igual que os enseñé en esta entrada, para poder volver a probar el tema de los subtítulos.

Pueeeeeees resulta que cuando intento navegar por los menús de XBMC o se queda medio colgado o me muestra caracteres raros, así que creo que tenía yo razón con lo de que los intentos de instalaciones previas me lo iban a corromper. Una vez más tengo que capitular (por ahora). Lo que haré será volver a cargar la imagen limpia de Raspbian y luego instalar XBMC con la forma que (en teoría) funciona, a ver si así no da problemas. Parece que el premio se me resiste una vez más…

Configuración de FlexGet (II): subtítulos

Ahora que flexget está funcionado de forma autónoma descargando los capítulos de las series que me gustan, lo siguiente que quiero hacer es que se descargue los subtítulos, porque mi nivel de inglés no es como para ponerme a dar clases y sin subtítulos me pierdo muchas cosas. Obviamente también debería servir para todos los que no hablen inglés (o el idioma de la serie en cuestión, vaya) y quieran ver sus series favoritas subtituladas en español.
Así pues, lo primero que voy a hacer es entrar en XBMC e irme al apartado de series para ver si hay algo que ver.

Episodio añadido recientemente
Hay suerte y parece que acaba de bajarse el primer capítulo de la segunda temporada de Defiance (la primera temporada no fue gran cosa, pero vamos a darle otra oportunidad), así que lo vamos a usar para las pruebas. Entro dentro de los menús y me voy para reproducirlo, igual que si fuera una película.

Información del capítulo
Lo reproduzco y lo pauso para irme al menú de subtítulos, que es el quinto empezando por la derecha, tiene forma de televisor con una línea debajo.

Menú subtítulos
Obviamente aún no tiene ningún subtitulo, así que le doy al botón de Conseguir más… a ver qué pasa.

Add-ons - Subtítulos
Mmm tiene buena pinta, me ha llevado al menú para instalar un Add-on de subtítulos que dice que buscará en diferentes proveedores, así que le voy a dar a ver qué hace.

Información del Add-on XBMC subtitles
Vale, como no está instalado me pide confirmación, así que le doy a instalar. XBian parpadea un par de veces y parece como que se ha reiniciado, raro. No me asusto y vuelvo a la parte de Series de TV a ver si ha hecho algo. Mi capítulo sigue ahí así que vuelvo a darle a reproducir y al igual que antes lo pauso para entrar en el menú de subtítulos. Aún me dice que no tiene ninguno, así que vuelvo a darle a Conseguir más. Ahora el Add-on ya no aparece así que le doy a los dos puntos para subir un nivel.

Add-ons activados
No veo nada, pero recuerdo que al instalar el Add-on ponía que había que activarlo, así que después de perderme un rato por la configuración creo que lo he encontrado en el menú Sistema, Apariencia, Skin y ahí en Configuracion y luego en Add-on Accesos Directos.

Ajustes de skin - Add-on
Entro en donde dice OSD de video y pincho en Add-on para subtítulos. Me sale que no hay ninguno así que le pincho en Conseguir más pero me vuelve a salir una lista vacía ¿se habrá instalado mal? Voy a ver si consigo ver algo.
Llevo un rato trasteando por la configuración y no encuentro nada. Me resulta extraño que cuando le digo que quiero instalar más Add-ons sólo me nuestra listas vacías, así que como antes me ha salido el mensaje de que hay paquetes por actualizar, voy a hacerlo a ver si tiene algo que ver. Después de instalar las actualizaciones le digo que se reinicie aunque el sistema no me lo ha pedido, que siempre viene bien. El sistema se levanta bien pero no coge red, cosa que me pasa a veces así que le doy unos minutos a ver si la coge sólo. No se si esto pasa con todos los XBMC o sólo con XBian, pero a veces tengo tentaciones de instalar el paquete de XBMC en un Raspbian a ver si no me da tantos problemas con la WiFi. De momento decido dejarlo para otro día y me meto en la configuración de red a ver si consigo que se conecte. Mira por donde la WiFi levanta sola esta vez.
Voy a intentar hacer lo del Add-on de subtítulos otra vez a ver si ahora hay más suerte.
La cosa sigue igual pero me mosquea que la hora del sistema no se haya actualizado de Internet como hace siempre ¿será un problema de red lo que provoca todo esto? Voy a ver si puedo quitar los DNS que me da por defecto mi ISP (proveedor de internet, en mi caso Telenet) y voy a poner los de Google a ver si cuela.
Qué raro, cuando le he cambiado los DNS he ido a las actualizaciones y me vuelven a salir unas cuantas ¿será que XBian no está bien? ¿Estará corrupto? Voy a intentar instalarlos otra vez.
Nada, no hay manera, la lista de Add-ons sale vacía. He googleado y parece que el problema es común. He probado a borrar el archivo /home/xbian/.xbmc/userdata/Database/AddonsXX.db y luego he reiniciado. Otra vez el problema con la WiFi (prffffff). Consigo que se conecte, después me voy al menú Add-on, Conseguir Add-ons y le digo que fuerce un refresco mediante el menú secundario. Me sale la ventana de Cargando, lo cual es bueno porque se supone que está haciendo algo, así que dejo que el círculo de unas cuantas vueltas durante un rato.

Add-ons - XBMC.org Add-ons
Después de un rato consigo este menú, que tiene buena pinta así que me meto en donde dice Subtítulos y me dice XBMC subtitles, igual que la primera vez. Parece que no está instalado, así que vuelvo a darle a Instalar a ver si esta vez funciona. Ventanita de cargando y parece que no ha hecho nada. Lo vuelvo a intentar desde el menú Skin. Ventanita de cargando… Y nada, ahí sigue impasible, no se instala ¿será un problema de permisos que no estoy viendo?
Después de trastear un rato por Google y otro tanto por la configuración he visto que el problema es generalizado con todos mis Add-ons ya que no he conseguido hacer funcionar ninguno, así que la entrada de hoy ha sido un fracaso. El próximo día intentaré hacer una copia de seguridad de la base de datos de flexget y hacer una reinstalación, pero como digo, eso ya para otra entrada.

Instalación de Transmission

Bueno, tal como comenté en la última entrada, ahora que hemos terminado de configurar nuestra Raspberry como mediacenter y le hemos enlazado toda nuestra librería, es hora de hacer que también funcione como gestor de descargas.

Para ello yo voy a utilizar Transmission, que es un cliente bastante ligero y que funciona muy bien. Además, existe posibilidad de ir añadiendo ficheros desde cualquier otro equipo mediante su interfaz web. Yo esto lo he utilizado incluso para añadir descargas desde fuera de mi red local, lo cual es muy útil en algunos casos.

Creo que XBMC da la posibilidad de instalar Transmission como un programa dentro del propio mediacenter, pero esto es algo que no he probado y no sé muy bien cómo funciona, quizás lo investigue en profundidad en el futuro.

Antes de instalar nada nuevo siempre me gusta cerciorarme de que el sistema está totalmente actualizado. Esto nos ayudará a que no haya problemas de compatibilidad de paquetes a la hora de instalar algo nuevo.

Usando XBian, la forma de hacerlo será yendo a Sistema > Ajustes > XBian > Update

20131228-203802.jpg

20131228-203826.jpg

20131228-203840.jpg

Aquí podemos ver tanto si el kernel de nuestro sistema está actualizado como si lo están los paquetes adicionales.

20131228-204429.jpg

En mi caso tengo pendientes de instalar algunos paquetes. Podríamos ir uno a uno diciéndole que los instale, pero la forma más rápida de instarlos todos es bajando hasta el final de la lista, donde nos da una opción para actualizarlos todos.

20131228-204453.jpg

20131228-204531.jpg

Después de instalar las actualizaciones, salimos del menú. XBian hará una comprobación para ver si alguna de las actualizaciones hace necesario un reinicio del sistema. En caso de ser necesario, nos presentaría una ventana preguntando si queremos reiniciar ahora.

Una vez reiniciado (en caso de haberlo hecho), nos conectamos mediante terminal usando el comando ssh xbian@[dirección IP]

Captura de pantalla 2013-12-29 a la(s) 11.14.46

Ahora procedemos con la instalación de nuestro cliente. En nuestro caso se llama transmission-daemon, y lo instalamos con el comando sudo apt-get install transmission-daemon

Captura de pantalla 2013-12-29 a la(s) 11.15.19

El sistema comenzará con la instalación de Transmission, y una vez acabada arrancará el servicio que irá corriendo en background, llamado transmission-daemon.

Captura de pantalla 2013-12-29 a la(s) 11.15.42

Captura de pantalla 2013-12-29 a la(s) 11.16.39

En este punto tenemos nuestro gestor de descargas funcionando, pero tenemos que hacer cambios referentes a los directorios de descarga, acceso web y otros. Lo primero que haremos para realizar estos cambios será parar el servicio mediante el comando sudo /etc/init.d/transmission-daemon stop

Captura de pantalla 2013-12-29 a la(s) 11.17.07

Ahora ya podemos proceder con los cambios en la configuración, la cual se encuentra en un archivo llamado settings.json. Para editarlo ejecutamos el comento sudo nano /var/lib/transmission-daemon/info/settings.json

Captura de pantalla 2013-12-29 a la(s) 11.17.45

A continuación os pongo los cambios que he llevado yo a cabo, así como el significado de cada uno. Podéis ver que hay muchísimas más cosas a configurar, por lo que si tenéis interés podéis buscar sus significado en la página de Transmission aquí.

  1. “download-dir”: “/media/drive/torrent/finish”  <-este es el directorio por defecto de las descargas si no se indica lo contrario
  2. “download-queue-size”: 20 <-número de elementos simultáneos que se pueden descargar
  3. “incomplete-dir-enabled”: true <-esto sirve para que los archivos que aun se están descargando vayan a un directorio distinto de los ya descargados.
  4. “incomplete-dir”: “media/drive/torrent/temp” <-aquí es donde se almacenan los archivos incompletos
  5. “rpc-enabled”: true <-esto habilita la interfaz web para poder manejarlo desde un navegador
  6. “rpc-username”: “transmission” <-el nombre de usuario que usaremos para logarnos en la web
  7. “rpc-password”: “password” <-la contraseña para la interfaz web
  8. “rpc-whitelist-enabled”: false <-esto lo pondremos a true si queremos una whitelist, que sirve para que solamente ciertas direcciones IP puedan conectarse a la web de Transmission. Yo lo deshabilito porque como accedo desde el móvil y la IP cambia, entonces no podría hacerlo.
  9. “rpc-port”: 9091 <-el puerto para acceder a la web
  10. “script-torrent-done-enabled”: true <-esto es por si queremos que ejecute un script cada vez que termine una descarga.
  11. “script-torrent-done-filename”: “/home/xbian/scripts/download_complete.sh” <-este es el script. Lo explicaré más adelante en otra entrada
  12. “watch-dir”: “/var/flexshare/shares/watch-torrent” <-este es el directorio donde, si copiamos un archivo .torrent, Transmission lo añadirá automáticamente a la cola de descargas.
  13. “watch-dir-enabled”: true <-esta es la opción para habilitar la monitorización automática de un directorio en busca de archivos .torrent.

Captura de pantalla 2013-12-29 a la(s) 11.24.56

Salimos del editor mediante CTRL + C , le damos a Y cuando nos pregunte si queremos guardar y presionamos ENTER para confirmar que el nombre será el mismo.

Ahora que ya hemos hecho los cambios arrancamos de nuevo el cliente mediante el comando sudo /etc/init.d/transmission-daemon start

Captura de pantalla 2013-12-29 a la(s) 11.26.06

Si todo ha ido bien deberíamos poder acceder a la interfaz de Transmission entrando la dirección de la Raspberry en el navegador de cualquier otro equipo (ordenador, tablet o Smartphone) indicando el puerto 9091 (o el que pusierais en la configuración). Si accedeis desde el navegador de la propia Raspberry, entonces la dirección sería la localhost o 127.0.0.1 Si no lo habéis cambiado durante la configuración, el usuario por defecto es transmission y el password también es transmission

Captura de pantalla 2013-12-29 a la(s) 12.07.08Captura de pantalla 2013-12-29 a la(s) 12.07.17

Podéis hacer la prueba de añadir un archivo torrent y ver cómo empieza a bajar al directorio que habéis indicado por defecto. Lo bueno es que también admite magnet links.

Captura de pantalla 2013-12-29 a la(s) 12.08.40

Captura de pantalla 2013-12-29 a la(s) 12.10.21

Lo voy a dejar aquí de momento aunque seguro que hay una pregunta en vuestras cabezas: ¿cómo accedo al directorio donde se bajan los archivos? Esto lo veremos en la próxima entrada, aunque os adelanto la respuesta: SAMBA.

Añadir contenido a XBMC

Continuamos el proceso de configuración de la Raspberry como mediacenter y gestor de descarga. Para ello vamos a conectar el disco duro donde se guardaran los ficheros.

Yo me he decantado por un disco Seagate de 2 TB e interfaz USB3 de 3.5″ (podéis verlo en Amazon aquí).

Seagate de 2TB y USB3

Conecto el disco a la corriente (necesita alimentación externa) y después a la Raspberry mediante mi hub USB de 7 puertos donde ya tengo también conectado el adaptador WiFi.

Hub USB de 7 puertos

En caso de que el disco no necesitara alimentación externa, es posible que éste fuera alimentado por el propio hub. Teóricamente la Raspberry también podría alimentar pequeños dispositivos directamente desde el USB, pero los discos externos suelen necesitar más corriente de la que puede ofrecer por lo que puede haber fallos en el funcionamiento normal. La forma más fácil de evitar ese problema es mediante un hub USB auto-alimentado que proporciona la potencia necesaria.

Ahora que hemos conectado el disco podemos comprobar desde el propio XBMC si el disco ha sido montado. Para ello iremos al menú Sistema > Info del sistema

Sistema > Info del sistema

Después vamos al menú Almacenamiento donde podemos ver todas las particiones montadas actualmente. En este caso vemos que el disco ha sido montado correctamente como Seagate-5286-5604.

20131117-195224.jpg

El siguiente paso es crear las carpetas donde se almacenará el contenido. Esto es importante sobretodo con el tema de las series porque si no XBMC no se entera y se hace un lío con las temporadas. Además, así queda todo más organizadito (luego más adelante lo explico).

Primero nos conectamos por SSH a la Raspberry.

Conexión a XBian mediante ssh

Buscamos el punto de montaje del disco. Para ello podemos ejecutar el comando df -h

Discos y particiones

En mi caso vemos que el disco ha sido montado en /media/Seagate-5286-5604

Cambiamos nuestro directorio actual de trabajo al del disco.

Cambio de directorio

Y ahora ya podemos proceder a la creación de las carpetas. Por el tipo de contenido que tengo, yo me he decantado por la siguiente estructura:

  • Películas (para las películas)
  • Series (para las series de television)
  • Anime (para el anime)

Captura de pantalla 2013-11-17 a la(s) 20.56.20

En el caso de que nuestra biblioteca de contenido se encuentre totalmente vacía o queramos empezarla desde cero, entonces el proceso de copia que explico a continuación puede saltarse.

A la hora de copiar los ficheros tenemos dos opciones:

  • Hacer la copia en otro ordenador
  • Hacer la copia desde XBian

En caso de decantarnos por la primera opción entonces no hay pérdida: conectamos el disco nuevo al ordenador donde tengamos actualmente nuestra librería y lo movemos (o copiamos) siguiendo la estructura de carpetas que hemos creado: películas, series, etc.
Lo primero que hay que hacer es desmontar el disco para que todos los procesos que pudieran estar a medias utilizando los datos del disco finalicen correctamente.
Nada tan fácil como ejecutar el comando unmount y el nombre del dispositivo (Ej: /dev/sda1). Sin embargo, en este caso, el sistema no nos deja desmontarlo porque nos dirá que existen procesos que están usando este disco, obviamente es XBMC. En este caso la mejor opción es apagar XBian y luego desenchufar el disco.

Si queremos hacer la copia desde XBian significa que nuestro contenido ya se encuentra en un disco externo, por lo que lo primero que hay que hacer es conectar dicho disco a nuestro hub.
Después hay que mirar dónde se ha montado el nuevo disco y proceder con la copia:

Captura de pantalla 2013-11-17 a la(s) 20.57.38

En la captura puede verse dónde está montado cada disco y la forma de hacer la copia de un fichero de un disco a otro.

Para el tema de las series hay un punto muy importante a tener en cuenta: el nombre de los ficheros. XBMC nos permite tener todos los capítulos de diferentes temporadas de una serie en una misma carpeta, o tenerlos separados en subcarpetas por temporada. De una u otra forma, el nombre del fichero debe de seguir la norma de “nombre de serie temporada capitulo”. Yo uso “Serie SxxExx texto”, donde Sxx es el número de temporada (season) y Exx es el número de episodio (ej: Firefly S01E13). También podéis usar el formato “Serie SxEE” (Ej: Firefly 1×13). El texto que haya a continuación es irrelevante, por lo que puede ser el nombre del episodio, el grupo que lo ha ripeado o simplemente estar en blanco. Podéis leer más sobre el tema de la nomenclatura en el sitio de XBMC aquí.

Ya tenemos nuestro disco lleno de contenido conectado a XBian, pero ahora tenemos que decirle a XBMC que ahí se encuentran los ficheros susceptibles de ser reproducidos.

  • Películas

vamos al menú Vídeos > Archivos y le decimos Añadir Vídeos.

20131117-195703.jpg

Después le damos a Buscar, seleccionamos nuestro disco y luego la carpeta que hemos creado a tal fin (en mi caso Películas).

20131117-195907.jpg

20131117-195931.jpg

20131117-200003.jpg

En el campo que pone “Introduzca un nombre para la fuente” podemos darle el nombre que mejor nos lo identifique, en este caso algo tan original como Peliculas.

20131117-200020.jpg

20131117-200114.jpg

20131117-200135.jpg

Ahora tenemos que decirle el tipo de contenido (películas), de dónde queremos que coja los meta datos (The Movie Database) y un par de opciones más a nuestro gusto.

20131117-200214.jpg

20131117-200257.jpg

20131117-200510.jpg

Cuando pregunte si queremos actualizar la librería le podemos decir que sí y el proceso comenzará, por lo que dependiendo de la cantidad de ficheros puede echarse tranquilamente su horita de carga.

20131117-200530.jpg

20131117-200549.jpg

Cuando desaparezca el mensaje quiere decir que nuestra biblioteca de películas está actualizada. Para comprobarlo podemos usar el menú Películas y ver las que se han añadido recientemente:

20131117-200710.jpg

Es conveniente que revisemos el listado de películas ya que en más de una ocasión XBMC se ha confundido al identificarme alguna (normalmente remakes) y ha seleccionado la antigua en lugar de la nueva. En caso de que nos encontremos algún caso así, la forma de arreglarlo es utilizando el menú secundario y diciéndole Actualizar. Entonces nos mostrará una ventana con varios títulos, seleccionamos el correcto y listo.

Esta no es la versión que tengo

Esta sí que es

  • Series

Ahora hacemos lo mismo con las series. Vamos a Vídeos, añadimos una fuente y seleccionamos la carpeta de series (en mi caso voy a hacerlo con el Anime, pero el proceso es igual para las series).

20131117-201026.jpg

Después le decimos que el tipo de contenido es series y seleccionamos las opciones de acuerdo a nuestras preferencias. Para las series podéis usar como scraper (buscador de datos) The TVDB. En mi caso, para el anime, yo he seleccionado AniDB.net

20131117-201316.jpg

Una vez más comenzará una actualización de la biblioteca, que habrá finalizado cuando desaparezca la ventana. Para comprobarlo nos vamos al menú Series desde el menú principal.

Igual que en las películas, recomiendo darle un vistazo a las series para ver si ha identificado mal alguna.

Un error con el que también me he encontrado en más de una ocasión además de que XBMC identifique mal una película, es que no la identifique en absoluto. Ello puede darse por ejemplo si el nombre del archivo está mal escrito. En ese caso, dicha película no aparecerá en el menú Películas por lo que a priori no nos daremos cuenta a no ser que sepamos que debiera estar ahí y no la vemos. ¿Cómo saber si XBMC no ha identificado algún fichero? Desde Sistema > Archivos en el menú principal.

20131117-201635.jpg

Después hay que navegar por los menús hasta el punto donde esté montado nuestra carpeta. Como en mi caso es un disco USB, entonces primero voy a Root filesystem

20131117-201656.jpg

Luego vamos a media > Seagate que es donde el disco está montado.

20131117-201706.jpg

20131117-201723.jpg

Nos mostrará el listado de las películas. Las películas que no tienen la calidad (SD o HD) son las que no ha identificado.

Película no identificada

Para arreglarlo abrimos el menú secundario y seleccionamos actualizar. En este caso no encontrará nada o lo encontrara mal, por lo que tenemos que escribirla nosotros.

Actualizar

Ahora ya encuentra la película
20131117-225239.jpg

Ahí ya vemos cómo está bien identificada. Si nos vamos al menú películas ya debería aparecer.

Película correctamente identificada

Creo que con esto termina la parte de configurar el mediacenter mediante XBMC. A partir de ahí simplemente es cacharrear un poco con las opciones disponibles para ajustarlo más a nuestros gustos y necesidades.

Lo siguiente que abordaré será la instalación del cliente torrent y después la
automatización de las descargas.