Hi,
wie ja schon von Anfang an angekündigt, möchte ich vdrsync irgendwann mal mit einem grafischen Forntend versehen (alternativ zur command line).
Ausserdem soll vdrsync ja mal selber Aufnahmen schneiden können.
Beiden Zielen bin ich ein Stückchen näher gekommen, und deshalb bräuchte ich jetzt mal Input von (potentiellen) Nutzern und poste hier mal eine Demo.
Der Stand der Dinge:
- Das Umschreiben von vdrsync ist recht weit voran geschritten, ich habe schon etliche meiner Aufnahmen mit der Entwicklerversion konvertiert, aber es fehlen noch ein paar Dinge, die ich reinpacken will, insbesondere was die Verarbeitung von defekten Aufnahmen angeht.
- An der Schnittfunktion für vdrsync habe ich mich lange festgebissen, irgendwie habe ich keine Infos gefunden, wie die marks.vdr aufgebaut ist. Ich habe auch nicht lange gesucht, weil ich dachte, dass die ja selbsterklärend ist. Deshalb habe ich erst sehr spät verstanden, dass der letzte Wert in einem Eintrag NICHT den Sekunden-Bruchteil angibt, sondern die Anzahl der Frames, die nach der vollen Sekunde noch folgen. Bsp:
3:16:12.01
heisst nicht drei Stunden, 16 Minuten, 12.01 Sekunden, sondern
drei Stunden, 16 Minuten, 12 Sekunden und ein Frame (also 0.04 Sekunden)
Jetzt sollte es aber schnell gehen, bis die Schnittfunktion drin ist. - Ueber das GUI habe ich mir auch den Kopf zerbrochen, weil ich ja zumindest Standbilder anzeigen will, damit man überhaupt per GUI schneiden kann. Schliesslich habe ich eine suboptimale Lösung mit transcode gefunden, das MPEG Dateien in einzelne JPEGs zerlegen kann. Mehr dazu unten. Dann habe ich mal versucht, einen Entwurf für ein GUI zu stricken, der hängt am Ende des Postings als Attachment.
- Die nächsten Schritte wären also, dem GUI das Schneiden beizubringen, da das ja auch allein schon für einige Leute interessant sein könnte. Wer nicht warten kann/will, der kann sich auch an dem stdout-cutter versuchen, der hier ab und zu in den Postings erwähnt wird (habe ich nur kurz getestet, scheint gut zu funktionieren).
- Dann will ich die Schnittfunktion in vdrsync einzubauen, und mal eine command-line Version zum testen zu posten, damit mal mehr Sender getestet werden können, als die paar, die ich empfangen kann
- Schliesslich will ich das GUI und vdrsync verheiraten und zusammen posten (mit Option zur DVD Erzeugung, wenn es klappt...)
- Tja, und dann sind wir schon wieder bei meinem Lieblingstraum: Wenn ich einzelne JPEGs aus einem GOP erzeugen kann, dann kann ich ja evt. auch einen GOP aus JPEGs erzeugen. Und wenn ja, dann sind wir beim frame-genauen Schneiden. Naja, immer noch ein Traum.
Jetzt aber mal zum Attachment:
Als erstes ein Screenshot
[Blockierte Grafik: http://vdrportal.homelinux.com/vdrsync/pics/GUI_demo.jpg]
Was kann das Tool / wie bedient man es:
Es gibt KEINE Doku, ausser dem, was jetzt kommt:
Das Tool kann momentan benutzt werden, um eine marks.vdr zu erzeugen. Das ist ohne VDR sonst nicht möglich (soweit ich weiss).
Gestartet wird das Perl-Skript per
Dort MUSS eine gültige index.vdr liegen. Wenn dort auch eine marks.vdr liegt, dann wird die berücksichtigt.
Das Fenster zeigt immer ein Standbild der aktuellen Position, unten ist ein Ablauf-Balken, rechts sind Navigations-Buttons, Mark-Buttons usw.
Bedienung:
- Die Buttons rechts, oberste Reihe spulen die Aufnahme vor oder zurück, in 5 min, 1 min, 1 GOP Schritten (Maus kurz über den Buttons "schweben" lassen gibt eine Balloon-Hilfe)
- Die Buttons darunter setzen eine mark an de aktuellen Stelle, oder löschen die aktuelle mark. Achtung: Gelöscht wir nur, wenn man GENAU an der stelle ist, an der sich eine mark befindet (siehe unten)
- Die Jump-Buttons springen zu vorherigen / nächsten mark, natürlich nur, wenn die existiert. Sehr gut zum löschen / justieren
- Wenn man eine mark angesprungen / ausgewählt hat, kann man die natürlich verschieben, und zwar um 20 GOPs (naja, im Moment noch 10 sec), 5 GOPs, oder einen GOP. Das sind die Buttons unter der Ueberschrift "Move Marks"
- Dann gibt es noch ein paar Infos: Wie lang ist die Aufnahme in h:min:sec.frames / frames, wie lang wäre sie, wenn man mit den aktuellen marks schneiden würde, wo befindet man sich gerade in der Aufnahme, wieviele marks sind gesetzt(nützlich wenn man sehr viele marks sehr eng zusammen setzt), und wo war der letzte Maus-Klick im Ablauf-Balken (siehe unten)
- Anstatt mit den Buttons zu navigieren, kann man auch mit der Maus in den Ablauf-Balken klicken. Das ist der weisse Bereich unterhalb des Standbildes, im Screenshot oben mit zwei blauen, schmalen Strichen (für marks), mit einem roten Balken für das, was nach einem Schneidevorgang überbleiben würde, und einem grünen Balken, der die aktuelle Position in der Aufnahme anzeigt. Im Ablauf Balken kann man
- mit einem links-Klick die Position anzeigen lassen, auf die man geklickt hat (Info erscheint im rechten Fensterteil)
- mit einem Doppelklick links eine mark setzten
- mit einem Rechts-klick an die Stelle springen, auf die man geklickt hat
- mit einem Links-Klick auf eine blaue Markierung (gut zielen ;)) direkt zu dieser Markierung springen
- Schliesslich wird per Klick auf "Write Marks" eine Datei mit dem Titel experimental_marks.vdr im Aufnahme-Verzeichnis erzeugt.
So, das war erstmal die kurze Anleitung.
Dann kann man per VDR die Aufnahme schneiden, oder auch per stdout-cutter.
Achtung! Das Tool schreibt die marks in die Datei
experimental_marks.vdr
im Aufnahme-Verzeichnis. Also vor dem Schneiden erst in marks.vdr umbenennen!
Voraussetzungen
- perl und perl::Tk (bei mir SuSE 8.2 alles dabei)
- transcode (ich habe eine aktuelle Version von packman/links2linux)
- Tk::JPEG::lite , das musste ich "zu Fuss" von CPAN installieren.
Bevor einer fragt, wozu das ganze, schneiden und marks setzen geht doch auch mit VDR:
Wie gesagt, das soll zu einer GUI für vdrsync ausgebaut werden, also marks setzten und schneiden und syncen und DVD erzeugen. Und zwar ohne VDR. Auch jetzt kann man ohne VDR Aufnahmen komplett weiterverbarbeiten: mit genindex index.vdr erzeugen (falls man keine hat), mit set_marks.pl (diesem Tool) eine marks.vdr erzeugen, mit stdout-cutter schneiden, mit vdrsync / x08 /cPVA.exe syncen und mit dvdauthor / mencoder /transcode eine DVD / DIVX / SVCD erzeugen. Im moment noch ein moderner 5-Kampf, aber es geht!
Ok, ich würde mich über jedes Feedback freuen, z.B.
- Kriegt Ihr es ans Laufen?
- Funktioniert das Schneiden mit VDR / stdout-cutter?
- Sollten die Navigations-Buttons / Mark-Buttons nicht an einer anderen Stelle sein oder anders ausehen?
- usw
Arrgh, schon wieder so spät. Gute Nacht und lasst was hören
cheers
doc
EDIT
Die nächste Version findet sich weiter unten, mit Schnittfunktion.
/EDIT