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

compukortschnoi

Benutzer
Mitglied seit
03. Jun 2016
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Danke für Deinen Input. Ich würde Dich nie verantwortlich machen, keine Sorge. Ich will synOTR nur ans Laufen kriegen und bin für jede Hilfe dankbar.

Gestern hat der DHL, der hier mittlerweile erst kurz vor der Tagesschau kommt (und ich meine die um 20 Uhr :(), mir eine 216+II gebracht. Ich bin gespannt wie ein Flitzebogen, obs mit der funktioniert.

Aktuell sitze ich mit einem Männerschnupfen auf dem Sofa, aber ich werde mich ASAP ans Werk machen.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Erstmal: Gute Besserung!

Ich wünsche dir viel Spaß mit deiner neuen DS :D
Du wirst bestimmt deine Freude damit haben.
 
Zuletzt bearbeitet:

compukortschnoi

Benutzer
Mitglied seit
03. Jun 2016
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Danke für die Genesungswünsche. :)

Die 216+II ist aufgebaut und eingerichtet. Sie macht einen guten ersten Eindruck.

Gleich nach der Einrichtung habe ich es natürlich nicht mehr ausgehalten und hab sofort synOTR draufgeschmissen. Und es hat funktioniert. YES!!

Das war so ein Frankenstein-"Es lebt! Es leeeebt!!"-Moment. :D :D
 

compukortschnoi

Benutzer
Mitglied seit
03. Jun 2016
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Kann es sein, dass synOTR .otrkey-Dateien, die es nicht schneiden konnte, im Ordner "_decodiert" des Zielordners liegen bleiben, und nur die Dateien ins eigentliche Zielverzeichnis verschoben werden, die es cutten konnte?

Und falls ja, wie kann man ein Verschieben erzwingen?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Ja, das ist so gewollt. Aus folgendem Grund:
Du hast z.B. bei einem Mirror einen Serienpush aktiviert. Sobald eine Episode fertig ist, liegt sie auf deiner DS. Zu diesem Zeitpunkt gibt es in der Regel noch keine Cutlist. Also würden fast alle Serien nicht geschnitten werden.

Ist das ein Problem? Da müsste ich mir eine Lösung überlegen. Z.B. könnte man die unfertigen Aufnahmen in der sqlite-DB loggen, und nach einem individuell festgelegten Alter nach Ausstrahlung automatisch in das Zielverzeichnis verschieben. Dazu müsste ich aber ganz paar Funktionen hinzufügen und die Datenbank anpassen. Mal schauen …:rolleyes:

P.S.: Es ist (sozial betrachtet) ein echter Nachteil von synOTR, dass es nur auf 'nehmen' ausgelegt ist. Das ist u.a. der fehlenden GUI geschuldet. Ich ermuntere aber jeden (und handhabe es auch selbst so), fehlende Cutlist mit einem externen Programm (auf dem MAC bei mir SuperOTR) zu erstellen und auf cutlist.at hochzuladen. Beim nächsten Durchlauf von synOTR wird der Film dann geschnitten und die Community freut sich :D
 

wipfler

Benutzer
Mitglied seit
11. Jun 2014
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hallo,

wollte auch das script auf meiner DS2014se verwenden. Bekomme folgenden Fehler im Logfile:

==> decodieren:

Transformers__AEra_des_Untergangs_16.05.29_20-15_pro7_180_TVOON_DE.mpg.HQ.avi.otrkey
L==> decodieren fehlgeschlagen [Datei im Zielverzeichnis nicht gefunden …]
OTRdecoder LOG: otrdecoder: /volume1/Scripte/synOTR/app/libARMv7l/libcurl.so.4: no version information available (required by otrdecoder)
OTRPiDecoder, v1.1
Verbinde zum Server...

Gibt es schon eine Abhilfe für das Problem. Hab die neuste Firmeware die mir angeboten wird drauf.

Gruß Mark
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Das ist das gleiche Problem wie hier mit seiner DS115j (gleicher CPU-Typ). Ich kann es aber leider mangels entsprechender DS nicht testen. Wahrscheinlich müsste man nur die passende Library (libcurl.so) für den OTRdecoder suchen.
 

wipfler

Benutzer
Mitglied seit
11. Jun 2014
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hi,

bin absoluter Linux Neuling. Wo finde ich verschiedene Versionen? Würde diese dann testen.

Gruß Mark
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Ich habe keine spezielle Anlaufstelle. Ich würde einfach im Netz suchen (z.B. Downloadseiten von Raspi, oder sonst wo …). Evtl. auch speziell mit der CPU-Bezeichnung suchen (ARMADA 370 armv7).

Zu ersetzen wäre dann bei dir die Datei: /volume1/Scripte/synOTR/app/libARMv7l/libcurl.so.4
Es kann sein, dass eine gefundene Bibliothek einen längeren Namen hat, wie z.B. libcurl.so.4.0.0 . Dann den bitte entsprechend umbenennen (eigentlich wird sonst darauf verlinkt, habe ich mir das das Projekt aber erspart).

Falls du fündig wirst, wäre ich dir (und bestimmt auch andere) für ein entsprechendes Feedback dankbar.
 

wipfler

Benutzer
Mitglied seit
11. Jun 2014
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hab jetzt verschiedene Dateien und auch unterschiedliche Versionen des OTR decoders probiert, bekomme weiterhin folgende Meldungen im Log File:

Transformers__AEra_des_Untergangs_16.05.29_20-15_pro7_180_TVOON_DE.mpg.HQ.avi.otrkey
L==> decodieren fehlgeschlagen [Datei im Zielverzeichnis nicht gefunden …]
OTRdecoder LOG: otrdecoder: /volume1/Scripte/synOTR/app/libARMv7l/libcurl.so.4: no version information available (required by otrdecoder)
OTRPiDecoder, v1.1
Verbinde zum Server...

Es kann doch nicht so scgwer sein die passende Datei zu finden :-(

Werde wahrscheinlich aufgeben, Ausser es hat sonst noch jemand eine Idee.

Gruß Mark
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Hallo wipfler,

erst einmal vielen Dank für's testen! :)
Für Intel-Geräte gibt es einen statisch kompilierten Decoder, d.h. da sind alle abhängigen Bibliotheken gleich im Programm eingebunden. Für ARM-CPUs muss man sich die Abhängigkeiten selbst zusammensuchen. Warum das so zickig ist, weiß ich nicht. Ich könnte mir vorstellen, dass z.B. QTip hier Erfahrungen hätte …

Das ist wirklich schade…
Die zielführendste Variante sollte noch das Selberkompilieren sein. Dazu müsstest du mit EBI IPKG installieren und dann (am einfachsten mit IPKGui) gcc, make. Den Rest auf der Konsole nach Anleitung. Infos z.B. HIER.
 

wipfler

Benutzer
Mitglied seit
11. Jun 2014
Beiträge
5
Punkte für Reaktionen
0
Punkte
1
Hi,
habs mir gerademal auf die schnelle Angeschaut. sieht schon ziemlich kompliziert aus. Kann dabei etwas an der DS schiefgehen? Hab sie ja zur sicherung meiner Daten "Produktiv" im Einsatz? Würde es gerne Testen bzw. versuchen nur ist mein englisch nicht wirklich gut. Was muss ich mit welchen Programm genau machen bzw für was sind die Programme? In der Windowswelt kenne ich mich aus nur mit Linux steh ich echt auf dem Kriegsfuss.

Gruß Mark
 

jensb

Benutzer
Mitglied seit
30. Dez 2016
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Hallo Stephan,
erstmal danke für das Skript, hat auf meiner neuen DS 116 auf Anhieb alles funktioniert :)

Eine Sache stört mich aber noch: Die Cuts sind wirklich ziemlich ungenau. Ich wusste ja schon, dass avcut noch nicht für armv7 erhältlich ist, aber ich hätte nicht gedacht dass es so viel ausmacht. Die Cuts sind teilweise bis zu 6 Sekunden daneben. Ist das normal?

Was würde man benötigen um auch unter armv7 framegenau schneiden zu können? Gibt es eine Möglichkeit in naher Zukunft avcut anzupassen?

Außerdem habe ich noch ein bisschen gesucht, und bin auf einen Forum-Thread im otrforum gestoßen. Dort wurde anscheinend framegenaues Schneiden auf einem Raspberry Pi (auch armv7 soweit ich weiß?) zum Laufen gebracht.
Hier der Link:
http://www.otrforum.com/showthread.php?73105-Linux-Schneide-Skript-MulticutMKV&highlight=raspberry

Abhängigkeiten:

gawk
bc
mediainfo
mkvtoolnix
x264
ffmsindex (version >= 2.18)
avxsynth
libav-tools

Anscheinend sind alle Abhängigkeiten in Raspbian Jesse enthalten.
Bin ganz neuer Synology-Nutzer, weiß also nicht ob dort auch bereits ähnliche Abhängigkeiten enthalten sind.

Es wäre sicher super, wenn man ähnliches auch auf der DS (ohne intel architektur ;) ) hinbekommen könnte. Dann wäre es perfekt :D
Vllt. hilft meine Recherche ja weiter :)

Gruß
Jens
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Hallo Jens,

herzlich willkommen hier im Forum :D

Freut mich, dass synOTR erstmal grundsätzlich bei dir läuft.
Wenn avcut (wie bei dir) nicht zum Schneiden verfügbar ist, gibt es ein Fallback auf avisplit. Avisplit schneidet nur an sogenannten Keyframes. Der Keyframeintervall wird beim Encodieren (hier also bei OTR) festgelegt. Mehrere Sekunden sind durchaus normal. Daran lässt sich nichts ändern.

Ich habe lange nach einer einfachen Methode zum framegenauen Schneiden gesucht, und bin mit avcut prinzipiell auch fündig geworden. Avcut ist im Quellcode vorhanden - mir fehlt lediglich die Fähigkeit / Kenntnis, es statisch (d.h. als ein einzelnes Programm ohne externe Abhängigkeiten) zu kompilieren. Daher bettele ich ja schon immer nach Hilfe … :rolleyes:
(Monarc99 [der Enwickler von OTRverwaltung++] hat es für Intel 64bit kompiliert)

Deine gefundene Lösung kannte ich noch nicht. Die größte Herausforderung wird es da wahrscheinlich auch wieder, die ganzen Programme als Staticbuilds zu bekommen. Das ist mir wichtig, weil synOTR nicht installiert werden müssen soll (komischer Satz).
 
Zuletzt bearbeitet:

jensb

Benutzer
Mitglied seit
30. Dez 2016
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
herzlich willkommen hier im Forum
Danke :)

Avcut ist im Quellcode vorhanden - mir fehlt lediglich die Fähigkeit / Kenntnis, es statisch (d.h. als ein einzelnes Programm ohne externe Abhängigkeiten) zu kompilieren. Daher bettele ich ja schon immer nach Hilfe …
(Monarc99 [der Enwickler von OTRverwaltung++] hat es für Intel 64bit kompiliert)

Bei Github gibt es zumindest von der v0.1 von avcut eine ARMv7 Version (unter releases), die ist aber vermutlich nicht statisch kompiliert, ist nämlich nur ein paar kB groß. Braucht man denn überhaupt eine statische Version von avcut? Die einzige Abhängigkeit ist doch nur ffmpeg und das ist doch auf der DS eh schon drauf oder? Die photostation benutzt es doch auch für Videos oder? Dann bräuchte man ja auch nichts installieren ... (aber schätze mal so einfach ist das nicht?)

Oder: Was braucht man um es als ArmV7 statisch zu kompilieren? EInen Raspberry Pi hätte ich noch rumfliegen :D Aber was das kompilieren unter Linux angeht, hab ich meistens einfach nur irgendein make file ausgeführt und gehofft dass es danach läuft ;)
Ich schätze mal man muss nur das makefile anpassen und dann entweder cross-compiling oder direkt unter arm system (raspberry) kompilieren. Monarc aus dem otrforum hat es ja anscheinend für intel 64bit auch relativ schnell hinbekommen...
Wenn es da irgendeinen einfachen Weg gibt, bin ich da gerne behilflich ;)

Deine gefundene Lösung kannte ich noch nicht. Die größte Herausforderung wird es da wahrscheinlich auch wieder, die ganzen Programme als Staticbuilds zu bekommen. Das ist mir wichtig, weil synOTR nicht installiert werden müssen soll (komischer Satz).

Ja, ich denke auch dass man sich keine extra Sachen auf der DS installieren will. Dementsprechend ist das wohl nicht die beste Wahl (bzw. avcut als einzelnes Programm zu kompilieren sollte theoretisch schneller gehen :D)
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Mit der ARMv7 Version wäre einen Versuch wert. Man müsste aber die Systemlibrarys noch unter …/synOTR/app/libarmv7/ entsprechend verlinken. Beim ersten Versuch wurde das fehlen von libavcodec-ffmpeg.so.56 bemängelt. Der Link (und für weitere Librarys) müsste dann auf /usr/lib/libavcodec.so.56 zeigen. Auf die Schnelle nachgesehen, scheint der DSM-ffmpeg ohne x264 kompiliert worden zu sein - das wäre zwingend notwendig. Vielleicht hilft da das ffmpeg aus der Photo- oder Videostation unter /volume1/@appstore. Da hätte man aber schon wieder eine unkontrollierte Abhängigkeit - ich weiß ja nicht, welche Pakete die Nutzer installiert haben und zu dem auch nicht auf welchem Volume … daher waren für mich immer wieder statisch kompilierte Programme am besten.

Was du zum kompilieren brauchst, ist deine DS116. Das wäre aus meiner Sicht am zielführendsten.
Dann EBI intallieren und mit IPKGui gcc, make

Alternativ wäre ein Ubuntu-VM auf deinem Rechner. Synology bietet Crosscompilingpakete an.

Ansätze zum statischen kompilieren von avcut auf der DS findest du HIER. Da bin ich dann aber stecken geblieben, u.a. wegen mangelnder Zeit.

Ich würde mich sehr freuen, wenn du mit helfen könntest, da Ganze zu einem Abschluss zu bringen.
 

jensb

Benutzer
Mitglied seit
30. Dez 2016
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Wow, du hast da ja echt schon ne Menge probiert. Ich werde mir das mal anschauen und sehen ob ich da helfen kann. Ist aber auch für mich Neuland. Bin eher der Mac und Windows-User.
Habe gerade mal testweise Ubuntu unter Parallels auf Mac laufen lassen und dort direkt versucht avcut zu kompilieren, selbst das endete schon mit Fehlermeldungen :rolleyes: Vllt. war die Ubuntu Version (14.04) auch einfach zu alt.
Wo sind nur die ganzen Linux-Profis wenn man sie braucht? :D

Zu dem Fehler bei deinen Versuchen (05.09.16), habe ich übrigens noch rausgefunden, dass es vermutlich mit ffmpeg und einer doppelten "time.h" vom System und von ffmpeg zusammenhängt (siehe Antwort bei http://stackoverflow.com/questions/...denly-breaks-with-error-field-st-atim-has-inc)
Die Lösung wäre es erst eine angepasste ffmpeg zu kompilieren, die das Problem nicht mehr hat (nächste Antwort in dem Link)...
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Ich selbst nutze auch nur Mac. Daher auch die in synOTR integrierte avi2mp4 Konvertierung. Was ich von Linux weiß, habe ich nur durch die DS kennen gelernt.

Meine Schritte (ist wohl im anderen Thread zu sehen):
- x264 kompilieren
- ffmpeg kompilieren
- avcut kompilieren

Ich hatte (glaube mich zu erinnern) mit Ubuntu 14.04 die besten Ergebnisse. Eine Intel 32bit Version konnte ich mal fertig erstellen (war allerdings ca. 60 MB groß). Die lief aber leider nicht (segmentation fault).

Ich hatte damals Monarc99 angeschrieben, wie er seine statische Intel 64bit Version kompiliert hatte.

Seine Antwort:
Im Grunde so:

vorher ne passende libx264.a kompilieren ... liegt dann bei mir in ../../x264-patched.otr/
dann ffmpeg auschecken - inzwischen was neueres als 2.8.5 - und kompilieren und gegen libx264.a linken
avcut kompilieren

Rich (BBCode):
# ffmpeg kompilieren
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg/
git checkout n2.8.5
./configure --disable-programs --disable-hwaccels --disable-indevs --disable-outdevs --disable-devices --enable-static --disable-zlib --disable-xlib --disable-sdl --disab
le-libxcb --disable-bzlib --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape --disable-iconv --enable-gpl --enable-libx264 --disable-encoder=tiff --disab
le-decoder=tiff --extra-cflags=-I../../x264-patched.otr/ --extra-ldflags=-L../../x264-patched.otr/
make clean
make -j4
cd ..

#avcut kompilieren
make clean
LDLIBS="ffmpeg/libavformat/libavformat.a ffmpeg/libavcodec/libavcodec.a ffmpeg/libavutil/libavutil.a ffmpeg/libswresample/libswresample.a ../x264-patched.otr/libx264.a -l
pthread -lm -static" make -Iffmpeg -e
 


 

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