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

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.372
Punkte für Reaktionen
1.188
Punkte
234
… Ich könnte nie auch nur eine Zeile Code selbst schreiben, …
Konnte ich auch nicht :rolleyes:
… Ich kann mir auch denken, wie das hier wirken kann, jetzt kommt nach vielen Stunden Arbeit jemand, der es besser wissen will. Dennoch werde ich einfach mal frech nachfragen. …
Nö, dass sehe ich nicht so. Jeder hat andere Vorstellungen und andere Arbeitsabläufe sowie Ideen. Darüber kann man immer reden. Vorschläge, die ich gut und passend finde und vermeintlich umsetzen kann, werde ich angehen.
… Ich fände es schön, wenn das Script sich die Datei aus einem Quellverzeichnis holen würde und dann im eigenen Verzeichnis alle Konvertierungsschritte durchlaufen … würde. Am Ende sollte dann die fertige Datei in das Ausgabeverzeichnis verschoben werden. …
Das werde ich mir nochmal ansehen, aber jetzt keinen Schnellschuss machen. Es wird, wenn's wird …:)
… Das Tüpfelchen auf dem I wäre auch, wenn mittels if else der Vorgang weiter laufen würde, wenn die Cutdatei fehlt. …
Das soll so. Nutzt man z.B. bei einem Mirror die Serienpushfunktion, so gibt es zu diesem Zeitpunkt in der Regel nie Cutlisten für das File. Es muss also immer eine Weile gewartet werden. Wenn der Bedarf besteht, kann ich aber eine Variable in der Konfiguration.txt auswerten lassen, die das Warten umgeht.
… Deshalb noch eine kurze Frage, reicht es, wenn ich die Pfade in der SynOTR.sh und SynOTR-Start.sh anpasse oder muss ich tiefer in den Verzeichnissen suchen.
Das muss ich mir ansehen, wenn ich mich davor setzen werde. in der synOTR-start.sh solltest wahrscheinlich keine Anpassung nötig werden. Der Aufwand sollte eigentlich überschaubar sein, aber stecken oft die Überraschungen im Detail.
… Was ich aber gar nicht hin bekomme ist das Verscheiben der Datei am Ende. Da wäre ich auf eine fertige Codezeile angewiesen, mit dem Hinweis, wo ich diese einfügen muss.
Was hast du denn bisher? Verschoben wird mit mv /Quellpfad /Zielpfad
 

DOWEI

Benutzer
Mitglied seit
24. Mai 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Was hast du denn bisher? Verschoben wird mit mv /Quellpfad /Zielpfad

Nein, Mit dem Holzhammer, nicht schön aber effektiv:

Ich habe in der synotr_start.sh folgende Zeilen bearbeitet:

24: decodir="${workdir%/}/decodir"
35: mkdir -p "${workdir%/}/log"

In der synotr.sh

266: decodir="${workdir%/}/decodir"
280: entsprechend wie 266.

Was ich jetzt noch suche, ist die Konvertierung, der avi in die mp4, die normalerweise in der "destdir" stattfindet. Die würde ich gerne auch in der decodir ablaufen lassen, oder wenn das nicht geht in einem anderen Verzeichnis. Wenn dann alles abgeschlossen ist, dann muss die Datei natürlich noch in die "destdir" verschoben werden.

Das könnte man auf zwei Wegen realisieren. Entweder, man verschiebt am Ende einfach die Datei oder man wählt als Ausgabepfad des letzten Konvertierungsschritts die "destdir".
Für beides habe ch noch keine Lösung, dafür hab ich den Code noch nicht weit genug durchschaut. Bzw. ich weiß einfach nicht, wie die Codzeile zum verschieben heißen müsste und wo sie hin gehört.
 

geimist

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

… Ich habe in der synotr_start.sh folgende Zeilen bearbeitet:
24: decodir="${workdir%/}/decodir"
35: mkdir -p "${workdir%/}/log"

In der synotr.sh
266: decodir="${workdir%/}/decodir"
280: entsprechend wie 266

… Was ich jetzt noch suche, ist die Konvertierung, der avi in die mp4, die normalerweise in der "destdir" stattfindet. Die würde ich gerne auch in der decodir ablaufen lassen, oder wenn das nicht geht in einem anderen Verzeichnis. Wenn dann alles abgeschlossen ist, dann muss die Datei natürlich noch in die "destdir" verschoben werden …

Ich kann dir jetzt keine definitive Antwort geben. Ich muss mich da mal in Ruhe dransetzen, wenn ich etwas Zeit dafür habe.

Nur so viel:
Im decodir kannst du die Konvertierung nicht laufen lassen, weil ja, wie im letzten Post geschrieben, darin die Filme auf Cutlists warten. Das Einfachste wird eine neue Funktion am Ende des Skripts sein, welche die fertigen Filme in den endgültigen Zielordner verschiebt. Habe etwas Geduld; es steht auf der ToDo-Liste (genauso das Nichtwarten bei nicht vorhandenen Cutlisten) :)
 

DOWEI

Benutzer
Mitglied seit
24. Mai 2017
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
ich habe es gelöst!

ich habe als "destdir" ein Verzeichnis innerhalb des Programmverzeichnisses gewählt.
Dann habe ich am Ende der "synOTR.sh", im Bereich der Funktionen folgendes eingefügt
move()
{
cd {destdir}
mv *.mp4 /volume1/video/recordedtv/
}

und im Bereich "Aufruf der Funktionen"

noch das "move" eingefügt.

Auch das ist nicht schön, aber es läuft
 

geimist

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

hier mal wieder ein kleines Update :):


Version 3.1.0 [RELEASE] für 32/64bit x86 & ARMv7 - [2017-06-03] - KLICK FÜR DOWNLOAD

Verbesserung der Version 3.1.0:
  • separates Arbeitsverzeichnis über die Variable WORKDIR definierbar
  • das Warten auf passende Cutlisten kann mit der Variablen WaitOfCutlist=off umgangen werden
  • Fehler bei Pfaden mit Leerzeichen behoben
  • Parameter für ReIndex geändert. Gelöschte Aufnahmen werden jetzt auch aus dem Index entfernt. Es wird nach dem ersten Programmaufruf des Tages jeweils eine komplette Indexierung des Zielordners durchgeführt. Das verlängert zwar den Indexprozess, aber verhindert Dateileichen in der VideoStation. Fertig gestellte Filme werden dem Index sofort hinzugefügt. Die komplette Neuindexierung kann man mit der Variable reindex=0 in der Konfiguration.txt deaktivieren.
  • Die Prozesspriorität der wichtigsten Programmaufrufe wurde herabgesetzt
  • Zeitstempel der Datei wird nun auch geändert, wenn eine Episode nicht umbenannt werden kann, weil eine gleichnamige bereits vorhanden ist (z.B. bei fehlenden Serieninformationen)
  • Bugfixes

Geänderte Dateien:
  • synOTR.sh
  • synOTR-start.sh
  • die Konfiguration.txt kann zwar weiter verwendet werden, allerdings sollten folgende Zeilen ergänzt werden (alle optional):
    Rich (BBCode):
    WORKDIR="/volume1/video/_tmp/"	# Arbeitsverzeichnis für temporäre Filmdateien
    WaitOfCutlist="on" 		# on => Film wartet bis Cutlist verfügbar ist / off => Film wird ohne warten weiterverarbeitet
    reindex=1 			# 1=tägliche ReIndexierung / 0=keine tägliche ReIndexierung
 
Zuletzt bearbeitet:

compukortschnoi

Benutzer
Mitglied seit
03. Jun 2016
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Guten Tach in die Runde,

mein synOTR tut seit gestern nicht mehr, wie schauts bei Euch aus?

Im Log steht:

==> decodieren:

Shark_Tank_Die_Business_Profis_17.08.21_11-15_dmax_60_TVOON_DE.mpg.mp4.otrkey
! ! ! OTRDecoder konnte keine Verbindung zum OTR-Server aufbauen. Datei wird übersprungen.

OTRdecoder LOG:
[OTRHelper:] Error: No connection to server!

Hat noch wer Probleme beim Dekodieren oder weiß jemand ggf. Abhilfe?

Beste Grüße
compukortschnoi
 

SuperDummie

Benutzer
Mitglied seit
09. Jul 2011
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Guten Morgen,

habe die selben Probleme. Scheinbar gibt es eine neue Decoderversion.

SD.
 

compukortschnoi

Benutzer
Mitglied seit
03. Jun 2016
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
@geimist: Kannst Du uns sagen, wie wir den Decorder slebst updaten können und wo wir den herbekommen?

Viele Grüße
compukortschnoi
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.372
Punkte für Reaktionen
1.188
Punkte
234
Ihr könnt auch gerne schon mal selbst probieren, welcher Decoder bei euch passt. Bei ARMv7 ist es einfach: da gibt es nur einen (ARMv7 Raspi). Bei den Intel-Decodern müssen wir einen von den ersten vier probieren (da musste ich nach einer DSM-Aktualisierung auch schon mal den Decoder austauschen). Der Decoder muss unter gleichen Namen wie bestehend im Verzeichnis ./synOTR/App/bin bzw. ../armv7bin (oder ähnlich - hab's jetzt nich im Kopf) ersetzt werden.

Danke für eine Rückmeldung, welcher Decoder für welche DS bei euch funktioniert :)

Decoderdownload: https://www.onlinetvrecorder.com/v2/?go=software&tab=Linux
 

stweiss

Benutzer
Mitglied seit
09. Jun 2017
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Und gleich noch ein Fix hinterher :)

Problem:
Das Schneiden von Fuer_immer_Adaline_17.08.15_22-45_ard_100_TVOON_DE.mpg.HD.avi schlägt fehl, da grep (Zeile 797) die search.xml für eine Binärdatei hält. (Vermutlich wegen Umlauten)
Rich (BBCode):
cutlist_anzahl=$(grep -c '/cutlist' "$tmp/search.xml" | /usr/bin/tr -d "\r")
Dadurch enthält die Varible cutlist_anzahl keine Zahl sondern sowas wie "Binary file searchxml matches".

Lösung:
Ich denke wir können grep sage, dass es er die searchxml immer als Textdatei behandeln soll. Dafür gibt es den Parameter -a oder --text.
Rich (BBCode):
cutlist_anzahl=$(grep --text -c '/cutlist' "$tmp/search.xml" | /usr/bin/tr -d "\r")

Schönen Urlaub noch :)
Stefan
 
Zuletzt bearbeitet:

SuperDummie

Benutzer
Mitglied seit
09. Jul 2011
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Hallo,

habe auf meiner 916+ den gleichen Link genommen. Geht wieder.

Danke!
 

geimist

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

vielen Dank für eure Mithilfe. Das aktuelle Paket liegt auf dem Server. Ich habe mich allerdings für den Decoder "statisch gelinkt" entschieden, mit der Hoffnung, dass es auch auf den 32bit i386-Modellen funktioniert (läuft auf meiner DS716+ einwandfrei). Sollte es bei jemanden Probleme geben, so meldet euch bitte!

@stweiss:
deinen Film habe ich mal testweise bei mir durchlaufen lassen - ging alles problemlos. Ich habe aber dennoch deinen Bugfix mit aufgenommen. Kann ja nur besser werden :eek: Vielen Dank dafür!


Version 3.1.1 [RELEASE] für 32/64bit x86 & ARMv7 - [2017-08-23] - KLICK FÜR DOWNLOAD

Verbesserung der Version 3.1.1:
  • aktuelle otrdecoder-Version
  • behobener Fehler beim Auslesen der Cutlists

Geänderte Dateien:
  • synOTR.sh
  • app/bin/otrdecoder
  • app/binARMv7l/otrdecoder
 

geimist

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

danke für den Tipp. Kein Wunder - wie ich feststellen musste, ist doch in beiden Paketen die selbe Decoderversion. Aber der Downloadname hätte mir auch mehr sagen müssen …:rolleyes:
Heute sind noch ein paar schlichte Decoder auf der OTR-Seite ergänzt worden: "statisch gelinkt - 32 Bit“ sowie „statisch gelinkt - 64 Bit“. Leider läuft der 32 Bit Decoder nicht auf meiner 64 Bit-Maschine. Daher habe ich jetzt beide reingepackt.

@all:
BESITZER EINER DS mit Evansport-CPU: BITTE TESTET DIE VERSION 3.1.2 UND GEBT BESCHEID, OB KORREKT DEKODIERT WIRD - VIELEN DANK
 

-rrr-

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

ich hab gestern synOTR entdeckt und bin begeistert. Bisher habe ich das nur über MacMini und Skripte gelöst.
Mit der Skiptsammlung geht es auf der DS natürlich viel besser. Soweit ich das beurteilen kann läuft alles super - vielen vielen Dank an Stephan und alle hier, die an der Verfeinerung mitwirken!

Ich habe nach dem Einrichten noch einige Fragen/Anmerkungen:

  • Gibt es die Möglichkeit einen Status zu sehen, ohne sich jedes Mal die aktuelle Logdatei herunter laden zu müssen?
  • Denkbar wäre hier ja eine schlichte Webseite, die bspw. einfach die aktuelle Log ausgibt.
  • Kennen Sie eine Möglichkeit, eine Benachrichtigung abzusetzen, wenn eine neue Datei fertig gestellt wurde?
  • Wissen Sie, ob es eine Möglichkeit gibt, fertige Filme/Serien am finalen Ort (zb. in einem anderen Order, wie /volume1/Media Library/Serien usw.) einzusortieren?
  • Gibt es eine Möglichkeit, bspw. über filebot Film-Filenamen (für Serien-Filenamen funktioniert es ja super!) a la "Filmname (2014).mp4" zu bekommen?

Danke euch schon mal... vielleicht hat ja jemand eine Idee und findet Zeit mir zu antworten.

Gruß -rrr-
 


 

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