Vom DVB zur DVD: Unterschied zwischen den Versionen
Escho (Diskussion | Beiträge) (Vorwort und Link hinzugefügt) |
Escho (Diskussion | Beiträge) (Box Achtung entfernt) |
||
Zeile 3: | Zeile 3: | ||
{{Box Test|| | {{Box Test|| | ||
Opensuse 10.3 32Bit mit KDE 3.5.7 | Opensuse 10.3 32Bit mit KDE 3.5.7 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
Version vom 14. Mai 2008, 21:20 Uhr
Diese Anleitung erklärt, wie eine DVB-Aufnahme bearbeitet wird, um dann, auf DVD gebrannt, am Stand-alone-Player abspielbar zu sein.
Diese Beschreibung wurde mit folgenden Distributionen getestet: |
Opensuse 10.3 32Bit mit KDE 3.5.7 |
Inhaltsverzeichnis
Vorwort
Die neueste Version des Scripts, die auch weiter gepflegt wird, findet sich im letzten Teil dieser Trilogie: Das Script oder vom DVB zur DVD part 3. Ich kann aber nur empfehlen, auch diesen Artikel hier und den zweiten Teil der Trilogie einmal durchzulesen. Man erfährt doch einiges Wissenswertes zum den Themen DVB und DVD. Und man sieht, wie ein Script mit der Erfahrung und der Experimentierfreudigkeit des Autors wachsen kann.
Diese Trilogie ist auch als Einstieg in die Programmierung von Shellscripts gedacht, als Beispiel, was alles mit Hilfe von so einer Kommandozeile angestellt werden kann.
Viel Spass also bei der Lektüre der Texte und beim Experimentieren.
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:
Notwendige Programme
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 qdvdauthor: GUI für dvdauthor k3b: Brennen lxdvdrip: Requantisieren
Die Quelle der Programmpakete sollte Packman sein. Desweiteren sollte vorher getestet werden, ob die Programme auch einzeln funktionieren.
Kurzübersicht
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.
Vorarbeiten (einmalig)
Es werden einige Arbeitsordner benötigt, die von Nutzer erstellt werden müssen. Es bleibt der Phantasie des Anwenders überlassen, wie diese genannt und wo sie abgespeichert werden. In unserem Script lauten sie so:
Aufnahmeordner: /daten/videos/aufnahme 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.
Aufnahme mit kaffeine
Als bevorzugtes Programm für die Aufnahme und Wiedergabe von DVB-s-Streams kommt kaffeine zur Anwendung.
Grundeinstellungen in kaffeine (einmalig)
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) Aufnahmeformat: DVB - DVB einrichten - Aufnahme - Bevorzugtes Format: TS (läßt sich prima weiterverarbeiten)
Aufnahmestart
- Fernsehsender auswählen
- Sofortaufnahme drücken
Das Shellscript
Mit Hilfe dieses Scrips wird der Vorgang der Videobearbeitung weitgehend automatisiert.
Scriptname
Beliebig (Beispiel: projectx_start.sh). Als Speicherort kann der Konfigurationsordner verwendet werden. Die Endung des Namens sollte .sh lauten.
Scriptstart
Das Shellscript muß ausführbar gemacht werden: Rechtsklick - Eigenschaften - Berechtigungen - Ausführbar
Nun genügt ein Mausklick, um das Script zu starten. Alternativ kann ein Terminal geöffnet werden, in dem der Scriptname eingegeben wird.
Scriptcode
#!/bin/sh #++++++++++++++++++++++++++++Vom DVB zur DVD+++++++++++++++++++++++++++++++++++++++ #+++++++++++++++++++++++++++++Cache leeren+++++++++++++++++++++++++++++++++++++++++ rm /daten/videos/bearbeiten/Cache/*.* #++++++++++++++++++++++++++Zielordner leeren+++++++++++++++++++++++++++++++++++++++ rm /daten/videos/bearbeiten/ZielDVD/VIDEO_TS/* rm /daten/videos/bearbeiten/ZielDVD/AUDIO_TS/* rmdir /daten/videos/bearbeiten/ZielDVD/VIDEO_TS rmdir /daten/videos/bearbeiten/ZielDVD/AUDIO_TS #+++++++++++++++++++++++++Ausführung projectx++++++++++++++++++++++++++++++++++++++ #++++++(Quelle auswählen - Schneiden - Demultiplexen - Ziel festlegen)+++++++++++++ /usr/bin/projectx.sh #+++++++++++++++++++++++++++++Multiplexen+++++++++++++++++++++++++++++++++++++++++++ /usr/bin/mplex -f8 /daten/videos/bearbeiten/Cache/*.mp2 /daten/videos/bearbeiten/Cache/*.m2v -o /daten/videos/bearbeiten/Cache/clip.mpg #++++++++++++++++++++++++++Authoring ohne DVD-Menue+++++++++++++++++++++++++++++++++ /usr/bin/dvdauthor -o /daten/videos/bearbeiten/ZielDVD -x /daten/videos/Scripte/dvdauthor.xml #++++++++++++++++++++++++++++Öffnen Brennprogramm+++++++++++++++++++++++++++++++++++ /opt/kde3/bin/k3b #+++++++++++++++++++++++++++++++Script Ende+++++++++++++++++++++++++++++++++++++++++ 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.
Die Bearbeitungsschritte im Einzelnen
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.
Grundeinstellungen in projectx (Einmalig)
*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
Quelldatei (vom Anwender einzugeben)
*Datei - Hinzufügen - "Das aus dem Aufnahmeordner, was bearbeitet werden soll"
Schneiden
Es handelt sich hierbei um keinen Frame-genauen Schnitt. Die Genauigkeit ist aber durchaus ausreichend für den Heimanwender. Es wird selten passieren, daß man sieht, wo die Werbung herausgeschnitten wurde. Es muß allerdings auch gesagt werden, daß das Schneiden mit projectx einige Übung voraussetzt. Nicht, weil es sonst nicht funktioniert, sondern damit es flott von der Hand geht!
*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 [hier] nachlesen.
Bearbeitung starten
*Quickstart drücken
Bearbeitungsergebnis
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.
Eingangsdateien
*Bild: Cacheordner/xxx.m2v *Ton: Cacheoedner/xxx.mp2
Ausgangsdatei
*Cacheordner/clip.mpg
dvdauthor
Dieses Kommandozeilenprogramm erstellt die fertige DVD-Struktur.
Die DVD-Struktur
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.
Das DVD-Menue
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.
xml-Datei(Einmalig)
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>
Quelldatei
*Cacheordner/clip.mpg
Zieldateien
*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 sich 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
Nachbetrachtung
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.
Vereinfachung
Projectx oder vom DVB zur DVD part 2
Links
packman http://packman.links2linux.de/ kaffeine http://kaffeine.kde.org/ xine http://xinehq.de/ mjpegtools http://mjpeg.sourceforge.net/ dvdauthor http://dvdauthor.sourceforge.net/doc/index.html qdvdauthor http://qdvdauthor.sourceforge.net/ lxdvdrip http://developer.berlios.de/projects/lxdvdrip/ k3b http://www.k3b.org/ schneiden http://www.radonmaster.de/robernd/tMPEG.html