Dvb wiki script/Programmieranleitung
Vom DVB zur DVD, ein Wikibuch: Übersicht - Der Weg - Die Helferprogramme - Das Script - Installation - Bedienungsanleitung - Programmieranleitung |
In diesem Artikel wird näher darauf eingegangen, wie das Script aufgebaut ist und warum es so funktioniert, wie es funktioniert.
Dazu habe ich gerade einen Ausdruck der Version 0.5.5 gemacht. Und ich hab' dabei festgestellt, daß es ganz schön umfangreich geworden ist, das was ich da programmiert habe. Es ist also an Zeit, zu Papier (bzw. auf den Bildschirm) zu bringen, was im Script im Einzelnen vor sich geht.
Es gibr zwei Gründe für diese Programmieranleitung. Zum einen soll der interessierte Nutzer in die Lage versetzt werden, das Script für sich selber zu erweitern bzw. zu ändern. Und zum anderen möchte ich selbst nachschauen können, warum ich Schritt x so programmiert habe und nicht anders.
Greifen wir es also an und schauen uns zusammen den Aufbau des Scriptes an:
Inhaltsverzeichnis
Beschreibung
Wie der Name schon sagt, steht hier eine grobe Beschreibung
Evt. vom Benutzer anzupassen
Folgende Variablen können, wenn es sein muß, an die eigenen Gegebenheiten anpepasst werden
Basisverzeichnis
Die Variable $basisverzeichnis enthält den Pfad zum sogenannten Basiverzeichnis. In diesem Verzeichnis werden vom Script weitere Arbeitsverzeichnisse angelegt.
Default ist: ~/filme
Um eine wilde Jongliererei mit Rechten zu umgehen, muß das Basisverzeichis im Heimatverzeichnis des Benutzers liegen. Existiert der Default-Pfad bereits
und/oder wird von anderen Anwendungen benutzt, muß in die Variable ein anderer Pfadname eingetragen werden. Aber, wie gesagt, im Heimatverzeichnis bleiben!
DVD-Groesse
Die Variable $maxgroesse enthält die Anzahl der Bytes, die auf eine DVD passen. Ist ein Film größer, wird er requantisiert.
Default ist: 4600000000. Viel mehr passt auf eine DVD5 nicht drauf.
Diese Variable sollte nicht angetastet werden, es sei denn, jemand hätte Lust, Funktionen für eine Double-Layer DVD zu programmieren.
Brenngeschwindigkeit
In die Variable $brenngeschwindigkeit kann eingetragen werden, mit welcher maximalen Geschwindigkeit die DVD gebrannt werden soll.
Ich verwende 16fach DVD's und habe deshalb als default 8 angegeben. Mit halber Geschwindigkeit dauert es zwar etwas länger, aber ich habe auch noch nie Ausschuss produziert.
Pfade, in denen nach den Helferprogrammen gesucht wird
In die Variable $suchpfade sind 4 Pfade als default eingetragen. In diesen Pfaden sieht das Script nach, ob die notwendigen Helferprogramme installiert sind.
Fehlermeldungen abschalten
Mit exec 2>/dev/null wird die Fehlerausgebe ins Nirwana geschickt.
Dadurch werden nur Meldungen, die auch explizit gewollt sind, auf dem Bildschirm ausgegeben. Für die Inbetriebnahme und eine eventuell damit verbundene Fehlersuche empfehle ich, diesen Befehl auszukommentieren.
Installationsroutine
Programmnamen
Dies sind die Namen der Helferprogramme, die in einer indizierten Variablen abgelegt werden.
Anlegen der notwendigen Verzeichnisse
Das Basisverzeichnis wird angelegt (Variable $basisverzeichnis). Und im Basiverzeichnis werden folgende Arbeitsordner installiert:
- dvd_aufnahme: Hier wird zuerst nach den zu bearbeitenden Filmen gesucht.
- dvd_tmp: Hier legen die Helferprogramme Zwischenergebnisse ab ab und suchen nach den Ergebnissen anderen Helferprogramme
- dvd_struktur: In diesem Ordner wird die fertige DVD-Struktur zwischengespeichert.
- dvd-sicherung: Hierhin werden fertige Arbeitsergebnisse gesichert, wenn das vom User so gewünscht wird.
- default: Hier stehen die Pfadnamen der Helferprogramme und die Initialisierungsdateien für ProjectX.
- screenshot: Mit mplayer erstellte Screenshots der Filme/Clips, die ich dann zum Bedrucken der DVD verwende.
Programmerkennung
Vom DVB zur DVD, ein Wikibuch: Übersicht - Der Weg - Die Helferprogramme - Das Script - Installation - Bedienungsanleitung - Programmieranleitung |