Vom DVB zur DVD: Unterschied zwischen den Versionen
Escho (Diskussion | Beiträge) (Box Achtung entfernt) |
Escho (Diskussion | Beiträge) (export VIDEO_FORMAT=PAL) |
||
(12 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | {{blau| | |
+ | Dies ist der erste Artikel der Tetralogie "vom DVB zur DVD". <br> | ||
+ | Es wird erklärt, was getan werden kann, damit diese Aufnahme, auf DVD gebrannt, in einem Stand-alone-Player abspielbar ist.}} | ||
− | + | {{Box Test|| | |
− | Opensuse | + | Opensuse 11.1 32Bit mit KDE 4.x |
}} | }} | ||
− | == | + | ==<font color="maroon"> Einleitung </font>== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Vor noch nicht allzu langer Zeit (es war das dunkle Zeitalter der Videorecorder) trug sich in unseren Wohnzimmern oftmals folgendes grauslich | Vor noch nicht allzu langer Zeit (es war das dunkle Zeitalter der Videorecorder) trug sich in unseren Wohnzimmern oftmals folgendes grauslich | ||
anmutende Geschehen zu: | anmutende Geschehen zu: | ||
Zeile 35: | Zeile 26: | ||
aufnehmen und bearbeiten. Voraussetzung ist nur ein anständiges Betriebssystem und ein paar kleine Helferprogramme: | aufnehmen und bearbeiten. Voraussetzung ist nur ein anständiges Betriebssystem und ein paar kleine Helferprogramme: | ||
− | == | + | ==<font color="maroon"> Welche Programme sind nötig? </font>== |
kaffeine: Aufnahme und Wiedergabe | kaffeine: Aufnahme und Wiedergabe | ||
− | libxine1: Player-Engine, Packman-Version von | + | libxine1: Player-Engine, Packman-Version von xine |
− | + | ProjectX: Schnitt, Synchronisation, Fehlerbereinigung, Demultiplexen | |
mplex: Multiplexen, enthalten in den mjpegtools | mplex: Multiplexen, enthalten in den mjpegtools | ||
dvdauthor: Kommandozeilentool für das Authorn von DVDs | dvdauthor: Kommandozeilentool für das Authorn von DVDs | ||
− | + | k3b: Brennen | |
− | k3b: | ||
lxdvdrip: Requantisieren | lxdvdrip: Requantisieren | ||
− | Die | + | Diese Programme befinden sich im Repository von packman. Das bedeutet, daß packman mit Yast als Installationsquelle 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>== | ||
+ | |||
+ | Für die Aufnahme nehmen wir kaffeine. Dabei bleibt es unserem Geschmack überlassen, ob wir die Sendung mit EPG programmieren oder 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 erzeugen wir mit einem Dateimanager unserer Wahl oder über das Terminal ein neues Verzeichnis, das ausschließlich der Aufnahme vorbehalten bleibt. Bei mir heißt das Verzeichnis: | ||
+ | ~/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 | ||
+ | |||
+ | ==<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. | ||
− | + | 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. ProjectX korrigiert beim Demultiplexen übrigens Fehler, hervorgerufen zum Beispiel durch Empfangsprobleme. Zudem werden von dem Programm Bild und Ton miteinander synchronisiert. | |
− | und | ||
− | + | 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 einige Verwaltungsdateien. | |
− | |||
− | |||
− | |||
− | + | Und wie wird nun die DVD erstellt? Ganz einfach: AUDIO_TS (leer) und VIDEO_TS (samt Inhalt) werden auf die Scheibe gebrannt 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) | ||
− | === | + | ==<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=== | |
+ | 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 | ||
===Scriptcode=== | ===Scriptcode=== | ||
− | + | #!/bin/bash | |
− | #!/bin/ | + | |
− | |||
#++++++++++++++++++++++++++++Vom DVB zur DVD+++++++++++++++++++++++++++++++++++++++ | #++++++++++++++++++++++++++++Vom DVB zur DVD+++++++++++++++++++++++++++++++++++++++ | ||
− | #+++++++++++++++++++++++++++++ | + | #+++++++++++++++++++++++++++++Definition+++++++++++++++++++++++++++++++++++++++++++ |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | #+++++++++++++++++++++++++ | + | export VIDEO_FORMAT=PAL |
− | + | ||
− | + | #++++++++++++++++++++++++++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+++++++++++++++++++ |
− | /usr/ | + | 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+++++++++++++++++++++++++++++++++++++++++ | #+++++++++++++++++++++++++++++++Script Ende+++++++++++++++++++++++++++++++++++++++++ | ||
+ | kdialog --msgbox "ende" | ||
exit 0 | exit 0 | ||
− | + | ===Das Script im Einzelnen=== | |
− | === | + | ====<font color="gray"> Definition </font>==== |
+ | export VIDEO_FORMAT=PAL | ||
+ | Das Videoformat wird mit der entsprechenden Umgebungsvariablen auf PAL festgezurrt (Ist für dvdauthor ab Version 0.7.0 von packman notwendig) | ||
− | + | ====<font color="gray"> Ordnerstruktur erzeugen </font>==== | |
− | + | 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 | + | ====<font color="gray"> Die Arbeitsordner </font>==== |
+ | Gibt es ihn aber noch nicht, diesen Basisordner, dann muß er erzeugt werden und zusätzlich einige notwendige Arbeitsverzeichnisse: | ||
+ | mkdir ... | ||
− | === | + | ====<font color="gray"> Die X.ini </font>==== |
− | + | 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. | |
− | |||
− | |||
− | |||
− | |||
− | ==== | + | ====<font color="gray"> Arbeitsordner leeren </font>==== |
− | + | 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. | |
− | |||
− | |||
− | + | ====<font color="gray"> Quelledatei auswählen, schneiden und demultiplexen </font>==== | |
− | + | 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 verwenden werden | ||
+ | -out ~/dvbscript_1/cache | ||
+ | Das Bearbeitungsergebnis kommt in diesen Arbeitsordner | ||
+ | -name | ||
+ | und erhält diesen Namen. | ||
− | + | ====<font color="gray"> Multiplexen </font>==== | |
+ | 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 | ||
− | ==== | + | ====<font color="gray"> Authoring </font>==== |
− | + | /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) | ||
− | ==== | + | ====<font color="gray"> Script Ende </font>==== |
− | + | 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. | |
− | |||
− | |||
− | + | ===Scriptstart=== | |
− | + | Wir öffnen ein Terminal und tippen dort den vollständigen Scriptnamen ein, also komplett mit Pfad und harren der Dinge, die nun kommen. | |
− | |||
− | === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==== | + | ==<font color="maroon"> Brennen der DVD </font>== |
− | |||
− | + | Das Brennen kann mit k3b erledigt werden. Dazu verwenden wir den Modus | |
− | + | Daten-DVD brennen | |
− | + | Das Verzeichnis VIDEO_TS samt Inhalt und der leere Ordner AUDIO_TS werden nach k3b gezogen. Anschließend drücken wir den Knopf Brennen und warten auf das Ergebnis. | |
− | === | + | ==<font color="maroon"> Das sollte beachtet werden </font>== |
− | |||
− | |||
− | |||
− | |||
− | + | *Ich empfehle dringend den Einsatz von Marken-Rohlingen des Typs DVD-R. | |
− | + | *Die maximal mögliche Brenngeschwindigkeit sollte nicht ausgereizt werden. Die halbe Geschwindigkeit ist der Brennqualität durchaus förderlich | |
− | + | *Dieses Script verarbeitet keinen Dolby-Surround Ton (.ac3) | |
− | + | *Auf eine DVD passen maximal 4,4 GByte Daten. Mehr geht nicht! | |
− | + | Im zweiten Teil der DVB-Tetralogie wird auch Dolby-Ton verarbeitet. Dort wird dann auch ein Möglichkeit aufgezeigt werden, Filme zu schrumpfen, wenn sie zu lang für eine einzelne DVD sind. | |
− | |||
− | + | ==<font color="maroon"> Bedienungsanleitung </font>== | |
− | |||
− | |||
− | |||
− | |||
− | + | [[bild:Pjx_photo.png|thumb|right|Bedienoberfläche von ProjectX]] | |
− | + | *Aufnahme mit kaffeine | |
− | + | *Start des Bash-Scriptes in einem Terminal | |
+ | **Vom Script wird ProjectX gestartet | ||
+ | **Die zu bearbeitende Filmdatei auswählen (Plusknopf links unten) | ||
+ | **Schnittpunkt mit dem Slider oder den Spulknöpfen anfahren | ||
+ | **Schnittpunkt speichern (Plusknopf rechts neben den Spulknöpfen) | ||
+ | **Weiter mit dem nächsten Schnittpunkt | ||
+ | **Das Ergebnis kann an dem Farbbalken unter dem Vorschaufenster betrachtet werden (was rot ist, fliegt raus) | ||
+ | **Quickstart drücken | ||
+ | *Das Bearbeitungsergebnis befindet sich im Ordner ~/dvbscript_1/ergebnis | ||
+ | *Den Ordnerinhalt mit k3b als Daten-DVD brennen | ||
− | == | + | ==<font color="maroon"> Links </font>== |
− | + | In der Artikelübersicht ist eine ausführliche Linkliste enthalten: [[vom DVB zur DVD: Vorstellung der Wiki-Artikel in dieser Serie]] | |
− | [[ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
[[Multimedia|Zurück zur Multimedia-Übersicht]] | [[Multimedia|Zurück zur Multimedia-Übersicht]] | ||
+ | [[Category:Multimedia]] | ||
+ | [[Category:DVB-Weiterverarbeitung]] |
Aktuelle Version vom 9. Januar 2011, 15:36 Uhr
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 |
Inhaltsverzeichnis
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 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 oder 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 erzeugen wir mit einem Dateimanager unserer Wahl oder über das Terminal ein neues Verzeichnis, das ausschließlich der Aufnahme vorbehalten bleibt. Bei mir heißt das Verzeichnis:
~/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. 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 einige Verwaltungsdateien.
Und wie wird nun die DVD erstellt? Ganz einfach: AUDIO_TS (leer) und VIDEO_TS (samt Inhalt) werden auf die Scheibe gebrannt 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
Scriptcode
#!/bin/bash #++++++++++++++++++++++++++++Vom DVB zur DVD+++++++++++++++++++++++++++++++++++++++ #+++++++++++++++++++++++++++++Definition+++++++++++++++++++++++++++++++++++++++++++ export VIDEO_FORMAT=PAL #++++++++++++++++++++++++++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
Definition
export VIDEO_FORMAT=PAL
Das Videoformat wird mit der entsprechenden Umgebungsvariablen auf PAL festgezurrt (Ist für dvdauthor ab Version 0.7.0 von packman notwendig)
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 verwenden werden
-out ~/dvbscript_1/cache
Das Bearbeitungsergebnis kommt in diesen Arbeitsordner
-name
und erhält diesen Namen.
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.
Scriptstart
Wir öffnen ein Terminal und tippen dort den vollständigen Scriptnamen ein, also komplett mit Pfad und harren der Dinge, die nun kommen.
Brennen der DVD
Das Brennen kann mit k3b erledigt werden. Dazu verwenden wir den Modus
Daten-DVD brennen
Das Verzeichnis VIDEO_TS samt Inhalt und der leere Ordner AUDIO_TS werden nach k3b gezogen. Anschließend drücken wir den Knopf Brennen und warten auf das Ergebnis.
Das sollte beachtet werden
- Ich empfehle dringend den Einsatz von Marken-Rohlingen des Typs DVD-R.
- Die maximal mögliche Brenngeschwindigkeit sollte nicht ausgereizt werden. Die halbe Geschwindigkeit ist der Brennqualität durchaus förderlich
- Dieses Script verarbeitet keinen Dolby-Surround Ton (.ac3)
- Auf eine DVD passen maximal 4,4 GByte Daten. Mehr geht nicht!
Im zweiten Teil der DVB-Tetralogie wird auch Dolby-Ton verarbeitet. Dort wird dann auch ein Möglichkeit aufgezeigt werden, Filme zu schrumpfen, wenn sie zu lang für eine einzelne DVD sind.
Bedienungsanleitung
- Aufnahme mit kaffeine
- Start des Bash-Scriptes in einem Terminal
- Vom Script wird ProjectX gestartet
- Die zu bearbeitende Filmdatei auswählen (Plusknopf links unten)
- Schnittpunkt mit dem Slider oder den Spulknöpfen anfahren
- Schnittpunkt speichern (Plusknopf rechts neben den Spulknöpfen)
- Weiter mit dem nächsten Schnittpunkt
- Das Ergebnis kann an dem Farbbalken unter dem Vorschaufenster betrachtet werden (was rot ist, fliegt raus)
- Quickstart drücken
- Das Bearbeitungsergebnis befindet sich im Ordner ~/dvbscript_1/ergebnis
- Den Ordnerinhalt mit k3b als Daten-DVD brennen
Links
In der Artikelübersicht ist eine ausführliche Linkliste enthalten: vom DVB zur DVD: Vorstellung der Wiki-Artikel in dieser Serie