#1
|
|||
|
|||
![]()
MyJdownloader und Filebot miteinander verbinden
Da es zu diesem Thema kein wirkliches HowTo gibt, sondern eher eine Ansammlung von Foreneinträgen mit verschiedenen Problemen und Lösungsansätzen, möchte ich hier ein kurzes HowTo erstellen. Diese Anleitung beschreibt den Weg den ich dabei selber gegangen bin. Ich werde dabei auf die Probleme eingehen die ich bei meiner Installation hatte, Fragen zu anderen Problemen könnt ihr im Forum stellen. Wenn alles wie gewünscht klappt, könnt ihr im Anschluss
Alles was ihr also noch tun müsst, ist einen Download zu starten. Alles andere passiert von allein. Ich habe dieses Setup auf einer Synology DS216Play laufen, es sollte aber auf jedem anderen System auf dem JDownloader (headless), Filebot und Java 8 laufen auch gehen. Der Fokus liegt klar auf NAS Systemen. Voraussetzungen:
1. Vorbereitungen Als allererstes (wenn nicht schon geschehen) installiert ihr euch Java 8 und den JDownloader. Dafür geht ihr auf eure DSM Oberfläche. Wer den JDownloader schon hat, nimmt nur die filebot Paketquelle. Achtung: Wenn ihr schon eine offizielle Java Version installiert habt, deinstalliert diese einfach und installiert die inoffizielle neu. Bei mir gab es so keine Probleme. Paketzentrum -> Einstellungen -> Paketquellen -> Hinzufügen: app.filebot.net/syno/ Paketzentrum -> Einstellungen -> Paketquellen -> Hinzufügen: spk.netzbaer.de/ Jetzt solltet ihr die DSM Oberfläche einmal aktualisieren.
Nachdem alles installiert ist, solltet ihr eure Grundeinstellungen in JDownloader machen. Dazu einfach auf my.jdownloader.org mit euren myjdownloader Daten die ihr auch eben bei der Installation benutzt habt anmelden und auf euren JDownloader@root gehen. Wichtig ist, dass das automatische entpacken aktiviert wird und unbedingt beim DL Verzeichnis „unterordner nach Paketname“ anklicken. Damit wird für jeden DL ein eigenes Paket angelegt und auch nur dieses wird nach dem Entpacken von Filebot durchsucht. Wenn ihr das habt, installiert ihr den EventScripter im JDownloader unter my.jdownloader.org. Den findet ihr unter Einstellungen -> Extension Manager. Klickt auf „Install“ neben Event Scripter und wartet etwas. Es kann gut sein, dass nichts weiter passiert abgesehen vom Ladebalken. Ein Neustart der DS soll dabei helfen. Notfalls müsst ihr einfach etwas warten. Damit sind die Vorbereitungen abgeschlossen. Zur Sicherheit hier noch das HowTo zur JD installation: https://board.jdownloader.org/showthread.php?t=65599 2. Filebot script und Test per SSH Nun geht es darum, alles zum Laufen zu kriegen. JDownloader sollte jetzt schon problemlos laufen. Um zu testen ob auch Filebot läuft, verbindet euch per SSH mit eurer DiskStation. Dazu nehmt ihr einfach putty (putty.org/) und gebt die IP sowie den Port ein. Ihr werdet nach euren Anmeldedaten gefragt. (Diese SSH Prozedur müsst ihr später nicht mehr machen) Login as: admin Password: ->euer admin Passwort<- Gebt „sudo –i“ ohne Anführungsstriche ein Passwort: ->erneut euer admin Passwort<- Jetzt seid ihr als root per SSH angemeldet. Um Filebot auszuführen könnt ihr jetzt ein Filebot script verwenden. Das script was ich hier zur Verfügung stelle, ist nicht von mir selbst geschrieben, sondern nur ergänzt und angepasst worden. Hier das jdtofilebot.sh script: Code:
#!/bin/sh ##FileBot benötigt diese Variablen ##/bin/mkdir /volume1/video/Downloads/videos/testordner LOG="/volume1/amc.log" EXC="/volume1/amc.txt" SERIEN="/volume1/video/Serien/{n}/{s}/{n}.{s00e00} - {t} ({y}) {vf}" FILME="/volume1/video/Filme/{n} ({y}) {source}({vf}@{vc}) [{rating}]/{n} ({y}) {source}({vf}@{vc}) [{rating}]" ##UNSORTIERT="/path/{file.structurePathTail}" ### Wenn Filebot mal etwas nicht zuordnen kann, dann kannst du es in einen seperaten Ordner verschieben lassen, dann bleibt es im Downloadordner übersichtlich. ##FileBot ausführen /var/packages/filebot/target/filebot.sh -script fn:amc --lang de --log-file $LOG --action move "$1" --def "seriesFormat=$SERIEN" "movieFormat=$FILME" "animeFormat=$ANIME" "unsortedFormat=$UNSORTIERT" -non-strict --def unsorted=y "artwork=y" --def clean=y ## Aufräumen, --def root löscht den Unterordner mit /var/packages/filebot/target/filebot.sh -script fn:cleaner "$1" --def root=y Bearbeiten -> Kodierung Zeilenende -> UNIX Um sicherzugehen könnt ihr euch mit dem kleinen Symbol unter „Fenster“ in der Tool-Leiste alle Charaktere anzeigen lassen. Hinter jeder Zeile sollte nun „LF“ stehen. Dieses script speichert ihr nun auf eurer DS. Bei mir liegt es unter /volume1/video/filebot.sh Jetzt geht ihr wieder in putty und gebt erstmal „cd ..“ ein, um in das nächsthöhere Verzeichnis zu wechseln. Um die Datei auszuführen gebt ihr nun sh /volume1/video/filebot.sh ein. Es sollten einige Ausgaben folgen. Das script müsste durchlaufen, aber nichts weiter machen und mit der Meldung „no input“ beendet werden. Das liegt daran, dass wir keinen Pfad definiert haben an dem unsere Videodateien liegen. Das ist aber kein Problem, dieser Pfad wird am Ende vom Event Scripter an Filebot übergeben. Wollt ihr hier schon testen ob alles klappt, die Dateien richtig umbenannt und verschoben werden, übergebt noch einen inputpfad in dem z. B. Testdateien liegen mit: sh /volume1/video/filebot.sh /volume1/video/Downloads/ Nun wissen wir, dass JD und Filebot laufen. Jetzt geht es nur noch darum, beide zu verknüpfen. 3. Event Scripter Geht wieder in die Einstellungen unter my.jdownloader.org und geht auf den Event Scripter. Einmal „enable“ anklicken, falls nicht schon geschehen. In das freie Feld fügt ihr dieses script ein: Code:
[{"eventTrigger":"ON_ARCHIVE_EXTRACTED", "enabled":true, "name":"FileBot", "script":"var amcFile = \"/volume1/video/filebot.sh\";var path = archive.getFolder(); callAsync(function() {}, amcFile, path);", "eventTriggerSettings":{}, "id":}] Path = archive.getFolder(); holt den gerade aktuellen Pfad der entpackten Datei und übergibt diesen im Nächsten Schritt an Filebot. So wird immer nur genau das Package bearbeitet, welches auch gerade geladen und entpackt wurde. Nachdem ihr nun einen DL abgeschlossen habt und das Archiv entpackt wurde, sollte das Script ausgeführt werden. Ihr werden beim ersten Mal gefragt ob ihr das zulassen möchtet. Klickt auf „allow“ und setzt den Haken bei always. Wenn alles glatt läuft, startet nun euer filebot script und benennt die Dateien um und verschiebt sie ins angegebene Verzeichnis. 4. Erklärungen Zum Filebot Script: ##/bin/mkdir /volume1/video/testordner
SERIEN="/volume1/video/Serien/{n}/{s}/{n}.{s00e00} - {t} ({y}) {vf}
Wirklich viel gibt es sonst eigentlich nicht zu erklären. Was noch wichtig ist, "artwork=y" bewirkt, dass .nfo files und artwork runtergeladen und im entsprechenden Zielordner gespeichert wird. Wer das nicht will, kann diesen Eintrag entfernen. Bei Problemen postet diese in diesen Beitrag. Viel Erfolg und Spaß damit! Im Anhang ist mein filebot.sh script und das eventscripter script Last edited by suffx; 14.03.2017 at 14:00. |
#2
|
|||
|
|||
![]()
Bei mir verhaut er leider das artwork in den entsprechenden Zielordner zu schieben, sondern setzt es teilweise doppelt auch in den übergeordneten Ordner.
Banner already exists: /volume2/video/Serien/poster.jpg Banner already exists: /volume2/video/Serien/banner.jpg Banner already exists: /volume2/video/Serien/fanart.jpg Banner already exists: /volume2/video/Serien/Serienname/poster.jpg Banner already exists: /volume2/video/Serien/Serienname/banner.jpg Fanart already exists: /volume2/video/Serien/clearart.png Fanart already exists: /volume2/video/Serien/logo.png Fanart already exists: /volume2/video/Serien/landscape.jpg Fanart already exists: /volume2/video/Serien/Serienname/landscape.jpg Woran kann das liegen? |
#3
|
|||
|
|||
![]()
Das betrachtet aber nicht beide Fälle, dass sowohl ein Nicht-Archiv als auch ein Archiv komplett abgeschlossen ist, oder?!
Das funktioniert aber nur mit Archiven?! Wenn JDownloader nichts zu entpacken hat (die Datei also ungepackt vorlag und erfolgreich runtergeladen wurde), wird filebot nicht aufgerufen?! Last edited by raztoki; 28.03.2017 at 21:02. |
#4
|
|||
|
|||
![]()
Hallo
Ich habe eine kurze Frage dazu. Bei mir funktioniert eigentlich alles bestens. Ich habe legidlich das Problem dass die Dateien per Jdownloader heruntergeladen werden und auch im richtigen Ordner abgelegt werden, jedoch nicht automatisch entpackt. Ich muss auf der DS immer von Hand extrahieren. Kann mir da eventuell jemand von euch helfen? Grüsse Andreas |
#5
|
||||
|
||||
![]()
Hast du JDownloader von Hand installiert oder kopiert?
Zippe mal den Logs Ordner und schicke Ihn an support@jdownloader.org dann kann ich dir da mehr zu sagen.
__________________
JD-Dev & Server-Admin |
#6
|
|||
|
|||
![]()
Das komisch ist wenn ich was runtergeladen habe. erstellt er mit kein Log davon :(
Das einzige was ich habe habe ich gesendet. Sry |
#7
|
||||
|
||||
![]()
By Default werden nur Logs von fehlerhaften Downloads erstellt.
Das Wichtige ist im ExtractionExtension log, dort sieht man ob Entpacken unterstützt wird und wenn nein, warum nicht.
__________________
JD-Dev & Server-Admin |
#8
|
|||
|
|||
![]()
Hallo,
ich wollte die geniale Anleitung nun umsetzten. Bisher klappt auch alles bis auf den Event Scripter. hier kommt immer die Fehlermeldung: FAILED to SET new Value. Es scheint ein Syntax Fehler zu sein. Da meine Kenntnisse nicht genug sind, kann vll jemand das Script aktualisieren? Danke und Gruß Robert |
#9
|
||||
|
||||
![]()
Zeig das Script, dann kann ich dir sagen wo der Fehler liegt.
" und ein paar weitere Zeichen müssen escaped werden. Die Syntax ist JSON
__________________
JD-Dev & Server-Admin |
#10
|
|||
|
|||
![]() Quote:
Ich habe das Script wie oben angegeben genommen. Dass wird mir aber von myjdownloader nicht akzeptiert. Ich habe nun wie folgt probiert, was genommen wird aber allen Anschein nach nicht geht. [{"eventTrigger":"ON_ARCHIVE_EXTRACTED", "enabled":false, "name":"Beispiel", "script":"var amcFile = "/opt/JDownloader/cfg/filebot/jdtofilebot.sh";var path = archive.getFolder(); callAsync(function() {}, amcFile, path)", "eventTriggerSettings":{"isSynchronous":false}, "id":1515857099647}] |
#11
|
|||
|
|||
![]()
Hallo,
vielleicht überlese ich etwas oder habe es geistig noch nicht richtig verknüpft. Ich habe den jDownloader laufen und ich habe Filebot und Filebot-Node installiert. Filebot-Node hat ja den Vorteil, dass ich alles schön in der Oberfläche konfigurieren kann. Darüber habe ich einen Task in der DSM installiert, der jede Nacht um 4 Uhr äuft. Nun könnte ich ja einstellen, dass dieser Task alle 5 Minuten läuft. Das hätte ich aber gerne schöner. Nach dem Download und dem Entpacken, soll Filebot ans Werk gehen. Und am Besten mit diesem Task, denn der macht ja das, was ich in der Oberfläche konfiguriert habe. Gibt es hier eine Möglichkeit? Ich habe noch nichts im Netz gefunden. Warum wird das nicht genutzt? Gibt es Nachteile? Was mich noch stört, ist die Tatsache, dass der Filebot die bearbeiteten Dateien nicht löscht. Kann man das nicht auch einstellen? Oder brauche ich eben genau dazu das Script, da es hier mehr Möglichkeiten gibt? Danke für Eure Hilfe! |
#12
|
|||
|
|||
![]() Quote:
Hatte ein Problem mit dem Script an der richtigen stelle platziert und noch kurz angepasst dann ging es. Das mit den Rechten an dem Pfad kann ich mir momentan nicht erklären, da ich 777 gesetz und +x habe. Code:
[{"eventTrigger":"ON_ARCHIVE_EXTRACTED", "enabled":true, "name":"FileBot", "script":"var amcFile = \"/opt/JDownloader/jdtofilebot.sh\";var path = archive.getFolder(); callAsync(function() {}, amcFile, path);", "eventTriggerSettings":{}, "id":1515857099647}] Wenn du das oben benutzt braucht man kein Script laufen lassen. Filebot löscht nach dem Verschieben die alten Dateien. Damit die Files nach dem Extract gelöscht werden musst du im Archiv Extractor einstellen. Gruß Robert |
#13
|
|||
|
|||
![]()
Hallo zusammen,
hab alles nach Anleitung auf meiner DS411 installiert. Jdownloader lädt runter entpackt. Das filebot skript lädt das Sample und Cover, aber das wars dann. Welche Zeile in dem ganzen ist für das verschieben zuständig / das umbenennen? Das klappt nämlich beides nicht. Gruss |
#14
|
|||
|
|||
![]()
danke für die Anleitung... gleich mal nach Arbeit Probieren
|
#15
|
|||
|
|||
![]()
Hallo und vielen Dank für die tollen Anleitungen hier.
Vielleicht eine etwas blöde Frage: Im EventScripter Code wird eine id angegeben. Wie finde ich die heraus? Noch rennt die Lösung auf meiner 415+ nicht richtig... Danke im Voraus! |
#16
|
||||
|
||||
![]()
Die ID kannst du auch weglassen. Diese dient lediglich nur der Identifikation einzelner Einträge
__________________
JD-Dev & Server-Admin |
#17
|
|||
|
|||
![]()
Danke, das war einfach!
![]() Jetzt wird es schwieriger: Event wird gestartet, was ich durch das Erstellen des Testordners sehe. Nach amc.log schaut filebot aber nicht nur im extrahierten Ordner sondern im kompletten Download Verzeichnis und extrahiert zunächst ein zweites mal in einen neuen Ordner... Ist im Code noch ein Fehler versteckt? [{"eventTrigger":"ON_ARCHIVE_EXTRACTED", "enabled":true, "name":"FileBot", "script":"var amcFile = "/volume1/video/filebot.sh";var path = archive.getFolder(); callAsync(function() {}, amcFile, path);", "eventTriggerSettings":{}}] ![]() |
#18
|
||||
|
||||
![]()
Welcher Ordner wird denn übergeben? Steht das im Log
__________________
JD-Dev & Server-Admin |
#19
|
|||
|
|||
![]()
Run script [fn:amc] at [Fri Oct 05 10:44:05 CEST 2018]
Parameter: seriesFormat = /volume1/video/Serien/{n}/Season {s.pad(2)}/{n}.{s00e00} - {t} Parameter: movieFormat = /volume1/video/Filme/{n} ({y})/{n} ({y}) Parameter: animeFormat = Parameter: unsortedFormat = /volume1/video/unsortiert/{file.structurePathTail} Parameter: unsorted = y Parameter: artwork = y Parameter: clean = y Argument[0]: /volume1/homes/markus/JDownloader/Downloads Das ist mein default Downloadverzeichnis. Der durch das Extrahieren erstellte Ordner befindet sich darin. filebot sucht aber in Downloads und findet dort auch noch die rar Dateien... Last edited by whiley85; 05.10.2018 at 11:14. |
#20
|
||||
|
||||
![]()
Evtl am Entpacker einstellen das jedes Archiv in einen eigenen Unterordner entpackt wird? Oder über den Packetverwalter/Subfolder Regel, das jeder Download in einen eigenen Ordner wandert.
__________________
JD-Dev & Server-Admin |
![]() |
Thread Tools | |
Display Modes | |
|
|