Projectx oder vom DVB zur DVD part 2
Dies ist der zweite Artikel der Trilogie "vom DVB zur DVD". In ihm wird vorgeschlagen, ProjectX als Schaltzentrale bei der Verarbeitung eines DVB-Streams zu einer Video-DVD zu verwenden
Eine Zusammenfassung der Trilogie ist zusammen mit der Weiterentwicklung des Scriptes hier zu finden: Vom DVB zur DVD, ein Wikibuch
Diese Beschreibung wurde mit folgenden Distributionen getestet: |
Opensuse 10.3 32Bit mit KDE 3.5.x |
Inhaltsverzeichnis
Einleitung
Dieser Artikel basiert auf dem Wiki-Beitrag vom DVB zur DVD. Es wird gezeigt, wie die dort angewandte Methode der Videobearbeitung vereinfacht und mit etwas Komfort versehen werden kann. Als Schaltzentrale wird projectx verwendet.
Notwendige Programme
Neben den im oben erwähnten Beitrag genannten Programmen wird benötigt:
Xdialog
Xdialog ist im Packman-Repository enthalten und kann mit Yast installiert werden.
Projectx
Projectx ist ein geniales Programm, um einen DVB-Stream für die Weiterverarbeitung zur Video-DVD vorzubereiten. Die Bedienung ist zwar etwas gewöhnungsbedürftig, was aber hauptsächlich an den vielfältigen Optionen liegen dürfte, die das Programm anbietet. Beläßt man es jedoch bei den Standardeinstellungen, fährt man im allgemeinen gar nicht so schlecht.
Vier Eigenschaften lassen das Tool für den angedachten Verwendungszweck besonders geeignet erscheinen.
Fehlerbereinigung
Kaum eine DVB-Aufnahme wird frei von Fehlern sein. Solche Fehler, wie zum Beispiel Dropouts, werden von projectx automatisch beim Demultiplexen so bereinigt, daß sie bei der DVD-Erstellung nicht mehr stören.
Synchronisieren von Audio und Video
Werden die Rohdaten eines DVB-Streams abgespielt, so wird man feststellen, daß ein Zeitversatz zwischen Bild und Ton vorhanden ist. Ein bis zwei Sekunden sind hier keine Seltenheit. Kommen noch Störungen durch Übertragungsfehler dazu, wird darüber hinaus dieser Zeitversatz über den gesamten Film nicht konstant sein. Projectx beseitigt beim Demultiplexen automatisch den Zeitversatz.
Schneiden des DVB-Streams
Ein DVB-Stream setzt sich prinzipiell aus immer wiederkehrenden Bildergruppen (GOP - group of pictures) unterschiedlichen Inhalts zusammen. Ein solches GOP besteht aus unterschiedlichen Arten von Frames:
Ein I-Frame enthält ein komplettes komprimiertes Bild. Ein P-Frame enthält die Änderungen zum I-Frame. Ein B-Frame füllt die Lücken.
Damit könnte ein GOP so aussehen: I B B B P B B B P B B B
Daraus wird ersichtlich, daß ein Schneiden des Streams zeitsparend nur an den I-Frames, also in unserem Beispiel an jedem zwölften Einzelbild möglich ist. Schneidet man am den P- oder B-Frames, ist eine mehr oder weniger aufwändige Neucodierung erforderlich, die natürlich Zeit benötigt.
Projectx bietet die Möglichkeit, an den I-Frames zu schneiden. Das ist für den Heimanwender zur Beseitigung von Werbung ausreichend genau.
Nachbearbeitung
Projectx kann ein externes Programm zur Nachbearbeitung des Streams starten. Dabei werden die Audio- und die Videodatei übergeben.
Zusammenfassung
Gerade die von projectx durchgeführte Fehlerbereinigung und Synchronisation lassen es angeraten erscheinen, den DVB-Stream erst mit diesem Programm zu bearbeiten, bevor ein anderes Tool gestartet wird.
Es darf nicht unerwähnt bleiben, daß das Schneiden mit projectx etwas Übung erfordert. Übung nicht deswegen, weil es schwierig wäre, sondern weil der Ton nicht zur Kontrolle mit abgespielt wird. Avidemux bietet hier mehr Komfort. Aber wie gesagt: Den Stream erst durch projectx jagen und dann mit avidemux weiterverarbeiten, um von vornherein mögliche Fehlerquellen auszuschließen.
Im hier vorgestellten Script wird der Schnitt mit projectx bevorzugt, da ein Großteil der Bearbeitung damit sozusagen "all in one" durchgeführt werden kann.
Grundeinstellungen
Diese Einstellungen müssen nur beim ersten Mal durchgeführt werden
Ordner
Folgende Ordnerstruktur wurde gewählt, um die Bearbeitung übersichtlich zu halten und eine einfache Erweiterung zu gewährleisten:
/filmbearbeitung /filmbearbeitung/tmp /filmbearbeitung/scripte /filmbearbeitung/aufnahme /filmbearbeitung/dvdstruktur /filmbearbeitung/initfile
Einstellung der Programme
Mit der vorgestellten Ordnerstruktur ist die Einstellung der verwendeten Programme vorgegeben
kaffeine
Aufnahmepfad festlegen
kaffeine - DVB -DVB einrichten - Aufnahme - Aufnahmenverzeichnis: /filmbearbeitung/aufnahme
projectx
Ausgabepfad festlegen
projectx - Liste der Ausgabepfade (rechts unten im Fenster) - /filmbearbeitung/tmp
Einstellen: demultiplex
projectx - anpassen - demultiplex
Einstellen: Programm nach Ausführung nicht beenden
projectx - anpassen - Datei - Programm nach Ausführung beenden nicht auswählen
Einstellen: Nachbearbeitung
projectx - anpassen - Bearbeiten - Nachbearbeitung aktivieren auswählen
Einstellen: Externes Programm für Nachbearbeitung
projectx - Einstellungen - Einstellungen - Nachbearbeitung - Nachbearbeitung demultiplex - /filmbearbeitung/demultiplex.sh &0
Einstellen: Einstellungen nach Beendigung speichern
projectx - Einstellungen - Einstellungen beim Beenden speichern auswählen
dvdauthor
xlm-Datei erstellen (Neue Textdatei: /filmbearbeitung/initfile/dvdauthor.xml)
<dvdauthor> <vmgm /> <titleset> <titles> <pgc> <vob file="/filmbearbeitung/tmp/film.mpg" /> </pgc> </titles> </titleset> </dvdauthor>
Script
Es ist ein Shellscript folgenden Inhalts zu erstellen und unter dem Namen demultiplex.sh im Ordner /filmbearbeitung/scripte abzuspeichern. Das Script ist ausführbar zu machen.
#!/bin/sh #Dieses Script wird von projectx nach dem Demultiplexen automatisch gestartet #Zielordner leeren rm /filmbearbeitung/dvdstruktur/AUDIO_TS/* rm /filmbearbeitung/dvdstruktur/VIDEO_TS/* rmdir /filmbearbeitung/dvdstruktur/AUDIO_TS rmdir /filmbearbeitung/dvdstruktur/VIDEO_TS #Multiplexen ankündigen Xdialog --no-buttons --infobox "Multiplexen" 10 100 2000 #Überprüfung, ob ac3 und mp2 file vorhanden ist und mplex entsprechend starten. if [ -e /filmbearbeitung/tmp/*.mp2 -a -e /filmbearbeitung/tmp/*.ac3 ] then /usr/bin/mplex -f8 -o /filmbearbeitung/tmp/film.mpg "$1" "$2" "$3" else /usr/bin/mplex -f8 -o /filmbearbeitung/tmp/film.mpg "$1" "$2" fi #DVD-Struktur erstellen Xdialog --no-buttons --infobox "Erstellen der DVD-Struktur" 10 100 2000 /usr/bin/dvdauthor -o /filmbearbeitung/dvdstruktur -x /filmbearbeitung/initfiles/dvdauthor.xml #Bearbeitung fertig Xdialog --msgbox "Bereit zum Brennen Die DVD-Struktur befindet sich in /filmbearbeitung/dvdstruktur" 10 100 #Inhalt des Arbeitsordners löschen rm /filmbearbeitung/tmp/* #Projectx beenden pkill -P `pgrep projectx.sh`
Bedienungsanleitung
1. Film aufnehmen mit kaffeine 2. Projectx starten, den aufgenommenen Film auswählen, schneiden, Quickstart drücken 3. Die DVD-Struktur mit k3b als Video-DVD brennen
Weiterführende Informationen
vom DVB zur DVD und die dort enthaltene Linkliste
Die zum Zeitpunkt der Erstellung dieses Artikels existierende Standardversion von projectx (0.90.4.00) unterstützt in der Nachbearbeitungszeile keine zusammengesetzten Befehle. Das erschwert eine eventuell notwendige Fehlersuche bei der Erstellung des Scripts. Dieses Manko existiert in der aktuellen CVS-Version nicht mehr (0.90.4.23).
Zusätzliche Links
Xdialog http://xdialog.free.fr/