Video-DVDs selbst herstellen

Aus LinuxUser 01/2003

Video-DVDs selbst herstellen

Selbstgebrannt

Video-DVDs in Eigenregie herzustellen, ist der Traum vieler Hobby-Filmemacher. Bislang konnte man unter Linux gebrannte DVDs nur auf dem PC abspielen – mit DVD-Author schluckt jedoch jeder DVD-Player die selbstgebrannten Videos.

Für die Film-Archivierung bietet die DVD einige Vorteile. Trotzdem sie deutlich kompakter ist als eine herkömmliche VHS-Kassette, lassen sich je nach Qualität dennoch mehrere Stunden Filmmaterial darauf speichern. Für Hobby-Filmemacher gab es bislang einen entscheidenden Nachteil: Mit Linux ließen sich nur Daten-DVDs erzeugen, für deren Wiedergabe ein Computer erforderlich war – DVD-Author [1] von Scott Smith schließt die Lücke.

Die schlechte Nachricht vorweg: Wer davon träumt, eine DVD à la Der Schuh des Manitu mit interaktiven Menüs und Verweisen zu bauen, muss sich noch gedulden. In der Version 0.3.0 von dvdauthor, die wir Ihnen hier vorstellen wollen, können zunächst nur einzelne Tracks ohne Menü zu einer DVD zusammengefasst werden. Ziel des Projekts ist aber, ein vollwertiges Video-DVD-Werkzeug für Linux zu entwickeln. Die Programme dafür sind insgesamt noch sehr rustikal, auch gibt es noch keinerlei Frontends, man muss eben mit der Konsole vorlieb nehmen.

Wir gehen davon aus, dass im Rechner ein DVD-Brenner eingebaut ist und die nötige Recorder-Software installiert wurde. Details dazu finden Sie im Laufwerkstest ab Seite 25. Zudem wird unbedingt mkisofs 1.15a27 oder höher benötigt – in der aktuellen SuSE 8.1 ist das Programm bereits enthalten, Besitzer anderer Distributionen finden es im Paket dvdrtools auf [3].

Filme aufnehmen

Bei Aufnahmen für Video-DVDs kann ruhig die volle Fernseh-Auflösung von 720×576 Pixeln aufgezeichnet werden, Platzprobleme wie bei der VCD oder SVCD gibt es eigentlich nicht. Das folgende Beispiel nimmt einen 1:15 Stunden langen Film mit voller Auflösung und 25 Bildern pro Sekunde auf, der Ton wird zudem in Stereo aufgenommen, das Eingangsbild ist PAL, und gespeichert wird im yuv2mpev-Format. Die Bilder landen in der Datei /image/cap.yuv, der Ton als Wave-Datei in /image/cap.wav:

streamer -o aufnahme.yuv -O aufnahme.wav -f 4mpeg -F stereo -r 25 -s 720x576 -n pal -i Composite1 -t 01:15:00 >streamer.log 2>&1

Das Datenaufkommen im nicht gepackten YUV-Format ist erheblich, etwa vier mal so groß wie ein entsprechender VCD-Film. Weniger Platz braucht das mjpeg-AVI-Format, das komprimiert wird. Damit bekommt man “nur” rund 2,64 MB pro Sekunde auf die Festplatte geschrieben. Dieses Format brauchen Sie auch, falls der Film noch nachbearbeitet werden soll, etwa mit glav aus den mjpegtools. Der Aufruf für die Aufnahme im mjpeg-Format lautet:

streamer -s 720x576 -r 25 -o aufnahme.avi -j 50 -f mjpeg -F stereo

Die Option -j gibt die Qualität an. Prinzipiell sind Werte zwischen 0 und 100 möglich, unter 40 ist aber wenig sinnvoll. Als Faustformel für das Datenvolumen pro Sekunde Aufnahmezeit kann folgende Formel verwendet werden:

(Breite @L: * Höhe @L: * Bildrate @L: * Qualität in Prozent) / (200 @L: * 1024) + 172,2

Die Konstante 172,2 am Ende der Formel steht für den Ton bei einer Sampling-Frequenz von 44,1 kHz, 16 Bit und Stereo (CD-Qualität). Auch bei dieser Aufzeichnungsmethode fallen noch erhebliche Datenmengen an, bei 50 Prozent Qualität sind es immerhin noch knapp 160 MByte pro Minute Film – das sind bei vier Stunden, die auf eine DVD passen sollten, rund 37 GByte. Beim Codieren als DVD und wieder Zusammenfügen fallen dann noch einmal 9 GByte an, so dass man insgesamt zum Brennen einer Video-DVD rund 50 GByte freien Festplattenplatz haben sollte.

Video und Audio vorbereiten

Das Codieren dauert etwa doppelt bis vier mal so lange wie die Spielzeit des Films, für die Codierung werden dabei die mjpegtools von [2] verwendet – man findet sie aber auch bei faktisch jeder Distribution. Die ersten Gehversuche sollte man in Anbetracht der langen Wartezeiten mit einem sehr kleinen Video und nach Möglichkeit wiederbeschreibbaren DVDs machen.

Auch der Ton muss neu gesamplet werden, bei DVDs werden Abtastraten von 48 kHz verwendet, die Soundkarten liefern aber meist nur 44,1 kHz. Das geht am einfachsten mit mp2enc aus den mjpegtools, auch wenn dies nicht die effizienteste Methode ist. Hier zwei Beispiele für Aufnahmen im mjpeg-AVI- und Wave-Format:

lav2wav aufnahme.avi | mp2enc -r 48000 -o audio.mp2

bzw.

mp2enc -r 48000 -o audio.mp2 < aufnahme.wav

Als nächstes muss das Bild codiert werden, bei hohem Bildrauschen kann man mit yuvdenoise eine deutliche Verbesserung erzielen – auf Kosten der Geschwindigkeit des Vorgangs. Die folgenden zwei Beispiele codieren ein mjpeg-AVI-Video und eine YUV-Datei:

lav2yuv aufnahme.avi | yuvdenoise | mpeg2enc -f 8 -o video.m2v

bzw.

cat aufnahme.yuv | yuvdenoise | mpeg2enc -f 8 -o video.m2v

Bild und Ton zusammen fügen

Im letzten Schritt werden Bild und Ton wieder zu einer Datei verbunden (“gemultiplext”), womit die Film-Vorbereitungen abgeschlossen wären:

mplex -f 8 audio.mp2 video.m2v -o dvdvideo.mpg

Aufbereiten zur DVD

Nun kommt DVD-Author zum Einsatz. Sie sollten mindestens Version 0.2.3 verwenden, weil erst seit dieser Version PAL unterstützt wird, am besten aber nehmen Sie die bei Redaktionsschluss aktuelle 0.3.0. Fertige RPM-Pakete gibt es noch nicht, Sie müssen die Quellen von [1] herunterladen und anschließend übersetzen. Weiterhin sind Anpassungen an den im Paket enthaltenen Skript makedvd zu machen: Das Basis-Verzeichnis, in dem alle DVD-Tracks abgelegt werden, ist dort fest in der Variablen BASEDIR eingetragen, Standard ist /mnt/workdisk/tmp. In den Beispielen werden wir /video/dvd verwenden. Da die DVD-Tracks größer als 2 MB sein könnten, muss das Dateisystem damit klar kommen. In aktuellen Distributionen ist das eigentlich kein Problem mehr, so ein aktueller Kernel 2.4 und als Dateisystem Ext2, Ext3 oder ReiserFS benutzt werden.

Das Skript makedvd muss je nach Brennertyp unterschiedlich aufgerufen werden: Bei DVD-R- und DVD-RW-Brennern werden die zu brennenden Filme in der Reihenfolge als Parameter angegeben, in der sie später auch auf der DVD angeordnet sein sollen:

makedvd film1.mpg film2.mpg film3.mpg

Bei einem DVD+RW- oder DVD+R-Brenner ist das genau umgekehrt, der letzte Film wird zuerst angegeben:

makedvd film3.mpg film2.mpg film1.mpg

Video-DVD brennen

Das Ergebnis legt makedvd, wie oben beschrieben, im Verzeichnis BASEDIR ab. Diese Daten müssen nun noch auf DVD geschrieben werden. Auch hier wird nach Brennern unterschieden. Bei DVD-R- und DVD-RW-Laufwerken wird zunächst ein DVD-Image per mkisofs hergestellt, wobei der Spezial-Parameter -dvd-video benutzt wird. Anschließend wird das DVD-Image ganz normal mit cdrecord-prodvd oder dvdrecord gebrannt:

mkisofs -dvd-video -o /video/DVD-Image /video/dvd
cdrecord-prodvd -v dev=0,0,0 -eject /video/DVD-Image

Bei DVD+RW- und DVD+R-Laufwerken erübrigt sich der Aufruf von mkisofs, hier wird mit growisofs direkt auf die DVD geschrieben:

growisofs -Z /dev/sr0 -dvd-video /video/dvd

Das Ergebnis ist in beiden Fällen eine Video-DVD ohne Menüs, die sich in allen Stand-Alone-Playern abspielen lassen sollte. Eine Garantie können wir allerdings nicht bieten, da die DVD-Referenzen nicht frei zugänglich sind. Ein Versuch mit verschiedenen DVD-Playern von Philips, Grundig, Pioneer und Thomson zeigte, dass sie sich mit der selbst gebrannten DVD blendend verstehen.

Infos

[1] Homepage von dvdauthor: http://dvdauthor.sourceforge.net

[2] Homepage der mjpegtools: http://mjpeg.sourceforge.net

[3] dvdrtools mit DVD-fähigem mkisofs: http://www.freesoftware.fsf.org/dvdrtools @KE:

LinuxUser 01/2003 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben