Synology NAS: FileBot mit Event Scripter über JDownloader automatisch starten


Mit dem Event Scripter Filebot starten

Achtung: Diese Anleitung ist veraltet. Mittlerweile nutze ich den JDownloader und FileBot auf dem Synology NAS über Docker.

Der JDownloader ist zusammen mit dem Filebot auf meinem günstigen Synology NAS DS216j ein ideales Team um Videodateien runterzuladen und passend zu benennen. Mit dieser Anleitung startet der FileBot per Event Scripter nach dem Entpacken des Archives durch den JDownloader automatisch und DS Video wird darüber informiert, dass neue Videodateien vorliegen.

Dieses Tutorial setzt voraus, dass ihr den JDownloader und den FileBot bereits installiert habt. Ferner sind die Optionen für den Einsatz von DS Video statt Kodi und OSMC optimiert.

Schritt A: Shellscript anlegen

1. root-Zugriff per Shell auf das Synology NAS anlegen

2. Im HOME-Verzeichnis (z.B. „/var/services/homes/juser/“ ) legt ihr eine neue Datei namens „jdtofilebot.sh“ an:

cd /var/services/homes/juser/
vi jdtofilebot.sh

3. Mit der Taste „i“ könnt ihr nun folgendes Script einfügen und beendet anschließend mit „:wq“ den vi-Editor.

#!/bin/sh
 export JAVA_OPTS="-Xmx256m"
 /var/packages/filebot/target/filebot.sh -script 'fn:amc' /volume1/video/download --output /volume1/video/ --conflict auto --lang en --def 'clean=y' 'skipExtract=y' 'exec=/usr/syno/bin/synoindex -R video' 'excludeList=.excludes'

4. Prüft bitte die Pfade wie „/volume1/video/download“ und „/volume1/video“. Ersteres ist der Pfad zum Download-Verzeichnis vom JDownloader und letzterer Pfad enthält die Struktur wie „TV Shows“ und „Movies“. Mit dem Parameter „exec“ wird am Ende der Index für DS Video erneuert, damit sie automatisch im Mediacenter auftauchen.

5. Nun müsst ihr das Script noch für jeden ausführbar machen.

chmod +777 jdtofilebot.sh

Ob es bis hierhin geklappt hat, könnt ihr mit dem folgenden Befehl prüfen:

./jdtofilebot.sh

Sollte hier irgendwas komisches passieren, prüft bitte die oberen Schritte. Prüft auch die Grundvoraussetzungen in dem ihr euch den Artikel nochmal von oben durchlest. Dies war der schwerste Teil. Gratulation!

Der Event Scripter unter my.JDownloader in den Einstellungen
Der Event Scripter unter myJDownloader in den Einstellungen

Schritt B: Event Scripter in myJDownloader einschalten

1. In myJDownloader gehen wir zu den Einstellungen und finden dort im linken Menü den Punkt weiter unten unter „Extensions“ den „Event Scripter“. Falls nicht, prüft bitte den „Extension Manager“ ob die Erweiterung aktiviert wurde.

In das Feld „Scripts“ kopiert ihr nun folgendes JSON. ACHTUNG: Darin den Benutzernamen „juser“ gegen euren Benutzernamen austauschen! Sonst findet der JDownloader das in Schritt A angelegte Shell-Script nicht.

[{"eventTrigger":"ON_ARCHIVE_EXTRACTED", "enabled":true, "name":"FileBot", "script":"var amcFile = \"/var/services/homes/juser/jdtofilebot.sh\";var path = archive.getFolder(); callAsync(function() {}, amcFile, path);", "eventTriggerSettings":{}, "id":4711}]

Wenn nun eine Fehlermeldung wie „Sorry, failed to set new value“ erscheint, dann ist das JSON nicht in Ordnung, weil ihr den Schnippsel oben falsch kopiert habt und das JSON aus anderen Gründen nicht mehr valide ist. Prüft den Codein dem Fall mit Werkzeugen wie „JSON lint“.

Schritt C: Berechtigung in myJDownloader setzen

Wenn ihr den ersten Download und das erste Entpacken nach diesem Tutorial abgeschlossen habt, erscheint auf myJDownloader eine Meldung, dass ihr dem JDownloader erlauben müsst, auf lokale Dateien zuzugreifen. In diesem Fall ist damit das FileBot-Script aus Schritt A gemeint. Bestätigt dies mit „Ja“ und setzt den Haken für „Nicht nochmal fragen“. Ansonsten wird das Script nie ausgeführt und es funktioniert nicht.  Falls es hier Probleme gibt, schaut in die Logs auf dem Synology NAS unter folgendem Pfad:

/volume1/@appstore/JDownloader/logs/

ACHTUNG: Da das Entpacken lange dauern kann, müsst ihr euch unter Umständen gedulden, bis die Meldung erscheint und ihr den Zugriff bestätigen könnt. Besonders auf einem günstigen Synology DS216j (kaufen) oder dem neuen Synology DS218j (kaufen).


Beitrag veröffentlicht

in

von

Kommentare

64 Antworten zu „Synology NAS: FileBot mit Event Scripter über JDownloader automatisch starten“

  1. Avatar von Herr Hugo
    Herr Hugo

    Mal eine Frage. machst du die ganzen Klimmzüge, um Filme? von irgendwoher automatisiert herunterzuladen, wenn du nicht am Rechner bzw. der aus ist? Oder denke ich da an was ganz falsches?

    1. Avatar von Marc
      Marc

      Richtig. Die Videodateien (Serien und Filme) sehen den Rechner nie. Auf dem Synology NAS wird heruntergeladen, umbenannt, mit Metadaten inkl. Untertitel versehen und dann an die Fernseher gestreamt.

      Die Automatisierung dieser Vorgänge ist schon äußerst praktisch. Zumal ich zu Hause keinen „Rechner“ mehr habe.

  2. Avatar von Finn
    Finn

    und das alles legal??

    1. Avatar von Marc
      Marc

      Natürlich! Was man damit runterläd liegt in der Verantwortung jedes Einzelnen.

  3. Avatar von JA
    JA

    Vielen Dank.
    download und filebot funktionieren nun schon einmal. jetzt muss ich mich nur noch einmal ein bisschen mit dem filebot beschäftigen und herausfinden wie es alles da landet wo es hin soll (ordner, format, subs, usw)

    1. Avatar von Marc
      Marc

      Die Standardeinstellungen der Ordner vom Filebot sind meiner Ansicht nach optimal kompatibel mit Kodi und DS Video.

  4. Avatar von JTR
    JTR

    Hier passt eigentlich das Video hier:

    1. Avatar von Marc
      Marc

      Also wenn das schon „Nerdy“ in deinen Augen ist, dann sind die Software-Entwicklungsthemen hier im Blog dann Rocket Science? Diese Anleitung kann meiner Ansicht nach jeder befolgen, der Schreiben gelernt hat. Und über die Suchmaschinen kommt auch viel Traffic auf dieses Thema. Scheinbar interessiert das einige Leute den Prozess noch einfach zu machen.

    2. Avatar von JTR
      JTR

      Ich sags mal so, ich lade nicht soviel herunter als das ich es nicht von Hand umbennen und in das entsprechende Netzlaufwerk verschieben könnte. Viele Automatismen schaue ich als Zeitverschwendung an. Ich habe nicht mal eine Spühlmaschine in der Küche, so etwas wie Smart Home käme mir nie ins Haus. Warum? Weil das meiste was mit IT Technik zu tun hat, alles andere als ausgereift ist (anders klassische Steuerungstechnik die banal einfach aufgebaut ist). Dann bist du am Fehler suchen und fragst dich irgendwann warum man sich das überhaupt antut. Meist ist der manuelle Weg immer noch der einfachste und zuverlässigste. Und ich bin wahrlich nicht Technik scheu, aber ein gebranntes Kind. Und nein nicht beim PC. Mein Windows PC den ich selber zusammen gebaut habe, ist die zuverlässigste IT die ich kenne. Selbst die OEM DELL Workstation die wir in der Bude verwenden sind massiv fehleranfälliger (war ab Werk automatischer Grafikadapter im Bios eingestellt, was bei Display Port dazu führte dass kein Monitor erkannt wurde, weil er versuchte über die iGPU von Intel das ganze zu betreiben anstatt über die Quadro), ebenso wie jeder Laptop der mir bisher unter die Augen gekommen ist.

    3. Avatar von Marc
      Marc

      Der filebot legt die Dateien, die er nicht erkennt, in ein Verzeichnis namens „unsorted“. Das macht er aber so gut wie nie. Und er sagt auch den Videosystemen wie Kodi oder DS Video bescheid. Das ist schon eine enorme Beschleunigung. Gerade bei Serien mit 20 Folgen pro Season.

      Homematic IP und Philips Hue funktionieren dank Alexa ebenfalls besser als die Heizung oder das Licht per Hand zu schalten. Ich melke ja auch nicht mehr die Kuh im Stall sondern Kaufe Bio-Milch im Tetra-Pak. ;-)

    4. Avatar von JTR
      JTR

      [Gelöscht. Hat gegen die Netiquette verstoßen.]

    5. Avatar von Ingo
      Ingo

      [Gelöscht. Hat gegen die Netiquette verstoßen.]

  5. Avatar von Daniel
    Daniel

    Servus, mal ne Frage. Dein Skript löscht doch auch noch verschieben der Videodatei in den Ordner \video die entpackten Dateien aus dem Ordner \download oder ? Bei mir macht er das nicht

    1. Avatar von Marc
      Marc

      Das macht die Option „clean=y“. Lief es denn erfolgreich durch? Denn nur dann entfernt er die Dateien auch.

  6. Avatar von davedeluxe
    davedeluxe

    Hi,

    vielen Dank für die spitzen Anleitung!
    Ich habe soweit alles am Laufen und es klappt bestens, nur eine Sache macht mir Probleme:
    Die in die Ordner verschobenen Dateien Haben keine Berechtigungen (Genehmigung) mehr und der Owner ist root. Somit kann ich die Dateien nicht verwenden ohne vorher manuell alles zu korrigieren.
    Kann man das automatisiert ändern oder sollte das eigentlich gar nicht passieren und ich mache etwas falsch?
    Die Datei im Downloadverzeichnis hat noch die korrekten Werte, es muss also am Filebot bzw. dem entsprechenden Script liegen.

    1. Avatar von Marc
      Marc

      Mhh, was heißt, Du kannst die nicht verwenden? Führst du das eventuell irgendwie unter einem falschen User aus? Triggert jdownloader das oder du manuell?

    2. Avatar von davedeluxe
      davedeluxe

      Per Event Scripterlasse ich es ausführen, das Gleiche passiert aber auch wenn ich es manuell via PuTTY starte.
      Es funktioniert lediglich wenn ich es von der FileBot Node über das Webinterface mache.
      Das Script liegt in meinem Home-Folder

  7. Avatar von davedeluxe
    davedeluxe

    Ich kann den Fehler nicht finden aber ich habe im Script noch folgendes angegeben:

    --def "exec=chmod -R 775 \"{folder}/\" ; chown -R USER:users \"{folder}/\""

    damit zieht er es wieder grade :)

    1. Avatar von Marc
      Marc

      Super. Danke! Ich habe den Kommentar mal oben im Artikel am Ende erwähnt.

    2. Avatar von Danny
      Danny

      Ich habe {output} verwendet, da sonst die Änderung der Zugriffsrechte und Inhaber nicht auf bspw. das Serienverzeichnis sondern nur auf Staffel 1, … usw. ausgeführt werden. Mein Script sieht nun komplett so aus:

      #!/bin/sh
      export JAVA_OPTS=“-Xmx256m“
      filebot -script ‚fn:amc‘ /volume1/downloads –output /volume1/video –conflict auto –lang de –def movieFormat=Filme/{ny}/{fn} seriesFormat=Serien/{n}/{‚Staffel ‚+s}/{fn} animeFormat=Anime/{n}/{fn} clean=y skipExtract=y ‚exec=chmod -R 775 „{output}“; chown -R root:users „{output}“; synoindex -R video‘ excludeList=.excludes

    3. Avatar von Marc
      Marc

      Interessant. Ich sollte den Artikel auch mal aktualisieren. Denn mittlerweile nutze ich Filebot als Docker-Container auf dem NAS.

  8. Avatar von Hans
    Hans

    Kann mir jemand sagen wieso Filebot meldet das er ne Lizenz will?
    ich dachte das wäre ein kostenlises Tool.

    Gruß Hans

    1. Avatar von Marc
      Marc

      Ich glaube die stellen das gerade um. :/

  9. Avatar von Arno
    Arno

    Hallo,

    es besteht doch auch die Möglichkeit die Dateien je nach Art, also Filme, Serien, etc, automatisch in vorgegebene Ordner zu verschieben. Wie könnte man dies in deinem Script mit einbauen? Ich bin leider ein Neuling was diese Sachen angeht. Vielen Dank im Voraus.

    1. Avatar von Marc
      Marc

      ne, das macht Filebot bei den Standardeinstellungen anhand des Kodi-Standards automatisch. Wenn du nichts angibst, dann wird er die Ordner „movies“, „tv shows“ und „music“ verwenden.

  10. Avatar von Darko
    Darko

    Kann man alle Synology dafür benützen oder nur ein bestimmtes? Will mir ein neues zulegen aber nicht umbedingt viel Geld ausgeben :D

    1. Avatar von Marc
      Marc

      Das DS216j reicht. Nachfolger DS218j ist auch super.

    2. Avatar von Darko
      Darko

      Danke für den Tipp. Was haltest du von der DS118? Ist ein Quad Core.

    3. Avatar von Marc
      Marc

      Ist völlig egal ob du einen Quadcore oder ein GameBoy dran hast. Du brauchst nur den Storage für diese Lösung. Das DS118 hat nur einen Festplattenschacht. Halte ich für Quatsch.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert