Vom DVB zur DVD: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Trilogie --> Tetralogie + Verweis auf Linkliste)
(Komplettüberarbeitung und Aktualisierung (Baustelle))
Zeile 1: Zeile 1:
 +
{{UnderConstruction}}
 
{{blau|
 
{{blau|
 
Dies ist der erste Artikel der Tetralogie "vom DVB zur DVD". <br>
 
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.}}
 
Es wird erklärt, was getan werden kann, damit diese Aufnahme, auf DVD gebrannt, in einem Stand-alone-Player abspielbar ist.}}
 
  
 
{{Box Test||
 
{{Box Test||
Opensuse 10.3 32Bit mit KDE 3.5.7
+
Opensuse 11.1 32Bit mit KDE 4.x
 
}}
 
}}
  
Zeile 27: Zeile 27:
 
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"> Notwendige Programme </font>==
+
==<font color="maroon"> Welche Programme sind nötig? </font>==
  
 
  kaffeine:    Aufnahme und Wiedergabe
 
  kaffeine:    Aufnahme und Wiedergabe
  libxine1:    Player-Engine, Packman-Version von Xine
+
  libxine1:    Player-Engine, Packman-Version von xine
  projectx:    Schnitt, Synchronisation, Fehlerbereinigung, Demultiplexen
+
  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
qdvdauthor:  GUI für dvdauthor
+
  k3b:       Brennen
  k3b:         Brennen
 
 
  lxdvdrip:    Requantisieren
 
  lxdvdrip:    Requantisieren
  
Die Quelle der Programmpakete sollte Packman sein. Desweiteren sollte vorher getestet werden, ob die Programme auch einzeln funktionieren.
+
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.
 +
 
 +
==<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 wollwn, 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.
 +
Aufnahmedauer:        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:
 +
~/Aufnahme
 +
Bleibt noch, kaffeine mitzuteilen, daß es seine Aufnahmen in diesem Ordner ablegen soll:
 +
Aufnahmeordner:        DVB - DVB einrichten - Aufnahme - Aufnahmen-Verzeichnis:    ~/Aufnahme
  
==<font color="maroon"> Kurzübersicht </font>==
+
==<font color="maroon"> Die Verarbeitung </font>==
Die gewünschte Fernsehsendung wird mit '''Kaffeine''' aufgenommen. '''Projectx''' hilft anschließend dabei, die Werbung herauszuschneiden. Das Ergebnis
 
wird demultiplext, also in Bild- und Ton-Dateien zerlegt. Der nächste Schritt ist das Zusammensetzten von Bild und Ton zu einer mpg-Datei, wobei '''mplex''' zum Einsatz
 
kommt. '''Dvdauthor''' erstellt dann aus dieser Datei die DVD-Struktur. Und diese Struktur wird mit '''k3b''' auf einen Datenträger gebrannt.
 
 
Die Bearbeitungsschritte können einzeln von Hand ausgeführt werden. Dazu müssen die jeweiligen Programme mit den korrekten Parametern gestartet werden.
 
Dieses Vorgehen ist sogar sehr zu empfehlen, um ein Verständnis dafür zu bekommen, was da eigentlich passiert.
 
Nach dieser Lernphase kann dann dazu übergegangen werden, das Ganze zu automatisieren.
 
  
Das im folgenden dargestellte Shellscript stellt einen solchen Automatismus dar.
+
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:
  
==<font color="maroon"> Vorarbeiten (einmalig) </font>==
+
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.
  
Es werden einige Arbeitsordner benötigt, die von Nutzer erstellt werden müssen. Es bleibt der Phantasie des Anwenders überlassen, wie diese genannt
+
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.
und wo sie abgespeichert werden. In unserem Script lauten sie so:
 
  
''Aufnahmeordner'':        /daten/videos/aufnahme
+
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.
''Cacheordner'':          /daten/videos/bearbeiten/Cache
 
''Zielordner'':            /daten/videos/bearbeiten/ZielDVD
 
''Konfigurationsordner'':  /daten/videos/Scripte
 
  
Diese Arbeitsordner sollten ausschließlich der Arbeit mit dem Script vorbehalten sein! Lediglich der ''Aufnahmeordner'' kann frei verwendet werden.
+
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.
  
==<font color="maroon"> Aufnahme mit kaffeine </font>==
+
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, daer von einer Audio-DVD belegt werden würde. Interessiert uns aber nicht, denn wir wollen ja fernsehen! Und wo sich der Film befindet, das ist nun sonnenklar: Ja, im Verzeichnis VIDEO_TS und zwar in multiplexter Form, augeteilt in verwertbare Häppchen. Zusätzlich befinden sich in diesem Ordner noch einige Verwaltungsdateien.
Als bevorzugtes Programm für die Aufnahme und Wiedergabe von DVB-s-Streams kommt kaffeine zur Anwendung.
 
  
===Grundeinstellungen in kaffeine (einmalig)===
+
Und wie wird nun die DVD erstellt? Ganz einfach: AUDIO_TS (leer) und VIDEO_TS (samt Inhalt) auf die Scheibe brennen und fertig!
Aufnahmeordner:        DVB - DVB einrichten - Aufnahme - Aufnahmen-Verzeichnis:    Pfad zum ''Aufnahmeordner'' angeben
 
Aufnahmedauer:        DVB - DVB einrichten - Aufnahme - Sofortaufnahmedauer:      600min (Das reicht auch dann noch, wenn mal länger überzogen wird)
 
  
===Aufnahmestart===
+
Okay, das Alles noch einmal in der Zusammenfassung:
*Fernsehsender auswählen
+
Aufnahme mit kaffeine ==> film.m2t
*Sofortaufnahme drücken
+
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)
 +
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 Shellscript </font>==
+
==<font color="maroon"> Das Bash-Script </font>==
Mit Hilfe dieses Scrips wird der Vorgang der Videobearbeitung weitgehend automatisiert.
 
  
 
===Scriptname===
 
===Scriptname===
Beliebig (Beispiel: projectx_start.sh). Die Endung des Namens sollte .sh lauten.
+
Beliebig, zum Beispiel:
 +
dvb_verarbeitung_1
 +
Das Bash-Script muß ausführbar gemacht werden: Rechtsklick - Eigenschaften - Berechtigungen - Ausführbar
  
 
===Scriptstart===
 
===Scriptstart===
Das Shellscript muß ausführbar gemacht werden: Rechtsklick - Eigenschaften - Berechtigungen - Ausführbar
+
Ein Terminal öffnen, dort den Scriptnamen eintippen und auf Enter drücken!
  
Nun genügt ein Mausklick, um das Script zu starten. Alternativ kann ein Terminal geöffnet werden, in dem der Scriptname eingegeben wird.
+
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/sh
+
  #!/bin/bash
 +
 
 +
#++++++++++++++++++++++++++++Vom DVB zur DVD+++++++++++++++++++++++++++++++++++++++
 
   
 
   
  #++++++++++++++++++++++++++++Vom DVB zur DVD+++++++++++++++++++++++++++++++++++++++
+
  #++++++++++++++++++++++++++Ordnerstruktur erzeugen+++++++++++++++++++++++++++++++++
 +
if [ ! -e ~/dvbscript_1 ]
 +
then
 +
  mkdir ~/dvbscript_1
 +
  mkdir ~/dvbscript_1/cache
 +
  mkdir ~/dvbscript_1/ini
 +
  mkdir ~/dvbscript_1/ergebnis
 +
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
 +
 +
#++++++++++++++++++++++++++X.ini erzeugen+++++++++++++++++++++++++++++++++++++++++++
 
   
 
   
  #+++++++++++++++++++++++++++++Cache leeren+++++++++++++++++++++++++++++++++++++++++
+
  echo \
  rm /daten/videos/bearbeiten/Cache/*.*
+
"# Application
 +
Application.Agreement=1
 +
  Application.Language=de
 
   
 
   
  #++++++++++++++++++++++++++Zielordner leeren+++++++++++++++++++++++++++++++++++++++
+
  # OptionPanel
  rm /daten/videos/bearbeiten/ZielDVD/VIDEO_TS/*
+
  OptionPanel.NormalLog=0
  rm /daten/videos/bearbeiten/ZielDVD/AUDIO_TS/*
+
  OptionPanel.closeOnEnd=1" \
rmdir /daten/videos/bearbeiten/ZielDVD/VIDEO_TS
+
  > ~/dvbscript_1/ini/X.ini
  rmdir /daten/videos/bearbeiten/ZielDVD/AUDIO_TS
 
 
   
 
   
 
  #+++++++++++++++++++++++++Ausführung projectx++++++++++++++++++++++++++++++++++++++
 
  #+++++++++++++++++++++++++Ausführung projectx++++++++++++++++++++++++++++++++++++++
 
  #++++++(Quelle auswählen - Schneiden - Demultiplexen - Ziel festlegen)+++++++++++++
 
  #++++++(Quelle auswählen - Schneiden - Demultiplexen - Ziel festlegen)+++++++++++++
  /usr/bin/projectx.sh
+
  java -jar /usr/share/java/ProjectX.jar -demux -gui -ini ~/dvbscript_1/ini/X.ini -out ~/dvbscript_1/cache -name film
 
   
 
   
 
  #+++++++++++++++++++++++++++++Multiplexen+++++++++++++++++++++++++++++++++++++++++++
 
  #+++++++++++++++++++++++++++++Multiplexen+++++++++++++++++++++++++++++++++++++++++++
  /usr/bin/mplex -f8 /daten/videos/bearbeiten/Cache/*.mp2 /daten/videos/bearbeiten/Cache/*.m2v -o /daten/videos/bearbeiten/Cache/clip.mpg
+
  /usr/bin/mplex -f8 ~/dvbscript_1/cache/*.mp2 ~/dvbscript_1/cache/*.m2v -o ~/dvbscript_1/cache/film.mpg
+
 
 
  #++++++++++++++++++++++++++Authoring ohne DVD-Menue+++++++++++++++++++++++++++++++++
 
  #++++++++++++++++++++++++++Authoring ohne DVD-Menue+++++++++++++++++++++++++++++++++
  /usr/bin/dvdauthor -o /daten/videos/bearbeiten/ZielDVD -x /daten/videos/Scripte/dvdauthor.xml
+
  /usr/bin/dvdauthor -o ~/dvbscript_1/ergebnis -t ~/dvbscript_1/cache/film.mpg
+
  /usr/bin/dvdauthor -o ~/dvbscript_1/ergebnis -T
#++++++++++++++++++++++++++++Öffnen Brennprogramm+++++++++++++++++++++++++++++++++++
 
  /opt/kde3/bin/k3b
 
 
   
 
   
 
  #+++++++++++++++++++++++++++++++Script Ende+++++++++++++++++++++++++++++++++++++++++
 
  #+++++++++++++++++++++++++++++++Script Ende+++++++++++++++++++++++++++++++++++++++++
 +
kdialog --msgbox "ende"
 
  exit 0
 
  exit 0
 
Die hier genannten Programmpfade beziehen sich auf die 32Bit-Version von OpenSuse 10.3 mit KDE 3.5.7. Bei anderen Versionen ist das Script entsprechend anzupassen.
 
 
===Erläuterungen zum Code===
 
 
*Cache leeren:                    Definierter Anfangszustand.
 
*Zielordner leeren:              Muß sein, da sonst immer neue Dateien im ''Zielordner'' - VIDEO_TS hinzugefügt werden. Das ergibt dann eine nicht
 
                                  lesbare DVD.
 
*Videoschnitt und Demultiplexen:  projectx. Es handelt sich um ein Java-Programm und wird gestartet mit dem Script: projectx.sh
 
*Multiplexen:                    mplex
 
*Authoren:                        dvdauthor. Erstellen der DVD-Struktur
 
*Brennen:                        k3b wird automatisch gestartet. Die Eingaben erfolgen dann von Hand, um überprüfen zu können, was da auf die DVD 
 
                                  geschaufelt werden soll.
 
 
==<font color="maroon"> Die Bearbeitungsschritte im Einzelnen </font>==
 
 
===Projectx===
 
Geniales Programm für die Weiterverarbeitung von DVB-Streams. Hier wird es zum Schneiden und Demultiplexen des aufgenommenen TS-Streams verwendet.
 
Beim Demultiplexen werden Bild und Ton zusätzlich noch synchronisiert und es werden kleinere Fehler (Dropouts) behoben.
 
 
====<font color="gray"> Installation </font>====
 
 
ProjectX ist im Repository von Packman enthalten und kann demnach einfach mit Yast installiert werden. Damit hat man dann die stabile Grundversion dieses Programms auf der Festplatte.
 
 
Wer es sich zutraut, dieses Programm selbst zu kompilieren, dem wird ein Blick auf die CVS-Version von ProjectX empfohlen. Wie diese CVS-Version installiert werden kann, habe ich  hier beschrieben: [[Projectx]]
 
 
====<font color="gray"> Grundeinstellungen in projectx (Einmalig) </font>====
 
*Einstellungen - Einstellungen:    beim Beenden speichern                          Einmal vorgenommene Einstellungen bei jedem Programmstart verwenden
 
*Liste der Ausgabepfade:          ''Cacheordner'' angeben                            Einer der Arbeitsordner
 
*Prozess - anpassen - Aktion:      demultiplex                                    Was soll das Programm machen
 
*Prozess - anpassen --> Prozessfenster - Datei: Programm nach Ausführung beenden  Damit es im Script weitergehen kann
 
 
====<font color="gray"> Quelldatei (vom Anwender einzugeben) </font>====
 
*Datei - Hinzufügen - "Das aus dem Aufnahmeordner, was bearbeitet werden soll"
 
 
====<font color="gray"> Schneiden </font>====
 
Es handelt sich hierbei um keinen Frame-genauen Schnitt. Die Genauigkeit ist aber durchaus ausreichend für den Heimanwender.
 
 
*Mit dem Laufbalken den ersten Schnittpunkt grob anwählen
 
*Mit den Vor- Zurückspultasten den genauen Schnittpunkt anfahren
 
*Nun den Button "+" drücken
 
Damit ist der erste Schnittpunkt festgelegt und für die weiteren Schnittpunkte kann genauso verfahren werden.
 
Mit dem Button "+" wird jeweils ein neuer Schnittpunkt gesetzt, mit dem Button "-" wird ein Schnittpunkt entfernt.
 
Zur Kontrolle dient letzendlich der Laufbalken: rot, was herausgeschnitten wird, grün, was drin bleibt.
 
 
Eine interessante Einführung in die Grundlagen des Schneidens von mpeg-Streams läßt sich [[http://www.radonmaster.de/robernd/tMPEG.html hier]] nachlesen.
 
 
====<font color="gray"> Bearbeitung starten </font>====
 
*Quickstart drücken
 
 
====<font color="gray"> Bearbeitungsergebnis </font>====
 
Es werden zwei Dateien erstellt:
 
*Bilddatei: Cacheordner/xxx.m2v
 
*Tondatei: Cacheordner/yyy.mp2
 
 
Der Bearbeitungsfortschritt kann am Bildschirm verfolgt werden. Das Programm beendet sich schließlich von selbst, was dazu führt, daß im Script der nächste
 
Schritt ausgeführt wird.
 
 
===mplex===
 
Hiermit wird die Bild- und die Tondatei wieder zu einem .mpg-Stream zusammengefasst. Dieser Stream hat nun ein Format, welches von einem Authoring-Programm
 
weiter bearbeitet werden kann.
 
 
====<font color="gray"> Eingangsdateien </font>====
 
*Bild: Cacheordner/xxx.m2v
 
*Ton: Cacheoedner/xxx.mp2
 
 
====<font color="gray"> Ausgangsdatei </font>====
 
*Cacheordner/clip.mpg
 
 
===dvdauthor===
 
Dieses Kommandozeilenprogramm erstellt die fertige DVD-Struktur.
 
 
====<font color="gray"> Die DVD-Struktur </font>====
 
Damit eine Video-DVD von einem Abspielgerät auch gelesen werden kann, muß sie eine bestimmte Verzeichnisstruktur aufweisen:
 
*AUDIO_TS: Dieser Ordner ist nur wegen der Kompatibilität zur Audio-DVD vorhanden und leer.
 
*VIDEO_TS: Hier sind die Bild und Tonsignale gespeichert, dazu einige Verwaltungsdateien.
 
 
====<font color="gray"> Das DVD-Menue </font>====
 
Mit dvdauthor läßt sich auch ein DVD-Menue erstellen. Darauf wird hier jedoch verzichtet, was bedeutet, daß der Film sofort startet, wenn die DVD eingelegt wird.
 
Sollte dennoch ein Menue gewünscht werden, so sei auf qdvdauthor als graphische Benutzeroberfläche von dvdauthor verwiesen.
 
 
====<font color="gray"> xml-Datei(Einmalig) </font>====
 
Mit folgender Konfigurationsdatei wird dvdauthor eine DVD-Struktur ohne Menue erstellen. Sie erhält den Namen: dvdauthor.xml und wird im ''Konfigurationsordner''
 
gespeichert.
 
 
<dvdauthor>
 
    <vmgm />
 
    <titleset>
 
        <titles>
 
            <pgc>
 
                <vob file="/daten/videos/bearbeiten/Cache/clip.mpg" />
 
            </pgc>
 
        </titles>
 
    </titleset>
 
</dvdauthor>
 
 
====<font color="gray"> Quelldatei </font>====
 
*Cacheordner/clip.mpg
 
 
====<font color="gray"> Zieldateien </font>====
 
*Zielordner/AUDIO_TS
 
*Zielordner/VIDEO_TS
 
 
===lxdvdrip===
 
Es ist das Vorrecht einer 4,7GB DVD, daß sie nicht mehr als 4,4GB Platz für das Brennen zur Verfügung stellt. Es gibt aber durchaus Filme, die etwas länger sind und deshalb mehr Speicherplatz benötigen.
 
Hier kommt lxdvdrip ins Spiel.
 
Dieses Programm ript eine fertige DVD-Struktur und und requantisiert diese so, daß sie doch noch auf einer DVD Platz findet. Sollte der Unterschied nicht zu groß sein, ist das ein durchaus annehmbares Mittel.
 
 
Es lohnt also, einen Blick auf den VIDEO_TS-Ordner in k3b zu werfen. Sollte der zu groß sein, ist lxdvdrip der Kandidat des Tages.
 
 
Es wird dann folgender Befehl in ein Terminal eingegeben:
 
lxdvdrip -dl="/daten/videos/bearbeiten/ZielDVD"
 
Eventuelle Fragen des Programms sind sinnvoll zu beantworten. Das Ergebnis findet man dann im Ordner /tmp/film-dvd. Von hier kann der VIDEO_TS-Ordner
 
nach k3b gezogen werden.
 
 
===k3b===
 
Dieses Programm wird zum Brennen der DVD verwendet. Es wird im Script nur gestartet. Der Rest hat von Hand zu erfolgen.
 
 
*Auswählen: Neue Video-DVD
 
*Aus dem ''Zielordner'' den Ordner VIDEO_TS auf "k3b data project" ziehen
 
*DVD einlegen, so es noch nicht geschehen ist
 
*Auf Brennen Drücken
 
*Nach der Fertigstellung k3b beenden
 
 
==<font color="maroon"> Nachbetrachtung </font>==
 
Dieser doch recht komplexe Vorgang reduziert sich also auf ein paar "Bewegungen" mit der Maus. Alles, was gefordert wird, ist Geduld. Denn die Rechenzeit für einen 2 Stunden-Film kann durchaus 10 bis 20min betragen. Und wenn der Rechner etwas schwächer ist, sind auch längere Zeiten einzukalkulieren.
 
Will man im Groben darüber informiert sein, wie der Bearbeitungsstand ist, so kann das Script in einer Konsole gestartet werden. Ansonsten, grenzenloses Vertrauen vorausgesetzt, genügt ein Klick mit der Maus auf den Scriptnamen.
 
  
 
==<font color="maroon"> Links </font>==
 
==<font color="maroon"> Links </font>==

Version vom 2. November 2009, 23:09 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ß 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.

Die Aufnahme

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 wollwn, 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.

Aufnahmedauer:         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:

~/Aufnahme

Bleibt noch, kaffeine mitzuteilen, daß es seine Aufnahmen in diesem Ordner ablegen soll:

Aufnahmeordner:        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. Also:

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.

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.

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.

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.

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, daer von einer Audio-DVD belegt werden würde. Interessiert uns aber nicht, denn wir wollen ja fernsehen! Und wo sich der Film befindet, das ist nun sonnenklar: Ja, im Verzeichnis VIDEO_TS und zwar in multiplexter Form, augeteilt in verwertbare Häppchen. Zusätzlich befinden sich in diesem Ordner noch einige 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)

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.

Das Bash-Script

Scriptname

Beliebig, zum Beispiel:

dvb_verarbeitung_1

Das Bash-Script muß ausführbar gemacht werden: Rechtsklick - Eigenschaften - Berechtigungen - Ausführbar

Scriptstart

Ein Terminal öffnen, dort den Scriptnamen eintippen und auf Enter drücken!

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: [[1]]

Scriptcode

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

#++++++++++++++++++++++++++Ordnerstruktur erzeugen+++++++++++++++++++++++++++++++++
if [ ! -e ~/dvbscript_1 ]
then
  mkdir ~/dvbscript_1
  mkdir ~/dvbscript_1/cache
  mkdir ~/dvbscript_1/ini
  mkdir ~/dvbscript_1/ergebnis
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

#++++++++++++++++++++++++++X.ini erzeugen+++++++++++++++++++++++++++++++++++++++++++

echo \
"# Application
Application.Agreement=1
Application.Language=de

# OptionPanel
OptionPanel.NormalLog=0
OptionPanel.closeOnEnd=1" \
> ~/dvbscript_1/ini/X.ini

#+++++++++++++++++++++++++Ausführung projectx++++++++++++++++++++++++++++++++++++++
#++++++(Quelle auswählen - Schneiden - Demultiplexen - Ziel festlegen)+++++++++++++
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 ohne DVD-Menue+++++++++++++++++++++++++++++++++
/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

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