Ce tutoriel a pour but de mettre en place FileBot pour faciliter la gestion d'une bibliothèque multimédia (XBMC ou Plex).
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