DVD Erstellung unter Linux mit Menü

Dieses Thema im Forum "Linux & BSD Tutorials" wurde erstellt von Crack02, 13. Februar 2005 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 13. Februar 2005
    Dachte das wär mal ganz interessant im Zusammenhang mitm Linux Projekt.

    -------------------------------
    DVD-Erstellung mit Menü unter Linux

    Nach mehreren Versuchen unter Windows zum erstellen einer DVD, der Fesstellung, das brauchbare Tools mehrere Euros kosten und nicht wirklich ein befriedigendes Ergebnis liefern, dachte ich mir, das geht doch bestimmt auch besser und billiger unter Linux.

    Nach n bischen Googlen bin ich dann über dieses HowTo gestolpert:
    http://mightylegends.zapto.org/dvd/dvdauthor_howto.php
    Dank an Rick Harris

    Dieses HowTo is eine teilweise Übersetzung des o. g. HowTo und/oder mit eigenen Erfahrungen gefülltes Dokument. Es sind einige Hintergründe zur DVD herausgelassen, da dies nur ein „WalkThrouth“ sein soll. Es macht bestimmt Sinn, sich ebenfals oben genanntes HowTo durchzulesen.

    Lange Rede, kurzer sinn.

    Als erstes Mal die benötigten Packete:

    Pakete zum de/encoden:

    - mjpegtools
    - transcode
    - mencoder

    Packete zum DVD authoring und brennen

    - dvdauthor
    - dvd+rw-tools

    Grafikbearbeitung

    - gimp

    Zusätzliche Tools/Packete

    - normaliez
    - toolame
    - xine
    - gängige codecs

    Mein Ziel war es, 3-4 Filme auf eine DVD zu brennen und ein halbwegs ordentliches Menü zu haben.

    Um auf der sicheren Seite zu liegen brauchen wir auch mal so 8-10 Gig freien Plattenplatz.

    Ich für meinen Fall habe eine 2. Platte als /data gemountet. Ich werde auch immer absolute Pfade verwenden, ausgenommen beim ausführen der Tools, da die ganzen Config-Files, Video-Files und Sonstiges alle in einem ArbeitsVerzeichniss liegen
    (z.B. /data/dvd_authoring/).

    Fangen wir mal mit dem encoden der Filme an:

    Wenn es noch keine Mpegs oder Avis sind (wmv, mov, asf…) werden diese zuerst mal gewandelt, damit transcode auch klarkommt:

    Für PAL:
    mencoder –o output_file.avi –ovc lavc –ofps 25 input_file.wmv

    Für NTSC
    mencoder –o output_file.avi –ovc lavc –ofps 29.97 input_file.wmv

    Fals irgend ein Fehler kommen sollte, einen der nachfolgenden Parameter noch ausprobieren:

    -channels 2
    -srate 22050
    -srate 32000
    -srate 48000

    Hab auch die Erfahrung gemacht, das es sinn macht, nen Film der DivX ist auch erst mal durch mencoder zu jagen. Hatte sonst später starke A/V-Sync-Unterschiede

    Nun packen wir transcode an und machen uns schon mal gefasst, das wir ne sehr lange zeit den Rechner mal beschäftigt wissen J als hilfreich hat sich da n bash-script erwiesen, wo nachfolgende zeile für jeden film eingefügt wird.

    Für PAL:
    transcode -i input_file.avi -V -y mpeg -F d -Z 352x288 --export_fps 25
    --export_asr 2 -E 48000 -b 224 -o output_name

    Für NTSC
    transcode -i input_file.avi -V -y mpeg -F d -Z 352x240 --export_fps 29.970
    --export_asr 2 -E 48000 -b 224 -o output_name


    Als Ergebniss erhalten wir jeweils 2 Dateien :

    output_name.m2v (video)
    output_name.mpa (audio)

    Wenn Fehler auftretten wie z.B. das Transcode verweigert zu encoden, dann nehmen wir mplayer um transcode zu füttern:

    transcode -i input_file.avi -V –x mplayer,mplayer -y mpeg -F d -Z 352x288 -- export_fps 25 --export_asr 2 -E 48000 -b 224 –D 0 -o output_name

    Diese 2 Dateien werden nun mit mplex zusammengeführt:

    mplex f 8 -o dvd_movie.mpg output_name.m2v output_name.mpa


    Bevor es nun weitergeht, sollte man sich die Dateien erstmal mit xine o.ä. ansehen und prüfen.

    Sollten Audio/Video Sync nicht ganz in Ordnung sein, versuchen wir Transcode AV Sync auto correction zu überschreiben („–D 0“): (PAL-Version)


    transcode -i input_file.avi -V -y mpeg -F d -Z 352x288 --export_fps 25 --export_asr 2 -E 48000 -b 224 –D 0 -o output_name


    Nun kommen wir zu dem Menü:

    Hier muss ich zugeben, das dies mir noch ein bischen Kopfzerbrechen bereitet und ich mehr durch Glück zum guten Ergebnis gekommen bin. Mehr dazu gleich.

    Das Menü wurde komplett in GIMP erstellt und es wird davon ausgegangen, das man mit GIMP zurecht kommt.

    Es werden 3 Bilder benötigt:

    - Hintergrund
    - Hervorgehobene Buttons
    - Selektierte Buttons

    Für PAL sollten alle 3 Bilder 720x576 pixel , einer Auflösung in X mit 75dpi und Y 80 dpi

    Für NTSC 720x480, X 81dpi und Y 72 dpi

    Diese 3 Bilder erhalten wir indem wir zuerst einmal ein Bild mit der entsprechenden Auflösung erstellen. Hintergrund nehmen wir schwarz. Dort können wir nun irgendein Bild, das uns als Hintergrund fürs Menü zusagt, einfügen. Nun können Text, Buttons usw. in separaten Ebenen eingefügt werden. Dieses speichern wir als JPEG ab.

    Als hervorgehobene Buttons und selektierte Buttons habe ich als verschieden starke Rahmen realisiert. Jeweils auch in eine neue Ebene gezeichnet.

    Jetzt wird der Hintergrund und alles was sich darauf befindet ausgeblendet, so das nur alle Rahmen sichbar sind (hervorgehoben oder selecktiert).

    Diese Rahmen werden nun jeweils in 1 transparentes PNG gespeichert. Somit erhalten wir 2 PNG-Dateien.

    Jetzt kommt der Punkt wo ich noch „little confused“ bin:

    Es müssen 4 Farben sein.(Keine Ahnung wie dies erreicht wird, evtl im Zusammenhang mit einem Alpha-Kanal) Beide PNG’s habe ich auf die selbe Weise exportiert, aber ich erhielt später eine Fehlermeldung, das in einem Bild 5 Farben enthalten sind..

    Naja, wenn das irgendwie geklappt hat, und als Ergebniss hat man 1 JPEG und 2 PNG, dann ist die Arbeit mit Gimp erledigt.

    Der Menü-Hintergrund wird nun in ein DVD-mpeg konvertiert:

    Für PAL:
    jpeg2yuv -n 50 -I p -f 25 -j menu_background.jpg | mpeg2enc -n p -f 8 -o menu_background.m2v


    Für NTSC
    jpeg2yuv -n 50 -I p -f 29.97 -j menu_background.jpg | mpeg2enc -n p -f 8 -o menu_background.m2v


    Hintergrund-Musik erstellen wir mit:
    mplayer musicfile.mp3 -vo null -ao pcm -aofile menu_audio.pcm<O </O

    Sollte es zu laut oder leise sein:


    normalize -a -10dB menu_audio.pcm

    Umwandeln in MPEG-Audio:

    mp2enc -r 48000 -o menu_audio.mpa < menu_audio.pcm

    Sollte kein Audio im Menü ertönen, brauchen wir trotzdem ein „stilles“ Audio-File:


    Für PAL:
    dd if=/dev/zero bs=4 count=1920 | toolame -b 128 -s 48 /dev/stdin menu_audio.mpa

    Für NTSC:
    dd if=/dev/zero bs=4 count=1602.6 | toolame -b 128 -s 48 /dev/stdin menu_audio.mpa

    leider ging dies bei mir nicht fehlerfrei, da hab ich mich spontan doch für Hintergrund-Musik entschieden J Versuch dein Glück

    Wie gehabt, Video und Audio zusammenfügen:
    mplex –f 8 –o menu.mpg menu_background.m2v menu_audio.mpa

    Um nun das fertige Menü zu erhalten benützen wir spumux. Die Konfiguration findet über ein XML-File statt:

    siehe spumux.xml.txt im anhang

    Nun das entgültige MPEG-Menü erzeugen:
    spumux spumux.xml < menu.mpg > menu_final.mpg


    So, nun geht zum erstellen der DVD..
    Ich habe noch n kleines Intro erstellt, müsste aber auch ohne gehen.
    Dazu wird zuerst mal eine XML-Config-File benötigt:

    siehe dvdauthor.xml.txt im Ahnhang

    Jetzt kann mit
    dvdauthor –x dvdauthor.xml

    der Inhalt der DVD erstellt werden. Vorher natürlich noch ein Ordner anlegen, wo das ganze rein soll und das im ersten Tag des xml-files angeben.

    Bevor wir die ganze schose brennen, erstmal ein test:
    xine dvd:/path/toDVD/VIDEO_TS/

    Bei Suse sollte Xine nochmal neu übersetzt warden, da bei Suse der xine-support für DVDs nicht enthalten ist

    http://portal.suse.com/sdb/en/2003/09/xine_dvd.html

    Sollte nun alles passen, kann die DVD gebrannt werden:
    growisofs -Z /dev/dvdram -dvd-video /Path/To/DVD/

    Alles in allem wars das. Hoffe nix vergessen zu haben
    Wie gesagt, am besten auch noch das o.g. HOWTO durchlesen.
    Für Verbesserungen bin ich dankbar.

    Viel Spass mit der DVD.



    Quelle: http://www.tutorials.de/showthread.php?t=178081&goto=nextoldest
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.