Projectx oder vom DVB zur DVD part 2

Aus Linupedia.org
Version vom 4. Februar 2009, 18:38 Uhr von Escho (Diskussion | Beiträge) (Trilogie --> Tetralogie + Hinweis auf Linkliste + Einleitung anpassen)
Wechseln zu: Navigation, Suche

Dies ist der zweite Artikel der Tetralogie "vom DVB zur DVD".
Es wird gezeigt, wie die im ersten Artikel vorgestellte Methode zur Videoverarbeitung vereinfacht und mit etwas mehr Komfort versehen werden kann. Dabei rückt ProjextX in eine zentrale Rolle.


Diese Beschreibung wurde mit folgenden Distributionen getestet:

Opensuse 10.3 32Bit mit KDE 3.5.x


Notwendige Programme

Neben den im ersten Artikel 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).

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