Hi allerseits,
nach langer Zeit melde ich mich auf diesem Forum wieder zu Wort. 
Und zwar mit einem neuen Decoder- und Schnitt-Programm für OTR-Files.

Einige werden sich jetzt denken: "Omg, noch ein überflüssiges Schnittprogramm ... als ob es nicht schon genug gibt ..."
Und nun zu meiner Verteidigung: Die Arbeit an dem Programm habe ich schon vor einer Ewigkeit begonnen, wo ich Tools wie "OTR Verwaltung" noch nicht kannte. Primäres Ziel war zudem die Linux-Plattform (das Programm läuft aber auch unter Windows), für die es hauptsächlich Shell-Skripte gab.
Bisher habe ich immer Multicut genutzt und auch selbst einige Änderungen dafür geschrieben
Doch damals habe ich nach einem Projekt gesucht, um mich ein bisschen intensiver mit QTJambi zu beschäftigen (für Insider: Das sind Java-Bindings für QT). Also hatte ich mich damals entschlossen ein App für OTR-Files zu schreiben.
Dann kam aber eine lange Zeit mit Klausuren und Internet-Problemen 
Vor ein paar Tagen habe ich mich dann entschlossen das Programm noch fertig zu stellen.
Ziel war es ein "smartes" Programm zu schreiben, das mit wenig Aufwand möglichst viel macht, wobei man dem Programm einmal sagen sollte, was zu tun ist, und dieses dann selbständig arbeitet. Also ähnlich der Arbeitsweise von Multicut Light.
Die Funktionsweise ist recht einfach: In einer Liste werden otrkey-Dateien und dekodierte Videos angezeigt. Mittels Checkboxen lässt sich für jedes File festlegen, ob es geschnitten/dekodiert werden soll. Mit einem Klick öffnet sich ein Wizard, in dem man für die Dateien, die geschnitten werden sollen, die Cutlist und den Ziel-Dateinamen festlegen kann. Ab hier arbeitet das Programm dann alle Dateien ab. Otrkeys werden decoded und danach gelöscht oder verschoben. Das resultierende Video wird geschnitten und die Ursprungsdatei gelöscht oder verschoben. Unterstützt werden Avidemux und für HQ-Dateien zusätzlich VirtualDub (unter Linux via Wine).






Technisches:
Das Programm ist in Java geschrieben, was vermutlich wieder einige abschreckt, da ja allgemein die Meinung kursiert, dass Java-Programme langsam sind ... was höchstens für den Start zutrifft 
Zudem nutzt das Programm QTJambi. Das ist eine Schnittstelle zwischen QT (kennen vor allem die KDE-User) und Java. Zur grafischen Darstellung (Buttons etc.) wird also QT verwendet, sodass das Programm relativ system-typisch aussehen wird: Unter Win XP sieht das Programm wie ein normales Windows-Programm aus und unter Linux wie ein typisches KDE-Programm im bspw. Plastique-Style.
Programm installieren/starten:
Man benötigt einerseits das Programm und andererseits die QTJambi-Bibliotheken, welche die Download-Größe etwas in die Breite ziehen 
Ubuntu/Linux:
Für Ubuntu habe ich ein deb-Paket erstellt, welches sich bequem installieren lässt, sodass das Programm bequem aus dem Programm-Menü gestartet werden kann: http://ul.to/euontj (v0.1.2 vom 21.08.2009)
Das Paket ist abhängig vom Paket libqtjambi-java, welches in den Ubuntu-Quellen enthalten ist. Ich rate jedoch dringend zu einer neueren Version von QTJambi, da die alte bereits Fehler z.B. mit dem Wizard zeigt. Auch für QT-Jambi habe ich entsprechende Pakete gebaut: libqtjambi-java und libqtjambi-jni
Windows:
Zunächst muss man sich das Programm hier herunterladen: http://ul.to/1i3p51 (v0.1.2 vom 21.08.2009)
Zusätzlich benötigt man QTJambi passend zum Betriebssystem, was ich euch hier hochgeladen habe: http://ul.to/51svof
Am einfachsten ist es, wenn man alle Dateien in einen Ordner entpackt. Dann kann man die start_windows.bat nutzen, um das Programm in dem Verzeichnis zu starten.
Linux-Alternative:
Möchte man, aus welchem Grund auch immer, die deb-Pakete nicht nutzen, kann man ähnlich zur Windows-Variante das Programm nutzen.
Man muss lediglich die QTJambi-Dateien für Linux laden und in den entsprechenden Ordner kopieren: http://ul.to/pcpgtm
Danach kann man das start_linux-Skript zum Starten nutzen.
BTW: Ich bin bisher nicht dazu gekommen ein Setup für die Windows-Plattform zu bauen. Vielleicht hat ja jemand Lust dazu
Das ganze geht relativ einfach mit InnoSetup 
Hinweise:
Getestet wurde das App mit Java 6 von Sun (package: sun-java6-jre). Die GCJ-Version von Java machte auf Ubuntu einige Probleme mit dem Programm.
Das QTJambi-Paket in den Ubuntu-Paketquellen ist veraltet und enthält entsprechend Fehler. Ich rate von der Verwendung dieser Version ab und empfehle oben genannte Vorgehensweise.
Getestet wurde die aktuelle Ubuntu-Version und Windows XP.
Bei Verwendung von VirtualDub für HQ-Files gelten die gleichen Hinweise wie bei Multicut:
Benötigt wird eine VirtualDub-Version zwischen 1.7.8 - 1.8.0: http://virtualdub.sourceforge.net/
Und des weiteren FFdshow: http://ffdshow-tryout.sourceforge.net/
Unter Linux benötigt man zum Starten entsprechend wine.
Tipps zu Einstellungen:
Für den Avidemux-Befehl empfehle ich avidemux2_cli, da dort keine grafische Benutzeroberfläche von Avidemux aufpoppt und zudem der Fortschritt direkt im Programm angezeigt werden kann. Die Fortschrittsanzeige scheint unter Windows allerdings (noch) nicht zu funktionieren. Offensichtlich geht da etwas mit dem Buffern der Avidemux-Ausgabe schief.
Für den VirtualDub-Befehl muss man den Pfad zur vdub.exe angeben. Unter Linux muss man entsprechend noch "wine" davorschreiben.
Der Windows-Decoder hat andere Kommandozeilenparameter als der von Linux. Deswegen wird ein bloßes angeben des Windows-OTR-Decoders nicht ausreichen, um Files dekodieren zu lassen. Stattdessen kann man dieses Batch-Skript nutzen. Dort passt man einfach den Pfad zum OTR-Decoder an und gibt den Pfad dieses Skriptes in SmartOTR als Decoder an.
Code:
"C:\Pfad\zur\Multidecoder_W98.exe" -uotr %4 -pwotr %6 -f %2 -o %8 -c true
Allgemein: Beim Angeben des Pfades eines Befehls muss man darauf achten, dass dieser keine Leerzeichen enthält. Enthält der Pfad Leerzeichen, so muss man ihn in doppelte Anführungszeichen setzen: "/Pfad mit Leerzeichen/programm"
Bekannte Fehler / ToDo:
1. Bisher fehlt eine Möglichkeit für das Bewerten der Cutlisten. Ich möchte zunächst dafür sorgen, dass das Programm möglichst stabil läuft.
2. Beim manuellen Abbrechen des ganzen Vorgangs, wird das aktuell laufende Programm nicht richtig gekillt. Das scheint daran zu liegen, dass die Programme selbst einige Prozesse starten. Mal schauen, was man dagegen machen kann.
Das Programm ist natürlich Open Source. Bevor ich den Code rausgebe, will ich ihn allerdings noch einmal durchgehen und kommentieren 
Gruss
MKay
Changelog
v0.1.2 vom 21.08.2009
fixed Bug:
Beim HQ-Cut mit VirtualDub wird ja zuvor das Video in MPlayer geladen, um die korrekte Aspect Ratio zu ermitteln. Durch eine falsche Reihenfolge der Befehle wurde diese Aspect-Ratio aber ignoriert und immer im 4:3-Modus geschnitten, weshalb 16:9-HQ-Videos dann ein falsches Verhältnis hatten und Eierköpfe zeigten.
Lesezeichen