• Applications
  • [Discussion] Utiliser FileBot pour gérer une bibliothèque multimédia

17 jours plus tard

Bonjour,

Je viens de finir d'installer ma seedbox avec le tuto "la seedbox pour les nuls" de Jedediah, je n'ai juste pas installer sickrage. Après avoir lancé plusieurs téléchargements je n'avais rien dans mes dossiers films et séries, pas de liens symbolique créé par filebot à la fin des téléchargements. J'ai donc lancé le script rtorrent-postprocess via la commande : sh /home/micky/rtorrent-postprocess et j'ai eu ces messages :

FileNotFoundException: https://raw.githubusercontent.com/filebot/scripts/m1/amc.groovy
java.io.FileNotFoundException: https://raw.githubusercontent.com/filebot/scripts/m1/amc.groovy
at net.filebot.web.WebRequest.fetch(WebRequest.java:123)
at net.filebot.web.WebRequest.fetchIfModified(WebRequest.java:101)
at net.filebot.web.CachedResource.fetchData(CachedResource.java:28)
at net.filebot.web.CachedResource.fetchData(CachedResource.java:11)
at net.filebot.web.AbstractCachedResource.fetch(AbstractCachedResource.java:137)
at net.filebot.web.AbstractCachedResource.get(AbstractCachedResource.java:82)
at net.filebot.cli.ArgumentProcessor$DefaultScriptProvider.fetchScript(ArgumentProcessor.java:210)
at net.filebot.cli.ScriptShell.runScript(ScriptShell.java:82)
at net.filebot.cli.ArgumentProcessor.process(ArgumentProcessor.java:116)
at net.filebot.Main.main(Main.java:169)
Failure (°_°)

J'ai tout vérifié, j'ai mis la dernière version de filebot (4.7.9) pensant que le problème venait de la et ça ne fonctionne pas. Est ce qu'une bonne âme pourrait m'aider ?

Oui j’ai bien pris la version portable. Du coup j’ai téléchargé en ftp les fichiers (depuis le serveur) et je me suis rendu compte que filebot.sh et filebot.jar n'était pas bon. Du coup j’ai téléchargé le fichier en direct sur mon ordi et transfert ftp. Maintenant le log me dit « illégal » quand je le lance problème input/output. Quand je me remet sur l’ordi je met le log.

Merci d’avance !!

    micky25490
    Attends.je vai te faire un petit tuto
    Tu as quelle version de debian?

    voici le log :

    root@seedbox:~# sh /home/micky/rtorrent-postprocess
    root@seedbox:~# Locking /home/micky/.session/amc.log
    Run script [fn:amc] at [Tue Nov 28 20:27:43 CET 2017]
    Parameter: music = y
    Parameter: artwork = n
    Parameter: plex = *****
    Parameter: ut_dir =
    Parameter: ut_kind = multi
    Parameter: ut_title =
    Parameter: ut_label =
    Illegal usage: no input
    Failure (°_°)

    J'utilise Debian 8, j'ai utilisé le tuto dispo ici et celui sur techarea qui est le même... La seule différence c'est que j'ai mis filebot à jour à la version 4.7.9 la dernière donc...

      micky25490
      on vas prend filebot de mon script
      donc tu vas faire;

      #on supprime tous les fichiers/dossiers
      rm -rf /home/micky/.filebot
      rm -rf /home/micky/Media
      rm -rf /home/micky/rtorrent-postprocess
      #dans /home/micky/.rtorrent.rc juste la ligne 
      system.method.set_key=event.download.finished,filebot_amc,"execute={/home/micky/rtorrent-postprocess,\$d.get_base_path=,\$d.get_name=,\$d.get_custom1=}"
      
      #puis on lance le script.
      wget https://raw.githubusercontent.com/xavier84/Script-xavier/master/filebot/filebot.sh
      chmod +x filebot.sh && ./filebot.sh
      #et restart rtorrent

      attention si tu lance juste la commande home/micky/rtorrent-postprocess cest normale que sa fonctionne pas car il faut lui passer des paramètre. du style home/micky/rtorrent-postprocess CHEMIN_DE_TON_DOSSIER_A_SCANNER

      alors je teste et je te redis ça de suite !

      C'est ok, les dossiers sont bien créés, par contre ça n'a pas l'air de marcher, j'ai mis un fichier en téléchargement et pas de détection du coup

        micky25490
        alors je sais pas.après filebot n’est pas fiable sur tout les fichiers analysés.(télécharge différent truc voir si tu as toujours rien)

        Du coup en le lançant manuellement, il a trouvé les fichiers que j’ai mis à télécharger, par contre il ne se met pas en route à la fin d’un téléchargement et n’ajoute pas à plex automatiquement (il faut que je remette mon token ou il s’est mis avec ton script ?). Je continuerai à regarder demain, je vais au lit car demain boulot tôt !

        Bonne soirée et merci à toi en tout cas de t’être penché sur mon cas !!!

          micky25490 oui effectivement le token le plex je l'ai pas mis(car pas tout le monde installe plex.)..rajoute le du coup.
          Bonne nuit

          Hello !

          Alors du coup j'ai tenté avec plusieurs fichiers, filebot ne se lance pas à la fin du téléchargement... J'ai vérifié rtorrent-postprocess (ajouté le token aussi) et rtorrent.rc tout me paraît correct, je ne m'explique pas le problème du coup...

          S'il se lance manuellement mais pas automatiquement, c'est à cause des droits.
          Check le user avec: ls -la, si c'est root, ça fonctionne pas. Il faut que le le fichier rtorrent-postprossess soit lié à ton user: chown user:user.
          Je crois

          Oui j'y avais pensé aussi du coup j'avais retenté de donner les droits et ça ne change rien... Tu peux m'en dire plus sur la fonction ls -la car je ne l'ai jamais utilisé... Désolé je débute !!

            5 jours plus tard

            micky25490
            Tu as déjà réussi a le lancer en mode manuel sur un dossier ?
            voila ma commande

            sh /home/xxx/filebot.sh --lang fr -script fn:amc -non-strict -no-xattr --output "/home/xxx/local" --log-file "/home/xxxx/.session/amc477.log" --action copy --conflict override --def music=y artwork=y "/home/xxxx/torrents/xxxxx"

            Hello !

            Du coup j'avais pas eu beaucoup de temps pour venir te répondre, mais j'ai réussi à le faire fonctionner ! C'était bien un problème de droit sur rtorrent-postprocess, en jetant un oeil sur la commande ls -la sur le net j'ai regardé et j'ai du refaire l'opération plusieurs fois avant que le fichier soit au bon utilisateur...

            Par contre depuis que ça fonctionne je n'arrive plus à me connecter en FTP ou SFTP sur le serveur... Bon j'avoue que j'ai pas trop pris le temps de regarder mais je pense m'y atteler aux vacances ! Pas trop le temps en ce moment avec un nouveau bébé à la maison !

            3 mois plus tard

            bonjour,
            je viens d'essayer d'installer un script trouvé a cette adresse https://techarea.fr/quickie-filebot-nettoyage-bibliotheque/
            Ça marche assez bien sauf que le but était que ça me supprime les liens symboliques et ça ne le fait pas
            Est ce que quelqu'un aurait une idée?
            Si ça peut aider, j'ai rajouter un log au script qui me sort un joli
            Illegal Argument: java.nio.file.NoSuchFileException: /[--action ([--action)
            Illegal Argument: java.nio.file.NoSuchFileException: /test] (test])

            la suppression des liens sym a été abordé dans ce vaste topic, plus qu'à chercher

            5 jours plus tard

            Quelqu'un pourrait m'aider à modifier la façon dont les films sont renommés ?

            J'aimerai garder les infos sur la rlz ou limite sur le débit si c'est plus simple. Il m'arrive d'avoir des doublons (pour éviter de transcoder pour les petites connexions).

            J'ai le script de base : filebot.sh --lang fr -script fn:amc --output "/home/XXX/Media" --log-file "/home/XXX/.session/amc.log" --action hardlink --conflict override -non-strict --def music=y artwork=n "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "ut_label=$TORRENT_LABEL" &

            Merci

              10 jours plus tard
              11 jours plus tard

              Bonjour à tous ,je rencontre à chaque fois le même problème, en effet le premier rencontré était que Filebot ne me créait pas les sous-dossiers Films, TV show etc ... je les ai donc créé "manuellement" cependant il semblerait que Filebot ne fonctionne pas du coup, les dossiers restent vides.

              #!/bin/bash
              TORRENT_PATH=$1
              TORRENT_NAME=$2
              TORRENT_LABEL=$3
              
              sh /home/alex/.filebot/filebot.sh --lang fr --encoding utf8 -script fn:amc --output "/home/alex/Media" --log-file "/home/alex/.session/amc.log" --action symlink --conflict override -non-strict --def music=y artwork=n plex=localhost:plextoken "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "ut_label=$TORRENT_LABEL" &
              

              Si vous avez une solution, j'avais déjà posté sur ce fil pour le même problème mais j'avais été dirigé sur le tchat pour le résoudre.

              Merci à vous.

              Bonjour,

              c'est normal tu ne lui dis pas de créer des dossiers ni comment formater les séries et films

              #!/bin/bash
              TORRENT_PATH=$1
              TORRENT_NAME=$2
              TORRENT_LABEL=$3
              
              sh /home/corentin/.filebot/filebot.sh --lang fr -script fn:amc --output "/home/corentin/Media" --log-file "/home/corentin/.session/amc.log" --action symlink --conflict override -non-strict --def "seriesFormat=/home/corentin/Media/Series/{n}/Saison {s}/{n}.{s00e00}-{t}" "movieFormat=/home/corentin/Media/Films/{n}-{vf}-({y})" "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "ut_label=$TORRENT_LABEL" &

                Ok merci pour ta réponse, j'ai modifié, comment puis je faire désormais pour qu'il traite les fichiers déjà présents ?

                  Mantinum tu te places dans le dossier ou se trouve ton rtorrntpost process et tu fais cette commande:
                  ./rtorrent-postprocess /chemindetontorrent
                  cela va renommer correctement tes fichiers, si j'ai bien compris ton problème

                    allan84 Merci mais en fait Filebot ne fonctionne pas, vu que les nouveaux torrents ne sont pas déplacés dans le dossier /media.

                      Mantinum Que dit le fichier de log ?
                      /home/alex/.session/amc.log si j'ai bien lu

                      Si le fichier est très long, ne colle que les dernières lignes concernant le dernier torrent téléchargé et/ou colle le log sur le paste : https://paste.mondedie.fr/

                        7 jours plus tard

                        Salut spider1163 voilà le fichier log :

                        FileNotFoundException: https://raw.githubusercontent.com/filebot/scripts/m1/amc.groovy
                        java.io.FileNotFoundException: https://raw.githubusercontent.com/filebot/scripts/m1/amc.groovy
                                at net.filebot.web.WebRequest.fetch(WebRequest.java:123)
                                at net.filebot.web.WebRequest.fetchIfModified(WebRequest.java:101)
                                at net.filebot.web.CachedResource.fetchData(CachedResource.java:28)
                                at net.filebot.web.CachedResource.fetchData(CachedResource.java:11)
                                at net.filebot.web.AbstractCachedResource.fetch(AbstractCachedResource.java:137)
                                at net.filebot.web.AbstractCachedResource.get(AbstractCachedResource.java:82)
                                at net.filebot.cli.ArgumentProcessor$DefaultScriptProvider.fetchScript(ArgumentProcessor.java:210)
                                at net.filebot.cli.ScriptShell.runScript(ScriptShell.java:82)
                                at net.filebot.cli.ArgumentProcessor.process(ArgumentProcessor.java:116)
                                at net.filebot.Main.main(Main.java:169)
                        Failure (°_°)
                        
                        

                        Encore merci à toi pour tout.

                          Merci Banip je n'ai pas édité mais effectivement l'URL du tuto ne télécharge plus la version portable de Filebot mais la version "standard".

                          Cependant je me penche sur deux problèmes qui pourraient faire à terme l'objet d'un tuto.

                          1- Faire gérer la musique :

                          apt-get update
                          apt-get install libchromaprint-tools
                          nano /home/<user>/.filebot/filebot.sh

                          Remplacer

                          -Dnet.filebot.AcoustID.fpcalc=

                          par

                          -Dnet.filebot.AcoustID.fpcalc=/usr/bin/fpcalc

                          2 - J'ai trouvé un petit script pour que Filebot supprime automatiquement les liens lorsque l'on supprime un torrent, cependant ça n'a pas l'air de fonctionner.

                          Voilà les deux points qui ne fonctionnent pas, si quelqu'un passe par là, et puisse tester de son côté ça serait cool.

                          ++

                          Ps : Le 3ème point est qu'il est un peu capricieux sur les séries

                          un mois plus tard

                          Bonsoir

                          j'ai eu un problème avec mon serveur donc j'ai reformater et tous réinstaller avec le script de Xavier (RatXaBox) mais depuis j'ai l'impression que FileBot a du mal avec les anime.

                          Run script [fn:amc] at [Tue May 15 21:41:05 CEST 2018]
                          Parameter: music = y
                          Parameter: artwork = n
                          Parameter: emby = x.x.x.x
                          Parameter: ut_dir = /home/foxan/torrents/Tokyo Ghoul Re  E07 Vostfr.mp4
                          Parameter: ut_kind = multi
                          Parameter: ut_title = Tokyo Ghoul Re  E07 Vostfr.mp4
                          Parameter: ut_label = 
                          Input: /home/foxan/torrents/Tokyo Ghoul Re  E07 Vostfr.mp4
                          Tokyo Ghoul Re  E07 Vostfr.mp4 [series: Tokyo Ghoul re, movie: Tokyo! (2008)]
                          Unable to differentiate: [Tokyo Ghoul Re  E07 Vostfr.mp4] => [Tokyo Ghoul re] VS [Tokyo! (2008)]
                          Group: [:] => [Tokyo Ghoul Re  E07 Vostfr.mp4]
                          Finished without processing any files
                          Failure (°_°)
                          
                          
                          Run script [fn:amc] at [Tue May 15 20:54:19 CEST 2018]
                          Parameter: music = y
                          Parameter: artwork = n
                          Parameter: emby = x.x.x.x
                          Parameter: ut_dir = /home/foxan/torrents/Ginga.Eiyuu.Densetsu-Die.Neue.These.E06.SUBFRENCH.HDTV.x264-AMB3R
                          Parameter: ut_kind = multi
                          Parameter: ut_title = Ginga.Eiyuu.Densetsu-Die.Neue.These.E06.SUBFRENCH.HDTV.x264-AMB3R
                          Parameter: ut_label = 
                          Input: /home/foxan/torrents/Ginga.Eiyuu.Densetsu-Die.Neue.These.E06.SUBFRENCH.HDTV.x264-AMB3R/Ginga.Eiyuu.Densetsu-Die.Neue.These.E06.SUBFRENCH.HDTV.x264-AMB3R.mkv
                          Ginga.Eiyuu.Densetsu-Die.Neue.These.E06.SUBFRENCH.HDTV.x264-AMB3R.mkv [series: ginga eiyuu densetsu die neue these amb3r, movie: null]
                          Group: [tvs:ginga eiyuu densetsu die neue these amb3r, mov:null] => [Ginga.Eiyuu.Densetsu-Die.Neue.These.E06.SUBFRENCH.HDTV.x264-AMB3R.mkv]
                          Rename episodes using [TheTVDB]
                          Auto-detected query: [ginga eiyuu densetsu die neue these amb3r]
                          Failed to fetch episode data: [ginga eiyuu densetsu die neue these amb3r]
                          CmdlineException: Failed to match files to episode data
                          Finished without processing any files
                          Failure (°_°) 

                          Soit je tombe presque sur des mauvaise release (niveau "nom des épisode") depuis que j'ai formater soit j'ai oublié un truc sur l'installation ?

                          je fais un petit up pour vous dire que j'ai réussi à trouver une solution à mon problème. si ça intéresse quelque personne voici la procédure

                          alors j'ai commencé par créer des dossiers dans Torrents

                          mkdir /home/USER/torrents/Animes
                          mkdir /home/USER/torrents/TV shows
                          mkdir /home/USER/torrents/Movies
                          mkdir /home/USER/torrents/Divers
                          
                          chown -R USER:USER /home/USER/torrents
                          chmod 755 -R /home/USER/torrents
                          

                          J'ai été dans rutorrent activé l'option "AutoLabel" (juste l'activé on change rien)
                          On va ensuite modifier 2 ligne dans filebot.sh

                          nano /home/USER/.filebot/filebot.sh
                          export LANG="fr_FR.UTF-8"
                          export LC_ALL="fr_FR.UTF-8"

                          on va modifier le rtorrent-postprocess pour qui s'adapte au label crée plus haut

                          nano /home/USER/rtorrent-postprocess
                          #!/bin/bash
                              TORRENT_PATH=$1
                              TORRENT_NAME=$2
                              TORRENT_LABEL=$3
                               
                           
                          case $TORRENT_LABEL in
                              Movies)
                              sh /home/USER/.filebot/filebot.sh --lang en --encoding utf8 -script fn:amc --output "/home/USER/Media" --log-file "/home/USER/.session/amc.log" --action symlink --conflict override -non-strict --def music=y artwork=n emby=xxxx "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "ut_label=Movies" &
                              ;;
                              Series)
                                  sh /home/USER/.filebot/filebot.sh --lang fr --encoding utf8 -script fn:amc --output "/home/USER/Media" --log-file "/home/USER/.session/amc.log" --action symlink --conflict override -non-strict --def music=y emby=xxxx --def unsorted=y "seriesFormat={output}/TV Shows/{n}/{episode.special ? 'Season 0' : 'Season '+s}/{n}.{episode.special ? 'S00E'+special.pad(2) : s00e00}.{t}" "movieFormat={output}/Movies/{n} ({y})" "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "ut_title=$TORRENT_NAME" "ut_label=Series" & 
                              ;;
                              Animes)
                                  sh /home/USER/.filebot/filebot.sh --lang fr --encoding utf8 -script fn:amc --output "/home/USER/Media" --log-file "/home/USER/.session/amc.log" --action symlink --conflict override -non-strict --def music=y emby=xxxx --def unsorted=y "seriesFormat={output}/TV Shows/{n}/{episode.special ? 'Season 0' : 'Season '+s}/{n}.{episode.special ? 'S00E'+special.pad(2) : s00e00}.{t}" "movieFormat={output}/Animes/{n} ({y})" "ut_dir=$TORRENT_PATH" "ut_kind=multi" "ut_title=$TORRENT_NAME" "ut_title=$TORRENT_NAME" "ut_label=Animes" &
                              ;;
                          
                          esac
                          chown USER:USER /home/USER/rtorrent-postprocess
                          chmod 755 /home/USER/rtorrent-postprocess
                           service USER-rtorrent restart

                          Voila avec cela tous fonction j'utilise aussi l'extension de Xirvik compatible Firefox et chrome (pas essayé pour chrome)

                          config de Xirvik a refaire pour chaque dossier créer Ou choisir dans directory "at runtime"

                          Seedbox URL : http://x.x.x.x/rutorrent
                          Login: xxxx
                          Mdp:xxxx
                          Description : Animes
                          client: Rutorrent
                          Label: None
                          directory : Predefined -> Animes

                          avec cette extension quand on clique sur un torrent il va vous propose les différent config ou si vous choisissez at runetime il vous demandera le dossier dans le quel il doit télécharger

                          Voila pour moi tous les fichier mal trier par filebot se sont trier correctement après c'est quelque manip pour supprimer les symlink je vous renvoie sur le forum un peu plus haut

                          un mois plus tard
                          18 jours plus tard

                          Bonjour à tous,

                          Après de nombreuses recherches et de nombreux tests, je viens vers vous afin de peut-être trouver une solution à mon problème 🤔.

                          J'ai installé rutorrent et filebot sur un nouveau serveur et j'ai un petit soucis pour la suppression des liens symboliques lors de la suppression d'un torrent.
                          J'ai pourtant mis la même conf et la même version de rutorrent et de filebot sur mon nouveau serveur (sur l'ancien, cela fonctionne correctement).

                          Dans mon rtorrent.rc j'ai :

                          method.set_key = event.download.erased,cleaner,"execute={/home/user/.filebot/rtorrent-postprocessdelete}"

                          Dans mon rtorrent-postprocessdelete :

                          #!/bin/bash
                          find -L /home/user/Media/Movies -type l 2>/dev/null -delete
                          sh /home/user/.filebot/filebot.sh -script fn:cleaner /home/user/Media/Movies/

                          Après plusieurs test, j'ai validé que lors de la suppression d'un torrent, le script s'exécute bien.
                          Par contre, le "gros" problème c'est qu'il s'exécute avant que rutorrent ne supprime les fichiers... La fonction "find" ne donne donc pas le résultat voulu puisque le lien n'est pas encore mort...

                          J'ai testé d'ajouté un "sleep 15" au début du script, mais en faite, rutorrent semble attendre que le script soit fini avant de lancer la suppression (le fichier est supprimé au moins 20 secondes après si je mets un sleep 15).
                          Si je re-supprime un autre torrent, le script s'exécute et me supprime donc le lien symbolique du torrent supprimé avant, mais pas celui que je viens de supprimer...😑

                          Bref, j'ai essayé de contourner le problème en ajoutant au début du script un rm des fichiers (grâce aux variables répertoire '$d.base_path=' et nom '$d.name=').
                          Ainsi, le script donne le résultat voulu ... ou presque lol 😅.
                          En effet, le soucis c'est si je veux supprimer que le fichier .torrent (juste 'effacer' dans rutorrent et non 'effacer et supprimer les données') ... Le script s'exécute et me supprime les données quand même 😝

                          Je sais que je pourrais faire une tâche Cron, mais ce n'est pas ce que je cherche (surtout que cela est censé fonctionner, vu que ça marche sur mon ancien serveur...).

                          Au final, avez vous une idée de pourquoi la suppression des fichiers se fait après que le script du rtorrent.rc se soit exécuté, ou avez vous une solution pour n'exécuter le script que si je souhaite effacer le .torrent et les données ❔❓❔

                          Version :
                          rtorrent 0.9.6/0.13.6
                          ruTorrent 3.8
                          Filebot portable : 4.7.9
                          Java : 1.8.0_171

                          Merci d'avance pour votre aide (et d'avoir lu tout mon discours 😂)
                          😗

                            quelqu'un avait donné la soluce dans ce long sujet, donc je te poste un copier/coller, à vérifier quand même

                            Créer ces deux fichiers en en root :

                            nano /home/chemin/rtorrent-postprocessdelete-films

                            On y colle :

                            #!/bin/bash
                            find -L symlink/films -type l 2>/dev/null -delete
                            sh /home/chemin/.filebot/filebot.sh -script fn:cleaner /home/clusmi/symlink/films/

                            Puis :

                            nano /home/chemin/rtorrent-postprocessdelete-series

                            On y colle :

                            #!/bin/bash
                            find -L symlink/series -type l 2>/dev/null -delete
                            sh /home/clusmi/.filebot/filebot.sh -script fn:cleaner /home/clusmi/symlink/series/

                            Ensuite, on se log sur l'user :

                            su XXX

                            Puis, on fait un crontab toutes les minutes d'éxécution des deux scripts, donc :

                            crontab -e

                            et on rajoute a la fin du fichier :

                            • sh /home/chemin/rtorrent-postprocessdelete-films >/dev/null 2>&1
                            • sh /home/chemin/rtorrent-postprocessdelete-series >/dev/null 2>&1

                            Donc, une fois le/les fichiers supprimés de rutorrent, on attends 1 minute, et les scripts suppriment les symlinks qui ne correspondent a aucuns fichiers data.{/quote]

                              Lol, merci allan84 😄 Effectivement cette méthode fonctionne ... Mais comme je l'avais précisé :

                              Vendetta1985 Je sais que je pourrais faire une tâche Cron, mais ce n'est pas ce que je cherche (surtout que cela est censé fonctionner, vu que ça marche sur mon ancien serveur...).

                              L'inconvénient de cette méthode avec la tâche Cron c'est que le script est exécuté toutes les minutes pour rien 😑 ...
                              En attendant de réussir à refaire fonctionner la méthode qui consiste à exécuter le script lors de la suppression du torrent et des données (mais après que rtorrent ai effacé les fichiers...), j'utilise cette méthode mais avec un Cron une fois par jour ... ce qui n'est pas vraiment optimal 😅