| Ein Assistent nicht nur zur Umwandlung von VDR-Aufnahmen zu einer DVD |
VdrAssistant Ich will mehr wissen | |
Was ist VdrAssistant?Das Konzept wurde für verteilte Umgebungen entworfen, wobei es völlig egal ist, ob einer oder fünf Rechner am VdrKonzept mitspielen. Der Job-Verarbeiter kann sogar in einem völlig anderen Netzsegment als der Desktoprechner arbeiten. Er benötigt nur Zugriff auf die Datenbank. Neu: da Win7 Java-Anwendungen eher behindert, ist eine zusätzliche Befehlszentrale entstanden. Sie läuft im Webbrowser und wird von einem speziellen Java-Systemdienst gespeist. So kann VdrAssistant auch von Windows aus bedient werden. Bei der verteilten Umgebung bin ich von folgenden Prämissen ausgegangen:
Der GUI-Part läuft auf allen Systemen, auf denen eine Java-GUI existiert (getestet nur Linux und Windows), die Hintergrund-Dienste sind nur für Linux vorgesehen (keine Portierung geplant). Unterstützt werden alle VDR-Formate, also PES, PES-HD, TS und TS-HD.Die Unterscheidung geschieht nahtlos vom Scannen bis zu allen Umwandlungen (genau wie beim VDR).
Die Menüvorlagen waren der Hauptgrund, diese Anwendung in Angriff zu nehmen.Etwas ähnliches hatte ich ja schon mit vdr2iso angefangen, bin dort dann allerdings mit Tk an die Grenzen gekommen, sodass ich mich zu einer Neuentwicklung unter Java entschied. Bei den "professionellen" Menü-Erzeugungsprogrammen (die ich kenne) kann man "nur" statische DVD-Menüs erzeugen. Mir schwebte eine Vorlage ala burn-Plugin vor, die bei der Umwandlung mit den Daten der VDR-Aufnahmen gefüllt wird. Anders als beim burn-Plugin, wollte ich die Vorlage aber individuell gestaltbar machen, also ein Zwischending zwischen den professionellen Menügestaltern und dem burn-Plugin. Die Menüvorlagen von VdrAssistant sind 2-geteilt in Thema und Skin. Da die DVD-Spec ziemliche Einschränkungen bei der Definition der aktiven Elemente (Schaltflächen) hat, habe ich auf diese (zumindest im sichtbaren Bereich) ganz verzichtet. So können Schaltflächen aus der vollen Farbpalette schöpfen und haben keine Einschränkung in Bezug auf Größe oder Position. Es sind auch (teilweise) überlappende Schaltflächen o.ä. möglich. Herausgekommen sind ein Themen-Editor und ein Skin-Editor. Der Themen-Editor ist das Reißbrett, auf dem ein Menü entworfen werden kann. Der Skin-Editor bietet die Möglichkeit, Farben, Fonts, etc. der Elemente zu verändern. Auch dieses interaktiv und visuell. Um optimal arbeiten zu können, wurden es 2 unabhängige Anwendungen anstatt einer. Auch wenn mich hauptsächlich DVD als Umwandlungsziel interessiert, weiß ich doch, dass es auch andere Formate gibt, bzw. noch geben wird. So kam in jüngster Zeit mkv dazu. Deshalb wurde der Umwandlungsprozess modular und konfigurierbar konzipiert. Die Informationen, die der Umwandlungsdienst für die Umwandlung benötigt, werden in sog. Jobs abgelegt. Dazu gehört beispielsweise eine Liste von Aufnahmen, ein Menüthema und ein Menüskin. Dann natürlich noch Grenzwerte für eine mögliche Komprimierung, der gewünschte Rohling und nicht zuletzt das gewünschte Zielformat (DVD).Das führte zu einem Job-Editor, der die Erstellung und Überwachung der Jobs ermöglicht und zu einem Job-Verarbeiter, der die Umwandlung durchführt. Beide sollten völlig unabhängig voneinander arbeiten können, d.h. es sollte möglich sein, während einer laufenden Umwandlung neue Umwandlungsjobs zu erzeugen, bzw. bearbeiten zu können, ohne sich darum kümmern zu müssen, ob der Job-Verarbeiter vielleicht inzwischen fertig wurde und den gerade erzeugten Job, der aber noch bearbeitet werden soll, schon für die nächste Umwandlung verwendet. Daraus entstand das Freigabekonzept der Jobs. Jobs können beliebig lange bearbeitet werden. Sie sind erst dann für den Job-Verarbeiter sichtbar und relevant, wenn sie freigegeben wurden. die komfortable Job-Erstellung führte zu einer weiteren Anforderung: alle Informationen über die Aufnahmen sollten nicht nur am Desktop zur Verfügung stehen, sondern dort auch bearbeitet werden können. So entstand der Aufnahme-Verwalter Der Aufnahme-Verwalter verwendet handbrake um Informationen über die VDR-Aufnahmen zu erhalten. Da der Job-Verarbeiter projectX zum Schneiden verwendet, lag es nahe, dies auch am Desktop für Kontrolle und Bearbeitung von Schnittmarken einzusetzen. Aus der Übersicht des Aufnahme-Verwalters läßt sich projectX über das Kontextmenü einer (SD-)Aufnahme starten. VdrAssistant wandelt automatisch die Schnittmarken in das Format von projectX und versorgt projectX mit Informationen über die Aufnahme, sodass es gleich richtig gestartet ist. Im Laufe der Anwendung von VdrAssistant zeigte sich, dass über projectX auch Schnappschüsse aus den Aufnahmen u.a. für die Menüerstellung erzeugt werden konnten. Werden in projectX Schnittmarken verändert, können diese als marks.pjx gespeichert werden. Dieser Dateiname ist in VdrAssistant für die automatische Verarbeitung integriert. Werden also von projectX erzeugten Schnittmarken unter marks.pjx gespeichert, werden diese bei einem erneuten Scan statt der marks.vdr verwendet. VdrAssistant kann mit beiden Schnittmarkenformaten umgehen (Zeitstempel für VDR, Byteposition für projectX). Über das Kontextmenü der Aufnahme kann die Schnittmarkendatei (beliebiger Name) importiert werden. Weitere Funktionen, die im Laufe der Anwendung entstanden:
Der Epg-Manager ist mehr aus einer Spielerei entstanden. Ich wollte mich mit Filtern in Java beschäftigen und bei den Internetanbietern von EPG-Daten hat mich das Werbegeflimmer und die Javascript Restriktionen gestört. So habe ich eine Anwendung entworfen, mit der EPG-Daten angezeigt, gefiltert und durchsucht werden können. Der Wunsch, neue Timer anlegen zu können, entstand bei der Anwendung des Epg-Managers. Der EPG-Sammeldienst ist erst später entstanden, da bei mir der VDR nur recht selten läuft und ich mich nicht darum kümmern wollte, wann alle Maschinen gleichzeitig laufen. Anfangs hat der EPG-Sammeldienst nur einfach die Textdateien übertragen. Als ich die notwendige Java-Technik lernte, konnte ich die EPG-Daten in eine Datenbank übernehmen und so die Last am Desktop weiter verringern. |