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

Crazyweedz Salut,
Il faudrait les logs (au moins du serveur qui déconne) + la config Filebot pour commencer

    spider1163 Désolé pour le temps de réponse, je n'ai pas pu faire plus vite.

    Finalement le problème est réglé. Avant de voir votre réponse, j'ai réinstallé rapidement la bonne version de Java et tout semble être rentré dans l'ordre. Merci quand même !

    3 mois plus tard

    filebot marche en manuel mais il ne se lance pas tout seul lorsqu'un téléchargement est termine, voila ce que j'ai ajoute 😀
    method.set_key=event.download.finished,filebot,"execute={/home/film/rtorrent-postprocess,$d.base_path=,$d.name=,$d.custom1=}"

    avec celle du tuto j'avais un probleme avec rutorrent

    si quelqu'un a une idee je suis preneurs

    13 jours plus tard

    Salut,

    pour ma part et après de longues heures à parcourir le github rtorrent, j'ai fini par faire fonctionner filebot en postprocess avec ceci dans le .rtorrent.rc :
    method.set_key = event.download.finished,filebot_amc,"execute.throw.bg={/home/mediacenter/rtorrent-postprocess,$d.base_path=,$d.name=,$d.custom1=}"

    version rtorrent : 0.9.7
    version filebot : 4.7.9 (dernière version gratuite)
    version java : openjdk 11

    \o/

    4 mois plus tard

    Bonjour, j'ai réinstallé tout mon serveur aujourd'hui mais mon filebot ne fonctionne plus du tout.
    Un problème côté serveur de filebot je pense.
    Je suis en 4.7.8 j'ai testé la 4.7.9 idem, le script de xavier, à la main etc... je ne sais plus ou chercher la.
    Avez-vous aussi les mêmes problèmes ? je tourne sous debian 10 avec les jdk 11.

    Fetch failed: http://thetvdb.com/api/694FAD89942D3827/mirrors.xml
    net.filebot.InvalidResponseException: Invalid XML: SAXParseException: The element type "hr" must be terminated by the matching end-tag "</hr>".
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body bgcolor="white">
    <center><h1>301 Moved Permanently</h1></center>
    <hr><center>CloudFront</center>
    </body>
    </html>

        at net.filebot.CachedResource.lambda$validateXml$5(CachedResource.java:173)
        at net.filebot.CachedResource.lambda$get$1(CachedResource.java:99)
        at net.filebot.Cache.computeIf(Cache.java:90)
        at net.filebot.CachedResource.get(CachedResource.java:82)
        at net.filebot.web.TheTVDBClientV1.getXmlResource(TheTVDBClientV1.java:269)
        at net.filebot.web.TheTVDBClientV1.getMirror(TheTVDBClientV1.java:243)
        at net.filebot.web.TheTVDBClientV1.getResource(TheTVDBClientV1.java:273)
        at net.filebot.web.TheTVDBClientV1.lambda$getXmlResource$8(TheTVDBClientV1.java:269)
        at net.filebot.CachedResource.lambda$get$1(CachedResource.java:83)
        at net.filebot.Cache.computeIf(Cache.java:90)
        at net.filebot.CachedResource.get(CachedResource.java:82)
        at net.filebot.web.TheTVDBClientV1.getXmlResource(TheTVDBClientV1.java:269)
        at net.filebot.web.TheTVDBClientV1.lambda$lookupByIMDbID$3(TheTVDBClientV1.java:222)
        at net.filebot.Cache.computeIf(Cache.java:90)
        at net.filebot.Cache$TypedCache.computeIf(Cache.java:176)
        at net.filebot.Cache.computeIfAbsent(Cache.java:96)
        at net.filebot.Cache$TypedCache.computeIfAbsent(Cache.java:181)
        at net.filebot.web.TheTVDBClientV1.lookupByIMDbID(TheTVDBClientV1.java:221)
        at net.filebot.media.MediaDetection.lookupSeriesNameByInfoFile(MediaDetection.java:1253)
        at net.filebot.media.MediaDetection.detectSeriesNames(MediaDetection.java:349)
        at net.filebot.media.MediaDetection.detectSeriesNames(MediaDetection.java:327)
        at net.filebot.cli.ScriptShellBaseClass.detectSeriesName(ScriptShellBaseClass.java:247)
        at net.filebot.cli.ScriptShellBaseClass.detectSeriesName(ScriptShellBaseClass.java:235)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at Script1$_run_closure50.doCall(Script1.groovy:363)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at Script1.run(Script1.groovy:349)
        at net.filebot.cli.ScriptShell.evaluate(ScriptShell.java:64)
        at net.filebot.cli.ScriptShell.runScript(ScriptShell.java:74)
        at net.filebot.cli.ArgumentProcessor.runScript(ArgumentProcessor.java:122)
        at net.filebot.cli.ArgumentProcessor.run(ArgumentProcessor.java:29)
        at net.filebot.Main.main(Main.java:115)

    Caused by: org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 3; The element type "hr" must be terminated by the matching end-tag "</hr>".
    at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
    at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1471)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1685)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2883)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
    at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
    at net.filebot.web.WebRequest.validateXml(WebRequest.java:324)
    at net.filebot.CachedResource.lambda$validateXml$5(CachedResource.java:170)
    ... 35 more

    guibol22 OK c'est bien ce qui me semblait... merci pour l'info guibol 😉 retour au bon vieux Autotools alors.

    TVDB as mis a jour recemment son API si je ne m'abuse aussi d'ailleurs

    Bonjour,

    Est ce que tu peux renvoyer le résultat de cette commande stp? devant filebot tu mets le chemin de la localisation du fichier
    filebot -script fn:sysinfo

    Salut,

    Idem j'avais déjà essayé.
    J'ai laissé tombé Filebot ça n'a plus l'air de fonctionner correctement, quelque soit la version et même en modifiant le fn:xxx j'ai même essayé d'importer le amc du github de filebot et indiqué fn:/home/mon_user/repo_filebot/fichieramc mais ça n'a rien donné non plus.
    A moins que quelqu'un puisse nous partager son filebot et sa clé ^'

    un mois plus tard

    Moi de mon coté tout est renommé dans Unsorted i ne semble plus rien reconnaitre depuis quelque semaines ? cela vient de filebot ? il y a une alternative ?

      9 jours plus tard

      Kubilai12 oui il y à une solution sur le forum 😀

      I modified the Java bytecodes for the getMirror() function to just bypass the cache and always return https://thetvdb.com. I'm not a Java programmer and I'm not sure if this will be viable long term, but my deluge+filebottool Unraid docker is now finally able to process my tv shows.

      A proxy solution is probably the best solution though. I just had issues getting nginx to work correctly and going through the decompiled Java source and playing around with bytecode editing sounded more fun.

      If anyone wants to reproduce what I did:

      You will need a Java bytecode editor such as https://github.com/Col-E/Recaf. Download Recaf and then run it. Go to File -> Load and then point it to your FileBot.jar. From the left side menu go to net/filebot/web and open TheTVDBClientV1 class.

      Click the Method's tab. Find the getMirror method and open it. Click the Edit Instructions button.

      Find the instruction that goes: "IF_ACMPNE LABEL C" and double click on it. Change the opcode to "IF_ACMPEQ" instead.

      Find the instruction that goes LDC "http://thetvdb.com" a couple lines down and double click on it. Change its value to "https://thetvdb.com" without the quotes.

      The code should now look like this:

      Close all the windows you just opened to go back to the main Recaf screen. Go to File -> Export and save this as FileBot.jar.

      You can now replace your existing FileBot.jar with your newly edited copy. I also cleared my FileBot's cache by running: filebot -clear-cache.

      Pour ma part cela à parfaitement fonctionné

      Bon courage

        13 jours plus tard

        Merci il va falloir que j arrive à faire cela à l’intérieur du conteneur de Xataz 😀

        17 jours plus tard
        3 mois plus tard

        Salut à tous,

        J'ai voulu utiliser ce script mais malheureusement même en l'adaptant il ne fonctionne pas.

        En fait rtorrent n'appel pas le script à la fin d'un téléchargement.

        Mon .rtorrent.rc

        
        network.scgi.open_port = 127.0.0.1:5001
        encoding.add = UTF-8
        network.port_range.set = 45000-65000
        network.port_random.set = no
        pieces.hash.on_completion.set = no
        directory.default.set = /home/cmathiasfilms/torrents
        session.path.set = /home/cmathiasfilms/.session
        protocol.encryption.set = allow_incoming, try_outgoing, enable_retry
        schedule2 = watch_directory,1,1,load.start=/home/cmathiasfilms/watch/*.torrent
        schedule2 = untied_directory,5,5,stop_untied=/home/cmathiasfilms/watch/*.torrent
        schedule2 = espace_disque_insuffisant,1,30,close_low_diskspace=500M
        trackers.use_udp.set = yes
        dht.mode.set = off
        protocol.pex.set = no
        throttle.min_peers.normal.set = 40
        throttle.max_peers.normal.set = 100
        throttle.min_peers.seed.set = 10
        throttle.max_peers.seed.set = 50
        throttle.max_uploads.set = 15
        execute2 = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php cmathiasfilms &}
        
        log.open_file = "rtorrent.log", (cat,/home/cmathiasfilms/log/rtorrent.log.,(system.pid))  
        log.add_output = "critical", "rtorrent.log"
        log.add_output = "error", "rtorrent.log"
        log.add_output = "warn", "rtorrent.log"
        log.add_output = "notice", "rtorrent.log"
        log.add_output = "info", "rtorrent.log"
        log.add_output = "debug", "rtorrent.log"
        
        method.set_key=event.download.finished,filebot,"execute2={/home/cmathiasfilms/rtorrent-postprocess,$d.directory=,$d.name=,$d.custom1=}"

        Le script rtorrent-postprocess fonctionne en manuel. Donc c'est bien un problème de gestion rtorrent.

        Merci de votre aide

          Bon finalement j'ai réussi.
          Je faisait mes test en root et j'exécuté en user. Donc j'avais un problème de droit.

          Une autre question sur filebot.
          Quand le script s'exécute il me renomme TOUT les films contenu dans le dossier du film fini. Comment faire en sorte qu'il traite au cas par cas ?

          J'ai réussi à régler mon problème.

          24 jours plus tard

          Bonjour,
          Je rencontre le même problème que cmathias (si vous passez par ici !?), pas de lancement du script rtorrent-postprocess en fin de téléchargement.
          L'exécution manuelle fonctionne correctement.

          network.scgi.open_port = 127.0.0.1:5001
          encoding.add = UTF-8
          network.port_range.set = 45000-65000
          network.port_random.set = no
          pieces.hash.on_completion.set = no
          directory.default.set = /home/volvic/torrents
          session.path.set = /home/volvic/.session
          protocol.encryption.set = allow_incoming, try_outgoing, enable_retry
          schedule2 = watch_directory,1,1,load.start=/home/volvic/watch/*.torrent
          schedule2 = untied_directory,5,5,stop_untied=/home/volvic/watch/*.torrent
          schedule2 = espace_disque_insuffisant,1,30,close_low_diskspace=500M
          trackers.use_udp.set = yes
          dht.mode.set = off
          protocol.pex.set = no
          throttle.min_peers.normal.set = 40
          throttle.max_peers.normal.set = 100
          throttle.min_peers.seed.set = 10
          throttle.max_peers.seed.set = 50
          throttle.max_uploads.set = 15
          execute2 = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php volvic &}
          
          method.set_key=event.download.finished,filebot,"execute2={/home/volvic/rtorrent-postprocess,$d.base_path=,$d.name=,$d.custom1=}"
          
          version rtorrent : 0.9.8
          version filebot : 4.7.9
          version java : openjdk 11

          Finalement ça fonctionne, je tournais autour du .rtorrent.rc, mais il s'agissait d'un problème d'autorisations utilisateur.

          9 mois plus tard

          Bonsoir

          j'ai réussi a tout installer, tout fonctionne avec la dernière version gratuite de filebot.
          J'ai une question, comment fait le logiciel pour choisir ou envoyer les simlinks ?
          exemple:* Film de vacances 2020 (avec masque )* il l'envoi bien vers /home/Lamerguezcestlavie/Media/Movies
          pareil avec les séries : les feux de l'humour a Dallas S01 , il l'envoi bien vers /home/lachipocestpasmalaussi/Media/TV Shows . Du coup j’aimerais savoir comment il fait ? J'aimerais pouvoir créer un autre Dossier comme Animes ou Dessin animé .
          Bonne soirée 🙂

          Répondre…