#1
|
|||
|
|||
HowTo: Filebot mit MyJDownloader kombinieren und automatisieren
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 15: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 22: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 12: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 |
#21
|
|||
|
|||
Habe einen dlc container geladen und den Haken gesetzt bei "save to" Unterordner nach Paketname. Jetzt verhält filebot sich wie er soll! Besten Dank dafür!
Leider finde ich im headless downloader die Option nicht, dass das standardmäßig passieren soll, also download in Unterordner nach Paketname, weil entscheidend ist, in welchem Ordner sich die Archivdateien befinden... Denke nach dieser Anpassung läuft es wunderbar! Danke! EDIT: Habe den Fehler gefunden: Wenn man eine dlc Datei lokal öffnet, ist der Haken bei "overwrite packagizer rules" automatisch gesetzt. Diesen entfernen, dann funktionieren auch die Einstellungen... Last edited by whiley85; 05.10.2018 at 16:07. |
#22
|
||||
|
||||
Freut mich das es nun klappt. Danke fürs Feedback und posten deiner Lösung
__________________
JD-Dev & Server-Admin |
#23
|
|||
|
|||
Hier haut es leider nicht hin, es wird immer der Download Pfad übergeben und nicht der Extraction Pfad.
In den Einstellungen des Archive Extractors: Extraction: Custom Extraction Path: Haken drin Extraction: Custom Extraction Path: /media/usbhdd/Downloads/jdownloads_entpackt Laut Log: Code:
Run script [fn:amc] at [Sun Jan 13 16:46:14 GMT 2019] Parameter: seriesFormat = /media/Test/{n}.{s00e00} - {t} ({y}) {vf} Parameter: movieFormat = /media/Test/{n} ({y}) {source}({vf}@{vc}) [{rating}]/{n} ({y}) {source}({vf}@{vc}) [{rating}] Parameter: animeFormat = Parameter: unsortedFormat = Parameter: unsorted = y Parameter: clean = y Argument[0]: /media/usbhdd/Downloads/jdownloads Read archive [testfile-s01e01.rar] and extract to [/media/usbhdd/Downloads/jdownloads/testfile-s01e01/jdownloads] Read archive [testfile-s01e01.rar] and extract to [/media/usbhdd/Downloads/jdownloads/testfile-s01e01/jdownloads] Input: /media/usbhdd/Downloads/jdownloads/testfile-s01e01.rar Group: [tvs:test] => [testfile-s01e01.rar] Rename episodes using [TheTVDB] CmdlineException: No media files: [/media/usbhdd/Downloads/jdownloads/testfile-s01e01.rar] Processing 1 unsorted files Skipped [/media/usbhdd/Downloads/jdownloads/testfile-s01e01.rar] because [/Unsorted/testfile-s01e01.rar] already exists Processed 0 files Clean clutter files and empty folders Finished without processing any files Failure (°_°) Ich vermute archive.getFolder() holt den Pfad des Archivs und nicht den des entpackten Files. |
#24
|
|||
|
|||
Ich glaube ich habe es:
Ich nutze nun: archive.getExtractToFolder() anstelle von archive.getFolder(). Der erste Test war positiv. |
#25
|
|||
|
|||
FileBot löscht deutsche Untertitel!
Hallo, habe folgendes Problem!
Wenn in dem entpackten Ordner eng und ger Untertitel vorhanden sind, schreibt Filbot nur die ersten (z.B.: *.idx und *.sub) um und sagt dann bei den anderen "already exists" und löscht zum Schluß die deutschen! Einer eine Idee? |
#26
|
|||
|
|||
funktioniert das skript nur dann, wenn man auch .rar archive lädt? Was ist wenn man eine datei lädt, die nicht entpackt werden muss? dann läuft bei mir das skript gar nicht.
Last edited by Destroyah; 04.03.2019 at 21:24. |
#27
|
|||
|
|||
wenn ich mal wieder etwas ausgraben darf ...
Bei mir funktioniert das skript nach 2+ Jahren leider nicht mehr :( Ich habe Filebot + Lizenz und manuell über Filebot Node sortiert er die Serien alle ohne Probleme ein. Daher nehme ich an, dass der EventScripter irgendein Problem hat. Der Code für den Scripter aus Post#1 ist noch im Feld eingetragen aber hat sich selbst "ausgefüllt" mit Einträgen hinter "id:" mit sehr sehr vielen Zeilen. Füge ich den Code aus Post#1 einfach dumm neu ein, sagt mir JDownloader nur "Failed to set new Value" weiß nicht ob der Log hier hilft? jdlog://5406625302851 |
#28
|
|||
|
|||
Quote:
|
#29
|
|||
|
|||
Habt ihr die Filebot Lizenz auch über die Shell aktiviert ?
|
#30
|
||||
|
||||
@ultrahigh: Ist die Frage in Richtung ob oder eher wie?
__________________
JD-Dev & Server-Admin |
#31
|
|||
|
|||
Habe alles zum laufen bekommen, jedoch sind die Files dann nicht abspielbar in KODi, ich verstehe es nicht, dachte die werden einfach nur verschoben? Er verschiebt und löscht einwandfrei, benennt alles schön, jedoch kommt in KODi beim Abspielversuch eine Fehlermeldung. Wenn ich die Files ( nicht mit Filebot verarbeitet ) manuell verschiebe funktioniert alles.
Jemand eine Idee? Benutze Filebot 4.9.6 KODi v.20 Synology DS720+ Nvidia Shield Pro |
#32
|
||||
|
||||
Also du siehst die Files in KODI, aber kannst sie nicht abspielen?
Evtl. unzureichende Rechte, die durch Filebot gesetzt wurden? Vergleiche mal die Rechte von "Dateien, die Filebot angefasst hat" und anderen.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#33
|
|||
|
|||
Ja genau, die Filme und Serien werden erkannt, es werden Infos geholt und ganz normal angezeigt.
Die Berechtigungen sind soweit gleich, also Filebot move und manueller move über den Datei Explorer. Habe dann etwas weiter geschaut und dann mal anstatt move, Copy oder Duplicate ausprobiert, voila, KODi spielt die Datei ab... Habe dann gesehen, dass mein Vater ein anderes Dateisystem hat ( bei ihm funktioniert's ) ext4 und ich aber BTRFS. Hin und her, dies und das ausprobiert.. nun geht es! Habe ja sozusagen das /volume1 und dann freigegebene Ordner ( also sub volumes ? ). Auf jeden Fall habe ich jetzt im Download Ordner nochmal einen Filme und Serien Ordner und innerhalb dieses subvolumes klappt es mit dem Move Befehl, ansonsten nur übergreifend mit Copy zb. Vielleicht übersehe ich ein Detail, aber nun funktioniert es erstmal Edit: Laut den Entwickler von Filebot könnte es wirklich ein Berechtigungsproblem sein, jedoch hatte die Datei immer noch 777 rechte, intensiver hab ich net geschaut. Last edited by NickiS1305; 21.02.2023 at 10:25. |
#34
|
||||
|
||||
Danke für das Feedback dein Post wird sicherlich auch für andere User hilfreich sein!
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
Thread Tools | |
Display Modes | |
|
|