Vom DVB zur DVD: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Weiter im Baustellentext)
(Korrekturlesen bis hierher)
Zeile 37: Zeile 37:
 
  lxdvdrip:    Requantisieren
 
  lxdvdrip:    Requantisieren
  
Diese Programme befinden sich im Repository von packman. Das bedeutet, daß in Yast als Installationsquelle "packman" hinzugefügt werden muß, bevor die Programmpakete, ebenfalls mit Yast, heruntergeladen und installiert werden können. Und wenn wir Yast schon geöffnet haben, dann wählen wir für die Installation noch das Programm "kdialog" aus. Das ist zwar nicht unbedingt notwendig, macht aber eine eventuelle Fehlersuche einfacher.
+
Diese Programme befinden sich im Repository von packman. Das bedeutet, daß packman mit Yast als Installationsquelle "packman" hinzugefügt werden muß. Danach können die Programmpakete, ebenfalls mit Yast, heruntergeladen und installiert werden können. Und wenn wir Yast schon geöffnet haben, dann wählen wir noch das Programm "kdialog" zur Installation aus. Das ist zwar nicht lebenswichtig für unser Vorhaben, es macht aber eine eventuelle Fehlersuche einfacher.
  
 
==<font color="maroon"> Die Aufnahme </font>==
 
==<font color="maroon"> Die Aufnahme </font>==
  
Für die Aufnahme von Fernsehsendungen wollen wir kaffeine hernehmen (Das Programm verwendet übrigens xine (libxine1) als Player-Engine). Wie wir aufnehmen, ob wir die Sofortaufnahme oder EPG dazu wählen, das bleibt unserem Geschmack überlassen. Wenn wir aber den Sofortaufnahme-Knopf drücken wollen, sollten wir vorher kaffeine so eingestellt haben, daß die Aufnahme nicht schon nach 30 Minuten zwangsweise beendet wird. Ich habe hier eine Zeitdauer von 600 Minuten eingestellt. Das reicht auch dann, wenn einmal etwas ausgiebiger überzogen wird.
+
Für die Aufnahme nehmen wir kaffeine. Dabei bleibt es unserem Geschmack überlassen, ob wir die Sendung mit EPG programmieren wollen oder ob wir die sofortaufnahme wählen.Wie wir aufnehmen, ob wir die Sofortaufnahme wählen. Tun wir letzteres, dann sollten wir in kaffeine vorher eine sinnvolle Aufnahmedauer eingestellt haben. Ich habe 600 Minuten als Default-Wert eingetragen. Das reicht auch dann noch, wenn einmal etwas länger überzogen wird.
 
  DVB - DVB einrichten - Aufnahme - Sofortaufnahmedauer:      600min
 
  DVB - DVB einrichten - Aufnahme - Sofortaufnahmedauer:      600min
Es wäre vielleicht auch ganz passend, einen Ordner speziell für die Aufnahme einzurichten. Tut man das nicht, so findet man die gespeicherten Filme im persönlichen Ordner wieder und irgendwann wird es dort etwas unübersichtlich. Also: Mit einem Dateimanager unserer Wahl oder über das Terminal den Aufnahmeordner erstellen. Bei mir heißt er:
+
Ich denke, es sollte überlegt werden, speziell für die Aufnahme einen eigenen Ordner einzurichten. Ansonsten findet man die gespeicherten Filme im persönlichen Ordner wieder und irgendwann wird es dann dort etwas unübersichtlich.
 +
Also stellen wir mit einem Dateimanager unserer Wahl oder über das Terminal den Aufnahmeordner ein. Bei mir heißt er:
 
  ~/Aufnahme
 
  ~/Aufnahme
Bleibt noch, kaffeine mitzuteilen, daß es seine Aufnahmen in diesem Ordner ablegen soll:
+
So, nun teilen wir kaffeine noch mit, daß wir so einen Aufnahmeordner besitzen und daß er auch benutzt werden sollte:
 
  DVB - DVB einrichten - Aufnahme - Aufnahmen-Verzeichnis:    ~/Aufnahme
 
  DVB - DVB einrichten - Aufnahme - Aufnahmen-Verzeichnis:    ~/Aufnahme
  
 
==<font color="maroon"> Die Verarbeitung </font>==
 
==<font color="maroon"> Die Verarbeitung </font>==
  
Nachdem wir nun einige Aufnahmen auf unserer Festplatte gespeichert haben, wollen wir eine dieser Aufnahmen so bearbeiten, daß sie auf eine DVD gebrannt werden kann. Und diese DVD soll von jedem handelsüblichen DVD-Spieler wiedergegeben werden können. In der Fachsprache würde man sagen: Wir erstellen eine DVD-Struktur. Ich glaube, diesen Weg vom DVB zur DVD müssen wir erst einmal in der Theorie etwas genauer betrachten, damit wir überhaupt wissen, was wir da so alles vorhaben. Also:
+
Nachdem wir nun einige Aufnahmen auf unserer Festplatte gespeichert haben, wollen wir eine dieser Aufnahmen so bearbeiten, daß sie auf eine DVD gebrannt werden kann. Und diese DVD soll von jedem handelsüblichen DVD-Spieler wiedergegeben werden können. In der Fachsprache würde man sagen: Wir erstellen eine DVD-Struktur. Ich glaube, diesen Weg vom DVB zur DVD müssen wir erst einmal in der Theorie etwas genauer betrachten, damit wir überhaupt wissen, was wir da so alles vorhaben.
  
Das digitale Fernsehen DVB ist, wie ja eigentlich fast alles in unserer Gesellschaft, genormt. Und das ist auch gut so. Denn nur so weiß der Satellitenreceiver, was er mit diesen ganzen digitalen Daten anfangen soll. Er empfängt den Datenstrom zum Beispiel vom Satelliten und wandelt ihn so um, daß der Inhalt des Streams auf einem Fernsehapparat auch in sinnvoller Art und Weise angesehen werden kann bzw. auf einem Videorecorder aufgenommen werden kann.
+
Das digitale Fernsehen DVB ist, wie ja eigentlich fast alles in unserer Gesellschaft, genormt. Und das ist auch gut so. Denn nur so weiß der Satellitenreceiver, was er mit diesen ganzen digitalen Daten anfangen soll. Er empfängt den Datenstrom (zum Beispiel den eines Satelliten) und wandelt ihn so um, daß der Inhalt des Streams auf einem Fernsehapparat auch angesehen bzw. mit einem Videorecorder aufgenommen werden kann.
  
Nun, in unserem Fall heißt der Receiver "kaffeine" und ist ein Computerprogramm. Der Fernseher ist der Monitor und als Videorecorder findet die Festplatte Verwendung. Kaffeine speichert also den DVB-Stream im Aufnahmeordner. Dieser Stream nun enthält die Bild- und Ton-Daten in sich verschachtelt. Diese Verschachtelung wird "Multiplexen" genannt und geschieht nach einem festen Regelwerk. Die Daten auf der DVD sind ebenfalls verschachtelt, jedoch nach einer anderen Regel, sonst wäre es ja zu einfach. Also, beginnen wir, die DVB-Verschachtelung in die DVD-Verschachtelung zu transformieren.
+
Nun, in unserem Fall heißt der Receiver kaffeine und ist ein Computerprogramm. Der Fernseher ist unser Monitor und als Videorecorder dient die Festplatte.
  
Dazu "Entschachteln" wir erst einmal den DVB-Stream, wir trennen also Bild und Ton voneinander und speichern diese dann in eigene Dateien. Das nennt sich "Demultiplexen". Diese Arbeit lassen wir von "ProjectX" ausführen. Und bei der Gelegenheit schneiden wir gleich die Werbung aus dem Film heraus (ebenfalls mit ProjectX). Beim Demultiplexen werden von ProjectX außerdem Übertragungsfehler ausgebessert und Bild und Ton miteinander synchronisiert.
+
Kaffeine speichert also den DVB-Stream im Aufnahmeordner. Dieser Stream enthält die Bild- und Ton-Daten in sich verschachtelt. Diese Verschachtelung wird "Multiplexen" genannt und geschieht nach einem festen Regelwerk. Die Daten auf der DVD liegen ebenfalls in multiplexter Form vor. Jedoch ist das Regelwerk hier nicht identisch mit dem des DVB-Streams. Sonst wäre es ja alles viel zu einfach. Unsere Aufgabe ist es nun also, die DVB-Verschachtelung in eine DVD-Verschachtelung zu transformieren.
  
So, jetzt multiplexen wir das Ganze wieder, allerdings nach den DVD-Regeln. Mplex ist hier der Helfer unseren Wahl. Bei diesem Multiplexen werden die Daten gleich so aufbereitet, daß sie ohne Probleme geauthored werden können.
+
Dazu Demultiplexen wir erst einmal den DVB-Stream. Wir trennen also die Bild- und die Tondaten voneinander und speichern sie in getrennte Dateien. Diese Arbeit lassen wir von ProjectX ausführen. Und bei der Gelegenheit entfernen wir mit ProjectX auch gleich die Werbung aus dem Film heraus. ProjectX korrigiert beim Demultiplexen übrigens Fehler, hervorgerufen zum Beispiel durch Empfangsprobleme. Zudem werden von dem Programm Bild und Ton miteinander synchronisiert.
  
Authoring, das bedeutet das Erstellen der Verzeichnis-Struktur einer DVD und die DVD-konforme Umwandlung und Einbindung der Daten. Wenn wir uns so eine DVD in einem Dateimanager ansehen, so sehen wir zwei Ordner, VIDEO_TS und AUDIO_TS. Wer nun glaubt, zu erkennen, wo sich Bild und Ton auf einiger fertigen DVD befinden, dem sei gesagt: Denkste! In AUDIO_TS befindet sich kein noch so kleines Fitzelchen einer Tondatei. Ganz im Gegenteil, dieser Ordner ist auf einer Video-DVD vollkommen leer. ER dient nur der Kompatibilität zum DVD-Standard. AUDI_TS würde von einer Audio-DVD genutzt werde, was uns im Moment aber nicht im geringsten intzeressiert, denn wir wollen ja fernsehen! Die Logik sagt uns nun, wo sich die Filmdaten nun in Wirklichkeit befinden, und viele Möglichkeiten gibt es ja nicht mehr. Richtig, er ist im Verzeichnis VIDEO_TS gelandet und zwar in multiplexter Form, und zusätzlich noch aufgeteilt in kleinere Häppchen. Darüber hinaus befinden sich in diesem Ordner noch einige Verwaltungsdateien.
+
Ist das alles erledigt, dann führen wir die getrennten Bild- und Tondateien wieder zusammen zu einem mpg-file. Allerdings verwenden wir diesmal zum Multiplexen die "DVD-Regeln". Mplex wird das für uns tun und dabei gleich die Daten so aufbereiten, daß sie von dvdauthor einfach weiterverarbeitet werden können.
 +
 
 +
Dvdauthor authored eine DVD. Das bedeutet, es wird eine Verzeichnis-Struktur erstellt, wie sie auf der DVD vorhanden sein muß. Und in diese DVD-Struktur wird das mpeg-file eingearbeitet. Die Verzeichnis-Struktur ist nicht kompliziert, denn sie besteht nur aus zwei Ordnern:
 +
VIDEO_TS und AUDIO_TS
 +
 
 +
Wer nun glaubt zu wissen, wo sich Bild und Ton auf der fertigen DVD befinden werden, dem sei gesagt: Denkste! Im Ordner AUDIO_TS befindet sich nämlich kein noch so kleines Fitzelchen einer Tondatei. Ganz im Gegenteil, dieser Ordner ist auf einer Video-DVD vollkommen leer. ER dient nur der Kompatibilität zum DVD-Standard.
 +
 
 +
Nun ist es nicht mehr schwierig zu erraten, wo sich die Multimedia-Daten befinden. Richtig, im Verzeichnis VIDEO_TS! Und zusätzlich finden wir dort noch eineige Verwaltungsdateien.
  
 
Und wie wird nun die DVD erstellt? Ganz einfach: AUDIO_TS (leer) und VIDEO_TS (samt Inhalt) auf die Scheibe brennen und fertig!
 
Und wie wird nun die DVD erstellt? Ganz einfach: AUDIO_TS (leer) und VIDEO_TS (samt Inhalt) auf die Scheibe brennen und fertig!
Zeile 74: Zeile 82:
 
  Brennen mit k3b ==> AUDIO_TS (leer)
 
  Brennen mit k3b ==> AUDIO_TS (leer)
 
  ==> VIDEO_TS (alle Daten)
 
  ==> VIDEO_TS (alle Daten)
Viele Wege führen übrigens nach Rom und dieser Weg, den wir hier beschreiten ist nur einer davon. ...aber gar kein so schlechter, wie ich denke.
 
  
 
==<font color="maroon"> Das Bash-Script </font>==
 
==<font color="maroon"> Das Bash-Script </font>==
 +
 +
Diesen eben geschilderten Weg wollen wir soweit wie möglich automatisieren. Und das machen wir mit einem Bash-Script.
  
 
===Scriptname===
 
===Scriptname===
Beliebig, zum Beispiel:
+
Das Script muß natürlich einen Namen und einen Platz erhalten, wo wir es auf der Festplatte finden können. Nehmen wir es zum Beispiel:
  dvb_verarbeitung_1
+
  ~/vom_dvb_zur_dvd_1
Das Bash-Script muß ausführbar gemacht werden: Rechtsklick - Eigenschaften - Berechtigungen - Ausführbar
+
Das Script wird ausführbar gemacht:
 +
Rechtsklick - Eigenschaften - Berechtigungen - Ausführbar
  
 
===Scriptstart===
 
===Scriptstart===
Ein Terminal öffnen, dort den Scriptnamen eintippen und auf Enter drücken!
+
Wir öffnen ein Terminal und tippen dort den vollständigen Scriptnamen ein, also komplett mit Pfad und harren der Dinge, die nun kommen.
 
 
Das Script kann übrigens auf durch Links-Klick auf die Scriptdatei gestartet werden. Damit berauben wir uns aber der Möglichkeit festzustellen, wie weit der Computer mit seiner Bearbeitung schon ist. Und noch eine Startmöglichkeit möchte ich nicht unerwähnt lassen, nämlich die Desktop-Datei. Was es damit auf sich hat, kann hier nachgelesen werden: [[http://www.linupedia.org/opensuse/K-Men%C3%BC_und_die_Desktop-Dateien]]
 
  
 
===Scriptcode===
 
===Scriptcode===
 
 
  #!/bin/bash
 
  #!/bin/bash
 
    
 
    
Zeile 142: Zeile 149:
  
 
====<font color="gray"> Die Arbeitsordner </font>====
 
====<font color="gray"> Die Arbeitsordner </font>====
Gibt es ihn aber noch nicht müssen er und einige notwendige Arbeitsverzeichnisse erst erzeugt werden:
+
Gibt es ihn aber noch nicht, diesen Basisordner, dann muß er erzeugt werden und zusätzlich einige notwendige Arbeitsverzeichnisse:
 
  mkdir ...
 
  mkdir ...
  
 
====<font color="gray"> Die X.ini </font>====
 
====<font color="gray"> Die X.ini </font>====
Danach wird in einen dieser Arbeitsordner die Initialisierungsdatei für ProjectX (X.ini) geschrieben:
+
Danach wird in den Arbeitsordner ~/dvbscript_1/ini die Initialisierungsdatei für ProjectX (X.ini) geschrieben:
 
  echo \
 
  echo \
 
  "...
 
  "...
 
  ..." \
 
  ..." \
 
  > ~/dvbscript_1/ini/X.ini
 
  > ~/dvbscript_1/ini/X.ini
Die Einzelnen Optionen in der X.ini bedeuten folgendes:
+
Die einzelnen Optionen in der X.ini bedeuten folgendes:
 
  Application.Agreement=1
 
  Application.Agreement=1
Wir erklären uns mit den Lizensbestimmungen von ProjectX einverstanden und werden danach auch nicht mehr gefragt
+
Wir erklären uns mit den Lizensbestimmungen von ProjectX einverstanden und werden auch nicht mehr danach gefragt.
 
  Application.Language=de
 
  Application.Language=de
Die Sprache in ProjectX ist, wo es geht, Deutsch
+
Die Sprache in ProjectX ist, wo es geht, Deutsch.
 
  OptionPanel.NormalLog=0
 
  OptionPanel.NormalLog=0
Es wir keine Logdatei mitgeschrieben, da die nur stören würde
+
Es wir keine Logdatei mitgeschrieben, da die nur stören würde.
 
  OptionPanel.closeOnEnd=1
 
  OptionPanel.closeOnEnd=1
Wenn ProjectX mit seinen Aufgaben fertig ist, beendet es sich selbst, damit läuft das Script automatisch weiterlaufen kann
+
Wenn ProjectX mit seinen Aufgaben fertig ist, beendet es sich selbst, damit das Script automatisch weiterlaufen kann.
  
Nachdem das geschehen ist, sind wir auch hier beim Leeren der Arbeitsordner angelangt.
+
Und nun sind wir auch hier beim Leeren der Arbeitsordner angelangt.
  
 
====<font color="gray"> Arbeitsordner leeren </font>====
 
====<font color="gray"> Arbeitsordner leeren </font>====
 
  rm ....
 
  rm ....
löscht den Inhalt der ausgewählten Verzeichnisse
+
Löscht den Inhalt des ausgewählten Verzeichnisses
 
  rmdir ....
 
  rmdir ....
löscht Ordner lelbst, die aber leer sein müssen (deshalb vorhin auch rm)
+
Löscht einen gewünschten Ordner, der aber leer sein muß
 +
 
 
Damit ist alles in jungfräulichem Zustand und die eigentliche Viedoverarbeitung kann beginnen.
 
Damit ist alles in jungfräulichem Zustand und die eigentliche Viedoverarbeitung kann beginnen.
  
 
====<font color="gray"> Quelledatei auswählen, schneiden und demultiplexen </font>====
 
====<font color="gray"> Quelledatei auswählen, schneiden und demultiplexen </font>====
Das erledigen wir alles mit ProjectX
+
Das erledigen wir mit ProjectX
 
  java -jar
 
  java -jar
 
Wir starten ein Java-Programm, denn so eines ist ProjectX
 
Wir starten ein Java-Programm, denn so eines ist ProjectX
Zeile 179: Zeile 187:
 
ProjectX soll das Eingangsfile demultiplexen
 
ProjectX soll das Eingangsfile demultiplexen
 
  -gui
 
  -gui
ProjectX soll mit seiner graphischen Bedienoberfläche starten
+
und es soll mit seiner graphischen Bedienoberfläche starten
 
  -ini ~/dvbscript_1/ini/X.ini
 
  -ini ~/dvbscript_1/ini/X.ini
projectX soll die von uns vorhin angelegte Initialisierungsdatei verwenden
+
Die vorhin von uns erzeugte Initialisierungsdatei soll verwendenwerden
 
  -out ~/dvbscript_1/cache
 
  -out ~/dvbscript_1/cache
 
Das Bearbeitungsergebnis kommt in diesen Arbeitsordner
 
Das Bearbeitungsergebnis kommt in diesen Arbeitsordner
 
  -name
 
  -name
und erhält diesen Namen
+
und erhält diesen Namen.
  
 
Die Bedienug von ProjectX erkläre ich gleich noch etwas genauer. Machen wir erstmal im Script weiter.
 
Die Bedienug von ProjectX erkläre ich gleich noch etwas genauer. Machen wir erstmal im Script weiter.
Zeile 192: Zeile 200:
 
Hat ProjectX seine Arbeit getan und sich zur Ruhe begeben, kommt mplex zum Zuge.
 
Hat ProjectX seine Arbeit getan und sich zur Ruhe begeben, kommt mplex zum Zuge.
 
  /usr/bin/mplex
 
  /usr/bin/mplex
Multiplexe
+
Aufruf von mplex zum Multiplexen
 
  -f8
 
  -f8
 
in grösster Annäherung an den offiziellen DVD-Standard
 
in grösster Annäherung an den offiziellen DVD-Standard
 
  ~/dvbscript_1/cache/*.mp2
 
  ~/dvbscript_1/cache/*.mp2
alle Stereo-Tondateien
+
Nehme alle Stereo-Tondateien
 
  ~/dvbscript_1/cache/*.m2v
 
  ~/dvbscript_1/cache/*.m2v
 
und das Videofile
 
und das Videofile
 
  -o ~/dvbscript_1/cache/film.mpg
 
  -o ~/dvbscript_1/cache/film.mpg
zu dieser mpg-Datei
+
und multiplexe sie zu dieser mpg-Datei
  
 
====<font color="gray"> Authoring </font>====
 
====<font color="gray"> Authoring </font>====
Zeile 212: Zeile 220:
 
Verwende dieses mpg-File zum authorn
 
Verwende dieses mpg-File zum authorn
 
  /usr/bin/dvdauthor -T
 
  /usr/bin/dvdauthor -T
Erzeuge die TOC (Inhaltsverzeichnis)
+
und erzeuge die TOC (Inhaltsverzeichnis)
  
 
====<font color="gray"> Script Ende </font>====
 
====<font color="gray"> Script Ende </font>====
Da braucht man, glaube ich, nicht viel dazu sagen. Doch eines: kdialog verwende ich dazu, das Script am Schluss anzuhalten. Dadurch schließt sich das Terminal nicht von selbst und ich die Meldungen, die dort angezeigt werden, nötigenfalls noch einmal zurückverfolgen.
+
Da braucht man, glaube ich, nicht viel dazu sagen. Doch eines: Ich verwende kdialog dazu, das Script am Ende anzuhalten. Dadurch schließt sich das Terminal nicht von selbst und ich kann die Meldungen, die dort angezeigt werden, nötigenfalls noch einmal zurückverfolgen.
  
 
==<font color="maroon"> Links </font>==
 
==<font color="maroon"> Links </font>==

Version vom 3. November 2009, 21:26 Uhr

Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.


Dies ist der erste Artikel der Tetralogie "vom DVB zur DVD".
Es wird erklärt, was getan werden kann, damit diese Aufnahme, auf DVD gebrannt, in einem Stand-alone-Player abspielbar ist.

Diese Beschreibung wurde mit folgenden Distributionen getestet:

Opensuse 11.1 32Bit mit KDE 4.x


Einleitung

Vor noch nicht allzu langer Zeit  (es war das dunkle Zeitalter der Videorecorder) trug sich in unseren Wohnzimmern oftmals folgendes grauslich
anmutende Geschehen zu:
Eine Stimme ist zu hören, forsch und fordernd: "He Mann, nimm mir doch mal den Gottschalk auf!"
Die Reaktion auf solch drängendes Gebaren: Sofortige Suche nach der Bedienungsanleitung des Videorecorders.
Der Mann, triumphierend das gefundene Buch in der Hand haltend, zweifelnd zwar, aber dennoch, tiefgebückt, es mit stierem Blicke
durchforstend. Er, zögernd die eine oder andere Taste am Gerät drückend, hoffend, daß alles auch so funktioniert, wie es im Hexenbuche beschrieben 
steht.
Freude, die hervorbricht, wenn das Gerät dann zu arbeiten anfängt.
Die Frau, den Mann betrachtend, bewundernd, ob dessen technischen Verständnisses.

--Escho 22:14, 22. Jan. 2008 (CET)

Heute gibt es den einen oder anderen Haushalt, in dem ein Videorecorder nur noch zur Zierde dient, bzw. der Kompatibilität zu einem großen Haufen VHS-Kassetten. Blickfang des Wohnraums ist nun ein Flachbildfernseher geworden, an den ein DVD-Recorder angeschlossen ist. Glücklich, wer solche Gerätschaften sein Eigen nennen darf.

Der normal ausgestattete Mitteleuropäer kann jedoch aufatmen. Denn auch sein Computer, aufgerüstet durch eine Sat-Karte, kann Fernsehsendungen aufnehmen und bearbeiten. Voraussetzung ist nur ein anständiges Betriebssystem und ein paar kleine Helferprogramme:

Welche Programme sind nötig?

kaffeine:     Aufnahme und Wiedergabe
libxine1:     Player-Engine, Packman-Version von xine
ProjectX:     Schnitt, Synchronisation, Fehlerbereinigung, Demultiplexen
mplex:        Multiplexen, enthalten in den mjpegtools
dvdauthor:    Kommandozeilentool für das Authorn von DVDs
k3b:	      Brennen
lxdvdrip:     Requantisieren

Diese Programme befinden sich im Repository von packman. Das bedeutet, daß packman mit Yast als Installationsquelle "packman" hinzugefügt werden muß. Danach können die Programmpakete, ebenfalls mit Yast, heruntergeladen und installiert werden können. Und wenn wir Yast schon geöffnet haben, dann wählen wir noch das Programm "kdialog" zur Installation aus. Das ist zwar nicht lebenswichtig für unser Vorhaben, es macht aber eine eventuelle Fehlersuche einfacher.

Die Aufnahme

Für die Aufnahme nehmen wir kaffeine. Dabei bleibt es unserem Geschmack überlassen, ob wir die Sendung mit EPG programmieren wollen oder ob wir die sofortaufnahme wählen.Wie wir aufnehmen, ob wir die Sofortaufnahme wählen. Tun wir letzteres, dann sollten wir in kaffeine vorher eine sinnvolle Aufnahmedauer eingestellt haben. Ich habe 600 Minuten als Default-Wert eingetragen. Das reicht auch dann noch, wenn einmal etwas länger überzogen wird.

DVB - DVB einrichten - Aufnahme - Sofortaufnahmedauer:      600min

Ich denke, es sollte überlegt werden, speziell für die Aufnahme einen eigenen Ordner einzurichten. Ansonsten findet man die gespeicherten Filme im persönlichen Ordner wieder und irgendwann wird es dann dort etwas unübersichtlich. Also stellen wir mit einem Dateimanager unserer Wahl oder über das Terminal den Aufnahmeordner ein. Bei mir heißt er:

~/Aufnahme

So, nun teilen wir kaffeine noch mit, daß wir so einen Aufnahmeordner besitzen und daß er auch benutzt werden sollte:

DVB - DVB einrichten - Aufnahme - Aufnahmen-Verzeichnis:    ~/Aufnahme

Die Verarbeitung

Nachdem wir nun einige Aufnahmen auf unserer Festplatte gespeichert haben, wollen wir eine dieser Aufnahmen so bearbeiten, daß sie auf eine DVD gebrannt werden kann. Und diese DVD soll von jedem handelsüblichen DVD-Spieler wiedergegeben werden können. In der Fachsprache würde man sagen: Wir erstellen eine DVD-Struktur. Ich glaube, diesen Weg vom DVB zur DVD müssen wir erst einmal in der Theorie etwas genauer betrachten, damit wir überhaupt wissen, was wir da so alles vorhaben.

Das digitale Fernsehen DVB ist, wie ja eigentlich fast alles in unserer Gesellschaft, genormt. Und das ist auch gut so. Denn nur so weiß der Satellitenreceiver, was er mit diesen ganzen digitalen Daten anfangen soll. Er empfängt den Datenstrom (zum Beispiel den eines Satelliten) und wandelt ihn so um, daß der Inhalt des Streams auf einem Fernsehapparat auch angesehen bzw. mit einem Videorecorder aufgenommen werden kann.

Nun, in unserem Fall heißt der Receiver kaffeine und ist ein Computerprogramm. Der Fernseher ist unser Monitor und als Videorecorder dient die Festplatte.

Kaffeine speichert also den DVB-Stream im Aufnahmeordner. Dieser Stream enthält die Bild- und Ton-Daten in sich verschachtelt. Diese Verschachtelung wird "Multiplexen" genannt und geschieht nach einem festen Regelwerk. Die Daten auf der DVD liegen ebenfalls in multiplexter Form vor. Jedoch ist das Regelwerk hier nicht identisch mit dem des DVB-Streams. Sonst wäre es ja alles viel zu einfach. Unsere Aufgabe ist es nun also, die DVB-Verschachtelung in eine DVD-Verschachtelung zu transformieren.

Dazu Demultiplexen wir erst einmal den DVB-Stream. Wir trennen also die Bild- und die Tondaten voneinander und speichern sie in getrennte Dateien. Diese Arbeit lassen wir von ProjectX ausführen. Und bei der Gelegenheit entfernen wir mit ProjectX auch gleich die Werbung aus dem Film heraus. ProjectX korrigiert beim Demultiplexen übrigens Fehler, hervorgerufen zum Beispiel durch Empfangsprobleme. Zudem werden von dem Programm Bild und Ton miteinander synchronisiert.

Ist das alles erledigt, dann führen wir die getrennten Bild- und Tondateien wieder zusammen zu einem mpg-file. Allerdings verwenden wir diesmal zum Multiplexen die "DVD-Regeln". Mplex wird das für uns tun und dabei gleich die Daten so aufbereiten, daß sie von dvdauthor einfach weiterverarbeitet werden können.

Dvdauthor authored eine DVD. Das bedeutet, es wird eine Verzeichnis-Struktur erstellt, wie sie auf der DVD vorhanden sein muß. Und in diese DVD-Struktur wird das mpeg-file eingearbeitet. Die Verzeichnis-Struktur ist nicht kompliziert, denn sie besteht nur aus zwei Ordnern:

VIDEO_TS und AUDIO_TS

Wer nun glaubt zu wissen, wo sich Bild und Ton auf der fertigen DVD befinden werden, dem sei gesagt: Denkste! Im Ordner AUDIO_TS befindet sich nämlich kein noch so kleines Fitzelchen einer Tondatei. Ganz im Gegenteil, dieser Ordner ist auf einer Video-DVD vollkommen leer. ER dient nur der Kompatibilität zum DVD-Standard.

Nun ist es nicht mehr schwierig zu erraten, wo sich die Multimedia-Daten befinden. Richtig, im Verzeichnis VIDEO_TS! Und zusätzlich finden wir dort noch eineige Verwaltungsdateien.

Und wie wird nun die DVD erstellt? Ganz einfach: AUDIO_TS (leer) und VIDEO_TS (samt Inhalt) auf die Scheibe brennen und fertig!

Okay, das alles noch einmal in der Zusammenfassung:

Aufnahme mit kaffeine				==>	film.m2t
Demultiplexen und Schneiden mit ProjectX	==>	film.m2v (Video)
						==>	film.m2t (Stereo-Audio)
						==>	film.ac3 (Dolby Raumklang)
Multiplexen mit mplex				==>	film.mpg
Authorn mit dvdauthor				==>	AUDIO_TS (leer)
						==>	VIDEO_TS (alle Daten)
Brennen mit k3b					==>	AUDIO_TS (leer)
						==>	VIDEO_TS (alle Daten)

Das Bash-Script

Diesen eben geschilderten Weg wollen wir soweit wie möglich automatisieren. Und das machen wir mit einem Bash-Script.

Scriptname

Das Script muß natürlich einen Namen und einen Platz erhalten, wo wir es auf der Festplatte finden können. Nehmen wir es zum Beispiel:

~/vom_dvb_zur_dvd_1

Das Script wird ausführbar gemacht:

Rechtsklick - Eigenschaften - Berechtigungen - Ausführbar

Scriptstart

Wir öffnen ein Terminal und tippen dort den vollständigen Scriptnamen ein, also komplett mit Pfad und harren der Dinge, die nun kommen.

Scriptcode

#!/bin/bash
 
#++++++++++++++++++++++++++++Vom DVB zur DVD+++++++++++++++++++++++++++++++++++++++

#++++++++++++++++++++++++++Ordnerstruktur erzeugen+++++++++++++++++++++++++++++++++
if [ ! -e ~/dvbscript_1 ]
then
  #+++++++++Die Arbeitsordner+++++++++
  mkdir ~/dvbscript_1
  mkdir ~/dvbscript_1/cache
  mkdir ~/dvbscript_1/ini
  mkdir ~/dvbscript_1/ergebnis
  
  #++++++++++++Die X.ini++++++++++++++
  echo \
  "# Application
  Application.Agreement=1
  Application.Language=de
  
  # OptionPanel
  OptionPanel.NormalLog=0
  OptionPanel.closeOnEnd=1" \
  > ~/dvbscript_1/ini/X.ini
fi
 
#++++++++++++++++++++++++++Arbeitsordner leeren++++++++++++++++++++++++++++++++++++
rm ~/dvbscript_1/cache/*
rm ~/dvbscript_1/ergebnis/VIDEO_TS/*
rmdir ~/dvbscript_1/ergebnis/VIDEO_TS
rmdir ~/dvbscript_1/ergebnis/AUDIO_TS

#++++++++++++++Quelledatei auswählen, schneiden und demultiplexen+++++++++++++++++++
java -jar /usr/share/java/ProjectX.jar -demux -gui -ini ~/dvbscript_1/ini/X.ini -out ~/dvbscript_1/cache -name film

#++++++++++++++++++++++++++++++++Multiplexen++++++++++++++++++++++++++++++++++++++++
/usr/bin/mplex -f8 ~/dvbscript_1/cache/*.mp2 ~/dvbscript_1/cache/*.m2v -o ~/dvbscript_1/cache/film.mpg
 
#++++++++++++++++++++++++++++++++++Authoring++++++++++++++++++++++++++++++++++++++++
/usr/bin/dvdauthor -o ~/dvbscript_1/ergebnis -t ~/dvbscript_1/cache/film.mpg
/usr/bin/dvdauthor -o ~/dvbscript_1/ergebnis -T

#+++++++++++++++++++++++++++++++Script Ende+++++++++++++++++++++++++++++++++++++++++
kdialog --msgbox "ende"
exit 0

Das Script im Einzelnen

Ordnerstruktur erzeugen

if [ ! -e ~/dvbscript_1 ]

Es wird überprüft, ob der von uns gewünschte Basisordner schon existiert. Wenn ja, dann wird mit dem Leeren der Arbeitsordner fortgefahren.

Die Arbeitsordner

Gibt es ihn aber noch nicht, diesen Basisordner, dann muß er erzeugt werden und zusätzlich einige notwendige Arbeitsverzeichnisse:

mkdir ...

Die X.ini

Danach wird in den Arbeitsordner ~/dvbscript_1/ini die Initialisierungsdatei für ProjectX (X.ini) geschrieben:

echo \
"...
..." \
> ~/dvbscript_1/ini/X.ini

Die einzelnen Optionen in der X.ini bedeuten folgendes:

Application.Agreement=1

Wir erklären uns mit den Lizensbestimmungen von ProjectX einverstanden und werden auch nicht mehr danach gefragt.

Application.Language=de

Die Sprache in ProjectX ist, wo es geht, Deutsch.

OptionPanel.NormalLog=0

Es wir keine Logdatei mitgeschrieben, da die nur stören würde.

OptionPanel.closeOnEnd=1

Wenn ProjectX mit seinen Aufgaben fertig ist, beendet es sich selbst, damit das Script automatisch weiterlaufen kann.

Und nun sind wir auch hier beim Leeren der Arbeitsordner angelangt.

Arbeitsordner leeren

rm ....

Löscht den Inhalt des ausgewählten Verzeichnisses

rmdir ....

Löscht einen gewünschten Ordner, der aber leer sein muß

Damit ist alles in jungfräulichem Zustand und die eigentliche Viedoverarbeitung kann beginnen.

Quelledatei auswählen, schneiden und demultiplexen

Das erledigen wir mit ProjectX

java -jar

Wir starten ein Java-Programm, denn so eines ist ProjectX

/usr/share/java/ProjectX.jar

welches hier gefunden werden kann

-demux

ProjectX soll das Eingangsfile demultiplexen

-gui

und es soll mit seiner graphischen Bedienoberfläche starten

-ini ~/dvbscript_1/ini/X.ini

Die vorhin von uns erzeugte Initialisierungsdatei soll verwendenwerden

-out ~/dvbscript_1/cache

Das Bearbeitungsergebnis kommt in diesen Arbeitsordner

-name

und erhält diesen Namen.

Die Bedienug von ProjectX erkläre ich gleich noch etwas genauer. Machen wir erstmal im Script weiter.

Multiplexen

Hat ProjectX seine Arbeit getan und sich zur Ruhe begeben, kommt mplex zum Zuge.

/usr/bin/mplex

Aufruf von mplex zum Multiplexen

-f8

in grösster Annäherung an den offiziellen DVD-Standard

~/dvbscript_1/cache/*.mp2

Nehme alle Stereo-Tondateien

~/dvbscript_1/cache/*.m2v

und das Videofile

-o ~/dvbscript_1/cache/film.mpg

und multiplexe sie zu dieser mpg-Datei

Authoring

/usr/bin/dvdauthor

Starte dvdauthor

-o ~/dvbscript_1/ergebnis

und sage ihm, wohin es die DVD-Struktur schreiben soll

-t

Die DVD enthält nur einen einzigen Titel (ich beschränke mich auf einen Film pro DVD)

~/dvbscript_1/cache/film.mpg

Verwende dieses mpg-File zum authorn

/usr/bin/dvdauthor -T

und erzeuge die TOC (Inhaltsverzeichnis)

Script Ende

Da braucht man, glaube ich, nicht viel dazu sagen. Doch eines: Ich verwende kdialog dazu, das Script am Ende anzuhalten. Dadurch schließt sich das Terminal nicht von selbst und ich kann die Meldungen, die dort angezeigt werden, nötigenfalls noch einmal zurückverfolgen.

Links

In der Artikelübersicht ist eine ausführliche Linkliste enthalten: vom DVB zur DVD: Vorstellung der Wiki-Artikel in dieser Serie


Zurück zur Multimedia-Übersicht