Ce tutoriel a pour but de mettre en place FileBot pour faciliter la gestion d'une bibliothèque multimédia (XBMC ou Plex).

Si vous avez des questions ou des remarques vis-à-vis de ce tutoriel : http://mondedie.fr/d/6390

Changelog

  • 06/02/2015 - Simplification de l'installation via filebot portable. Merci à ex_rat (Yama)

  • 05/02/2015 - Modification d'une erreur de copier coller (hydrog3n)

Prérequis

Remarque : Si vous utilisez un autre client torrent, rendez-vous à la fin du tutoriel où se trouve un lien expliquant comment mettre en place FileBot avec µTorrent, qBittorrent, Vuze, Deluge et Transmission.

Introduction

FileBot est un outil permettant d'organiser et de renomer vos films, séries, animés et musiques. Combiné à un petit script, il permet également de télécharger les sous-titres et différents artwork du média, voir même d'extraire les archives automatiquement
Plus d'informations : http://www.filebot.net/

La finalité de ce tutoriel est de rendre toute cette organisation entièrement automatisée afin que la bibliothèque Plex soit à jour sans toucher aux fichiers téléchargés.

En effet, le gros problème que j'ai rencontré avec Plex est que ce dernier n'indexait pas mes fichiers téléchargés car ils avaient un nom spécial (ex : Nom.2015.FRENCH.x264-TRUC.mkv).

Installation de Java 8

Filebot nécessite Java 8 pour fonctionner

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer

Installation de FileBot

Récupération de la version portable de FileBot

cd /tmp
wget http://downloads.sourceforge.net/project/filebot/filebot/FileBot_4.6.1/FileBot_4.6.1-portable.zip
unzip FileBot_4.6.1-portable.zip -d filebot && rm -f FileBot_4.6.1-portable.zip

Remplacer <username> par le nom d'utilisateur utilisé pour rTorrent.

Pour vérifier si une version plus récente est disponible : http://www.filebot.net

On déplace FileBot dans le dossier de l'utilisateur et on lui donne la propriété

cp -R filebot /home/<username>/.filebot
chown -R <username>:<username> /home/<username>/.filebot

Remplacer <username> par le nom d'utilisateur utilisé pour rTorrent.

On rend le script exécutable

chmod a+x /home/<username>/.filebot/filebot.sh
chmod a+x /home/<username>/.filebot/update-filebot.sh

Remplacer <username> par le nom d'utilisateur utilisé pour rTorrent.

Configuration rTorrent + FileBot

Tout d'abord, créez un dossier pour votre bibliothèque

mkdir /home/<username>/Media

Remplacez <username> par le nom d'utilisateur de rTorrent.

Donnez les droits nécessaires

chown <username>:<username> /home/<username>/Media
chmod 755 /home/<username>/Media

Remplacez <username> par le nom d'utilisateur de rTorrent.

Ensuite, créez un script qui va appeler FileBot.

nano /home/<username>/rtorrent-postprocess

Remplacez <username> par le nom d'utilisateur de rTorrent.

Dans ce fichier, placez les lignes suivantes :

#!/bin/bash
TORRENT_PATH=$1
TORRENT_NAME=$2
TORRENT_LABEL=$3

sh /home/<username>/.filebot/filebot.sh --lang fr -script fn:amc --output "/home/<username>/Media" --log-file "/home/<username>/.session/amc.log" --action symlink --conflict override -non-strict --def music=y artwork=y "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "ut_label=$TORRENT_LABEL" &

Remplacez <username> par le nom d'utilisateur de rTorrent.

Quelques explications :

  • --output indique le dossier de sortie du script. Il s'agit du dossier de votre bibliothèque. Si vous ne le changez pas, il s'agira du dossier /home/<username>/Media (assurez-vous qu'il est créé et que <username> a les droits d'écriture sur ce dossier)

  • --log-file indique le fichier utilisé pour les logs de FileBot

  • --action indique l'action utilisée par FileBot. Plusieurs choix sont possibles : move | copy | keeplink | symlink | hardlink. Par défaut, il s'agira de symlink qui créera un lien symbolique vers le fichier source.

Plus d'informations : http://www.filebot.net/cli.html

Changez le chmod du script pour le rendre exécutable

chown <username>:<username> /home/<username>/rtorrent-postprocess
chmod a+x /home/<username>/rtorrent-postprocess

Remplacez <username> par le nom d'utilisateur de rTorrent.

A présent, éditez le fichier .rtorrent.rc

nano /home/<username>/.rtorrent.rc

Et ajoutez la ligne suivante à la fin

system.method.set_key=event.download.finished,filebot_amc,"execute={/home/<username>/rtorrent-postprocess,$d.get_base_path=,$d.get_name=,$d.get_custom1=}"

Remplacez <username> par le nom d'utilisateur de rTorrent.

Cette ligne indique à rtorrent qu'il doit lancer le script précédemment créé lorsqu'un téléchargement est terminé.

La dernière étape est très simple : il faut redémarrer le serveur 🙂

Notes

  • Les films sont organisés sous la forme : {output}/Movies/Nom (Année)/Nom (Année) [CD123].ext

  • Les séries sont organisées sous la forme : {output}/TV Shows/Nom/Season N/Nom - S00E00 - Titre.ext

  • L'intérêt d'utiliser symlink comme action est d'éviter de dupliquer les fichiers sur le serveur pour qu'ils soient lu par Plex et toujours en seed pour rTorrent.

  • Ce tutoriel est basé sur http://www.filebot.net/forums/viewtopic.php?f=4&t=215

Si vous avez correctement suivi les instructions, dés qu'un téléchargement est terminé, le dossier de votre bibliothèque devrait se mettre à jour automatiquement en incluant un lien symbolique vers le fichier média, plusieurs artworks et un fichier nfo.

Bonus

Vous pouvez aller plus loin en exploitant les options disponibles avec FileBot. Voici quelques exemples.

Forcer la mise à jour de la bibliothèque dans Plex ou XBMC
Plex (le token est nécessaire pour Plex Home)

--def plex=localhost[:token]

XBMC

--def xbmc=localhost

Envoyer les rapports par mail
En utilisant gmail (nécessite un mot de passe d'application)

--def gmail=username:password

En utilisant un serveur mail privé

--def mail=host:port:from

Télécharger automatiquement les sous-titres

--def subtitles=en,de,fr 

L'ensemble des options est disponible à cette adresse : http://www.filebot.net/forums/viewtopic.php?t=215

Si vous avez des questions ou des remarques vis-à-vis de ce tutoriel : http://mondedie.fr/d/6390

Répondre…