synOTR synOTR - scriptsammlung für OTR-Workflow auf Synology Diskstation

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
… ja, dann antworte ich dir (in Ergänzung zur Mail) auch gleich mal hier :)

Welchen Weg man für eine GUI am besten geht, weiß ich nicht so richtig. Bei php würde auch immer das Zusatzpaket init_3rdparty benötigt - eine weitere Abhängigkeit. Die Fleißigen Meister des Pakets UltimateBackUp sind daher auf CGI umgestiegen. Ich weiß auch nicht, was man auf Basis von Node.js bauen kann. Was es dafür benögigt, weiß ich nicht. Am besten solch ein SPK entpacken (tar) und studieren :rolleyes:

Eine interessante Benachrichtigung wäre ja bspw. entweder eine E-Mail, wenn eine Datei fertig bearbeitet wurde, oder bspw. über einen Pushservice, der eine Benachrichtigung auf dem Smartphone auslöst.
Mir ist eine Möglichkeit bekannt, mit Systemtools eine beliebige Mail per Kommandozeile verschicken zu können. Wie man einen Pushservice aufsetzt, weiß ich erst recht nicht …
Für die Einsortierung der Files an ihren "Bestimmungsort" müsste man zuvor irgendwie tracken (vielleicht über die DB?), ob es sich bei der Datei um eine Serienfolge oder einen Film handelt. Wie im Forum erwähnt, hab ich das aktuell über filebot und eine Abfrage gelöst, nachdem ich ausgeschlossen hab, dass es eine Serie ist.
Es wird ja nur ein Teil der Serien von otr-serien.de gepflegt. Da es ja seit einiger Zeit die Episodeninfos im Dateinamen gibt, könnte man darüber eine Erkennung durchführen.

Ich glaube, ich muss mich mal mit Filebot auseinandersetzen, was ja auch auf der DS läuft (https://www.filebot.net/forums/viewtopic.php?f=13&t=1802).
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
  • Ich werde versuchen, in die nächste Version FileBot einzubinden. Wahrscheinlich werde ich aber nicht FileBot das Umbenennen überlassen, sondern lasse mir nur die Daten zurückgeben (hoffentlich geht das / möglicherweise über den DryRun).
  • mit mtcmail gibt es einen Kommandozeilen Mailprogramm. Allerdings ist es auf die Intelplattform limitiert. Vielleicht baue ich auch das ein, wenn da Bedarf ist.

Bitte nagelt mich auf keinen Zeitplan fest. Ihr wisst ja wie das mit solchen Projekten ist, die man irgendwann nebenbei realisieren möchte :rolleyes:

P.S.:
Hat jemand Erfahrung mit Filebot?
Aufgrund der Ersetzung von Sonderzeichen und Umlauten seitens OTR mit Unterstrichen, erkennt FileBot manche Dateien nicht (z.B. Grey s Anatomy Die jungen AErzte S04E06).
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344
Für Push hätte ich einen anderen Vorschlag. Es ist bei solchen Diensten gängig, Mitteilungen per URL-Aufruf zu versenden (bspw. mit CURL oder WGET, je nach genauen Anforderungen). Da wird dann alles (Authentifizierung, Nachricht usw.) per URL mitgegeben. Wenn du also eine URL konfigurierbar machst wo man per Platzhalter (sowas wie "[TEXT]") den finalen Text ersetzen kann, wäre das wohl die einfachste und übergreifendste Möglichkeit.

MfG Matthieu
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
Hallo zusammen,

@ Matthieu: vielen Dank fürs Gedanken machen :)

@ all:
Mit Push-Diensten habe ich überhaupt keine Erfahrung - habe ich noch nie genutzt. Es muss doch sicherlich jeder Dienst anders angesprochen werden. Wäre es nicht das Einfachste, die persönliche URL in der Konfiguration.txt zu hinterlegen. Darin wäre dann ein Platthalter für den Dateinamen, den ich im Skript ersetze.
Für Zuarbeit wäre ich dankbar :)

Ich hoffe, es wäre auch in eurem Sinn, wenn ich erst einmal die Serienerkennung verbessere. Die letzte Woche habe ich bereits mal alles mögliche an FileBot weitergeleitet. Aufgrund der Staffel- und Episodenbennung seitens OTR funktioniert das bei Serien ja ganz prima. Spielfilm gehen auch ganz gut (z.B. für das Erscheinungsjahr). Doku-Soaps ect. werden meistens falsch erkannt. Hier weiß ich noch nicht, wie ich das zielsicher filtern kann …

Da FileBot (meines Erachtens) die meisten Infos von theTVDB holt, würde ich am liebsten direkt deren API verwenden (https://api.thetvdb.com/swagger). Leider ist das auch völliges Neuland für mich. Z.B. weiß ich noch nicht, wie ich den Authtoken einbauen kann (mit der alten API v1 konnte man ohne Authentifizierung abfragen: z.B. Monk). Es ist ja sicherlich auch nicht im Sinne des Erfinders, wenn ich meinen persönlichen API-Schlüssel in das Skript lege :rolleyes:

Wie macht man so etwas? :confused:
Soll sich dort jeder erst einen API-Schlüssel holen müssen?
 

Matthieu

Benutzer
Mitglied seit
03. Nov 2008
Beiträge
13.222
Punkte für Reaktionen
88
Punkte
344

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
Ihr wollt Pushbenachrichtigungen?
Ihr bekommt Pushbenachrichtigungen! :)

… allerdings nicht nativ. Aber warum auch das Rad neu erfinden, wenn QTip schon so hervorragende Vorarbeit geleistet hat.

Vielen Dank an QTip an dieser Stelle, für seine brillante Arbeit mit seinen Paketen!

Das Skript musste ich noch ein wenig anpassen, damit ihr in der Konfiguration.txt einen eigenen Benutzer für die Benachrichtigungen hinterlegen könnt. Ein eigener User hat den Vorteil, dass ihr über diesen Nutzer nur synOTR-Benachrichtigungen erhaltet. Ihr könnt es natülich auch mit admin oder sonst einem tun, bekommt aber dann natürlich auch sämtliche anderen Benachrichtigungen.

Ich hoffe, die Lösung ist für euch in Ordnung :rolleyes:

Version 3.2.0 [RELEASE] für 32/64bit x86 & ARMv7 - [2017-10-07] - KLICK ZUR DOWNLOADSEITE

Verbesserung der Version 3.2.0:
  • Pushbenachrichtigungen in Verbindung mit dem Notification Forwarder realisierbar

Geänderte Dateien:
  • synOTR.sh


Für die Einrichtung bitte nachstehende Schritte ausführen:
1. um nur synOTR-Benachrichtigungen auf dem gewünschten Kanal zu empfangen, erstelle zunächst im DSM einen neuen User, z.B. "synOTRpush" (er benötigt keinerlei Rechte).
2. Setze in der Konfiguration.txt die Variable: MessageTo="synOTRpush"?
dsmtextnotify="on" muss in der Konfiguration.txt gesetzt sein?
synOTR muss vom user 'root' gestartet werden, da nur er die Rechte hat, Systembenachrichtigungen versenden zu können.
3. installiere von cphup.net die Pakete "Notification Essentials" und "Notification Forwarder"
4. Öffne den 'Notification Forwarder' und erstelle eine neue Benachrichtigung für den User synOTRpush?
Details zur Konfiguration der einzelnen Dienste findest du hier im entsprechenden Thread [LINK]
5. Der neue User synOTRpush kann nach der Einrichtung auch deaktiviert werden​
 
Zuletzt bearbeitet:

-rrr-

Benutzer
Mitglied seit
03. Sep 2017
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Vielen Dank, Stephan, für deine Mühe!!!
Klingt sau cool.

Leider übersteigt das scheinbar, meine Fähigkeiten, denn ich scheitere schon an der Funktion "E-Mail" im Notification Forwarder. Die E-Mail-Einstellungen sind zwar in den Einstellungen des NF korrekt, dennoch bekomme ich immer den Fehler "Curl: 67 Error".

Dennoch, danke, dass du dich da so rein hängst!!!
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
Wo kommt der Fehler? Im synOTR-Skript oder direkt im NF?
Bei Fragen zu NF musst du mal QTip hier fragen.

Meine NF Mailkonfig sieht so aus:
Bildschirmfoto 2017-10-15 um 21.07.29.png
 

LordArchidux

Benutzer
Mitglied seit
15. Okt 2017
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo Stephan,

auch von mir zum Einstieg ein großes Lob für deine Arbeit und vor allem den jahrelangen Support, den du hier schon seit 2014 leistest!

Nachdem ich gestern das Paket auf meinem NAS zum Laufen gebracht habe, wollte ich meine Einstiegsschwierigkeit kurz hier schildern, damit andere vllt nicht über das gleiche (banale) Problem stolpern:
Ich hatte die Konfigurationsdatei vollständig angepasst und den Task im Aufgabenplaner angelegt. Nun wollte ich diesen Task direkt ausführen und ... ... ... habe mich gewundert, dass einfach gar nichts passierte! Es hat einige Zeit gedauert, bis ich dann herausgefunden habe, dass man auch für den Aufgabenplaner ein Log anlegen lassen kann. Dort wurde ich dann fündig:
sh: 
„/volume1/Medien/OTRKEYS/synOTR/synOTR-start.sh“

: No such file or directory
Da war mir sofort die Fehlerursache klar: Ich hatte einfach hier aus dem Forum die Zeile kopiert und angepasst. Die " " " wurden wohl (wegen unterschiedlicher Kodierung?) falsch übersetzt. :rolleyes:


Mit der zweiten Hälfte meines Posts möchte ich mein Verständnis der Funktionsweise von synOTR bestätigen. Meine geplante Anwendung ist folgende:

1. Vom PC starte ich Torrents in der DownloadStation.
2. Die DownloadStation legt die Otrkeys in OrdnerX ab.
3, synOTR dekodiert alle noch nicht dekodierten Otrkeys in OrdnerX und belässt diese (zum weiteren Seeden) dort.
4. Die dekodierten Dateien werden in OrdnerY abgelegt, der wiederum auf den PC zum Schneiden heruntergeladen wird.

Mein Verständnis nach durchstöbern des Skripts und einem Probelauf ist jedoch, dass synOTR immer alle Otrkeys im OrdnerX dekodiert. Die "Datenbank der bisher abgearbeiteten Filme", von der ich auf der FAQ-Seite gelesen hatte, bezieht sich also auf etwas anderes?

Nun meine Fragen:
- Ist mein Verständnis soweit richtig?
- Wie aufwändige wäre eine Erweiterung, um das von mir gewünschte Verhalten zu erreichen? Notwendig wären nach meiner Einschätzung das Ablegen der dekodierten Dateien in einer DB, vor dem Dekodieren eine Suche in der DB und ggf. überspringen des Dekodierens. Kann nicht so kompliziert sein, oder? :cool:
- Oder anders: Hast du (oder jemand anders) spontan eine Idee, wie ich meine geplante Anwendung ohne weiteres realisieren kann, ohne dass alle Otrkeys immer wieder dekodiert werden?

Vielen Dank im Voraus!

Viele Grüße
Johannes
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
Hallo Johannes und herzlich willkommen hier im Forum :D

Danke für den Hinweis. Ja, sowas kann immer mal passieren …

Zu deiner Frage:
Die Datenbank wird in erster Linie für die automatische Umbennung verwendet (derzeit werden die Einträge erst beim Umbenennen angelegt). Man könnte das sicherlich erweitern. Die Frage: ist es überhaupt notwendig? Nach meinem Verständnis werden die Torrentseeds aus dem Download-TEMP-Ordner gespeist (Downloadstation => Einstellungen => Allgemein). Man sollte die .otrkeys eigentlich im Downloadordner löschen können, ohne den Upload der Torrents zu beeinträchtigen.

Du kannst also die .otrkeys ruhig in den Papierkorb schieben lassen (korrigiert mich, falls ich falsch liege). Ggf. will man vielleicht eine Datei irgendwann einmal ein 2. Mal herunterladen und dekodieren. Da würde man sich wieder Steine in den Weg legen …

Darf ich fragen: Warum schneidest du extra über deinen Rechner und nicht gleich über die DS?


P.S.: eine Signatur mit deiner DS-Konfiguration ist immer gut. Das erspart immer wieder Nachfragen :)
 

LordArchidux

Benutzer
Mitglied seit
15. Okt 2017
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hej,

ich kenne mich da nur mit meinem Torrent-Client auf dem PC aus und der meckert, wenn die Datei nicht mehr in dem Ordner liegt, wo er sie abgelegt hat. In der DownloadStation ist nur "Volume 1" als Ort angegeben, was etwas vage ist... ;)
Habe jetzt zur Probe die Datei in den Papierkorb verschoben und die DownloadStation findet die Datei nicht mehr. So einfach ist es also leider doch nicht...
Noch andere Ideen dazu?


Was das Schneiden angeht: Ich habe eine DS216j, die nur 500MB RAM hat. Irgendwo hatte ich gelesen, dass es da bei HQ-Aufnahmen schon eng wird und HD könne man ganz vergessen. Wenn es da andere Erfahrungen geben sollte, würde ich es vllt mal ausprobieren.

Viele Grüße
Johannes


PS: Ich darf mein Profil noch nicht anpassen:
Zur Spamvermeidung im Forum werden einige Funktionen erst freigeschaltet, nachdem Sie einige nicht zu beanstandenden Posts im Forum verfasst haben. Hierzu zählt z.B. das Ändern der Signatur.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
…In der DownloadStation ist nur "Volume 1" als Ort angegeben, was etwas vage ist... ;)
Habe jetzt zur Probe die Datei in den Papierkorb verschoben und die DownloadStation findet die Datei nicht mehr. So einfach ist es also leider doch nicht …

In den Einstellungen der Downloadstation wählt man nur das Volume aus. Der Temporäre Downloadordner liegt dann z.B. unter /volume1/@download. Ich habe es gerade auch getestet. Ich kann die fertigen Torrentdownloads löschen, während im temporären Downloadordner noch eine Kopie liegt und das Seeding weiter läuft.

… Was das Schneiden angeht: Ich habe eine DS216j, die nur 500MB RAM hat. Irgendwo hatte ich gelesen, dass es da bei HQ-Aufnahmen schon eng wird und HD könne man ganz vergessen. Wenn es da andere Erfahrungen geben sollte, würde ich es vllt mal ausprobieren.

HQ Dateien sollten gut geschnitten werden können, HD wird nicht funktionieren (das betrifft das framegenaue Schneiden mit avcut. Das Schneiden bei Keyframes funktioniert auch mit HD). Auf meiner DS214 (auch 512MB) geht es problemlos.
 

LordArchidux

Benutzer
Mitglied seit
15. Okt 2017
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hej,

du hast recht:
Ich kann die fertigen Torrentdownloads löschen, während im temporären Downloadordner noch eine Kopie liegt und das Seeding weiter läuft.

Warum auch immer läuft das bei mir jetzt genauso. Aber ich werde mich sicher nicht beschweren und einfach freuen, dass ich meinen Plan so umsetzen kann wie ausgedacht. :D

Vielen Dank für deine Unterstützung!

Viele Grüße
Johannes
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
…Aber ich werde mich sicher nicht beschweren und einfach freuen, dass ich meinen Plan so umsetzen kann wie ausgedacht. :D
Wenn es Grund gibt, nur zu :eek:
Von nix kommt nix, und viele Szenarien werden im eigenen Workflow einfach nicht abgebildet.

Schön, dass es jetzt bei dir läuft!
 

-rrr-

Benutzer
Mitglied seit
03. Sep 2017
Beiträge
20
Punkte für Reaktionen
0
Punkte
1

-rrr-

Benutzer
Mitglied seit
03. Sep 2017
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Entschuldige, ich habe mich falsch ausgedrückt. Ich meine nicht den Allgemein-Reiter in den Einstellungen, sondern die Übersicht, wo man sich die Benachrichtigungen anlegt. Dort erschließt sich mir leider nicht, wie ich was eingeben muss, um die E-Mail Benachrichtigung anzulegen. Vielleicht hast du ja schon was parat?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
Da habe ich nur meine Empfängeradresse, den User, dessen Benachrichtigung gesendet werden sollen sowie das Protokoll "Email" eingetragen:

Bildschirmfoto 2017-10-24 um 13.50.54.jpg
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.371
Punkte für Reaktionen
1.188
Punkte
234
UpDate - synOTR Version 3.3.0

Ihr hattet euch eine Anbindung / Integration an FileBot gewünscht. Ich hatte da die letzte Zeit etwas getestet und alle Filme an FileBot weitergegeben. Die Serienerkennung war erwartungsgemäß besser, als bisher mit synOTR. Allerdings wurden gerade abgefragte Spielfilme für falsche Serien gehalten. Meiner Beobachtung nach bezieht FileBot die Serieninfos von theTVDB.com. Daher habe ich jetzt direkt die entsprechende API implementiert. Grundsätzlich werden nur Serien abgefragt, d.h. wenn die Dateinamen Serieninfos beinhalten (S01E01). Die Abfrage ist nicht immer eindeutig möglich, da die OTR-Dateinamen ja teilweise sehr stark vereinfacht werden. Es werden max. 4 unterschiedliche Abfragen an TVDB gesendet. Ist das Ergebnis mehrdeutig, wird das erste Ergebnis verwendet. Ist die Suche ergebnislos, wird nach wie vor auf otr-serien.de gesucht.

Wie das immer so ist, liegen die Fallstricke ja im Detail. Ich habe zwar viele verschiedene Seriennamen getestet, aber ihr findet bestimmt noch Fehler. Bitte teilt mit falsch benannte Filme mit.

Ich hoffe, die Lösung ohne FileBot ist für euch in Ordnung :rolleyes:

Version 3.3.0 UNIVERSAL [RELEASE] für 32/64bit x86 & ARMv7 - [2017-10-24] - KLICK ZUR DOWNLOADSEITE

Verbesserung der Version 3.3.0:
  • es ist jetzt möglich, die Audiospur normalisieren zu lassen (nur in Verbindung mit avi2mp4-Konvertierung bei mp3-Quellspur) / Deaktiverung über normalizeAudio="off")
  • Serieninformationen werden jetzt (in Anlehnung an FileBot) zusätzlich von theTVDB.com abgefragt (sofern der Titel Serieninfos enthält)
    => TVDBlang="de" (Sprache, in welcher nach Serien auf theTVDB.com gesucht werden soll)
    => sollten mehrere gleichnamige Serien existieren, so wird die 1. verwendet
    Gibt es neuaufgelegte Serien, so hilft es, den Dateinamen um das Jahr zu ergänzen (Serienname_S01E01_17.10… => Serienname_(2017)_S01E01_17.10…)
  • Asynchronitäten kann man mit der Variablen MP4BOX_DELAY="100" entgegenwirken (in Millisekunden / Feinabstimmung für den Audio-Video-Sync / Positive Werte verzögern den Ton; negative Werte verzögern das Bild ('holen den Ton nach vorn') / nur in Verbindung mit avi2mp4-Konvertierung)
  • Ist die Zieldatei bereits vorhanden (z.B. bei Serien ohne Serieninformation), wird in der Datenbank die Anzahl der bisherigen Filme gezählt und der Dateiname entsprechende erweitert.

Geänderte Dateien:
  • synOTR.sh
  • synOTR-start.sh

neue Variablen, die in der Konfiguration.txt gesetzt werden können:
1. normalizeAudio="off" (on/off - Deaktiverung der Normalisierung)
2. MP4BOX_DELAY="100" (in Millisekunden / Feinabstimmung für den Audio-Video-Sync)
3. TVDBlang="de" (Sprache, in welcher nach Serien auf theTVDB.com gesucht werden soll)
4. TVDB_APIKEY="" (einen eigenen API-Key von thetvdb.com nutzen)​

INFORMATION bzgl. theTVDB.com:
Viele Serieninformationen stammen von der Website http://thetvdb.com. Bitte unterstützt diesen kostenlosen Service, indem ihr nach Möglichkeit Informationen und Grafiken beitragt.
 
Zuletzt bearbeitet:


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat