Mastering per Script

Aus Linupedia.org
Version vom 24. September 2006, 21:54 Uhr von Robi (Diskussion | Beiträge) (kleine Korrekturen)
Wechseln zu: Navigation, Suche
Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.

--Robi 21:14, 24. Sep 2006 (CEST)

Big Baustelle, kann etwas länger dauern bis fertig


DVD-Authoring auf der Konsole

In dem nachfolgendem Howto wird vorgestellt wie man mit einem Script ein animiertes Menu für seine DVD aus den eigenen Videosequenzen erstellen kann.


Links zum Thema DVD-Authoring


Vorbemerkung

Es gibt unter LINUX eine ganze Reihe von Tools um DVDs zu erstellen. Die Einarbeitung in diese Programme ist jedoch oftmals mit viel Zeit verbunden. Nach einiger Zeit wird man dann doch festzustellen, dass genau das, was man gerne haben möchte genau mit diesem Programm nicht zu machen ist. Allerdings gibt es an den zu Grunde liegenden Programmteilen jede Menge Optionen und (fast) alles ist mehr oder weniger gut im Internet beschrieben. Um das Letzte aus seinem LINUX herauszuholen, um zum Beispiel auch mal seinem Nachbarn mit seiner teuren Videosoftware zum staunen zu bringen, kann man also wieder zurück auf die Konsole.


notwendige Software

das Prinzip des DVD-Menus und der Video-DVD

Ein DVD Menü ist im Grunde genommen selbst ein kleines Video bestehend aus einem Video- einer Audiospur- und einem Untertitelbestandteil. Bei einfachen Menus besteht das Video nur aus wenigen Einzelbildern des gleichen Bildes, oft nur wenige Sekunden. Der Audiobestandteil kann sehr viel länger sein. Wichtig ist jedoch, das Menu muss ein Audiospur haben, notfalls muss ein stilles Audio eingemischt werden. Der Untertitelbestandteil besteht allerdings nicht aus Text sondern aus Bildern auf einem tranparentem Hintergrund. Beim Zusammenstellen wird dann Anhand der Größe der Bildkonturen auf der Untertitelspur Buttonbereiche festgelegt. Damit können dann auf der fertigen DVD innerhalb eines konfiguriertem Videomenüs verschiedene Aktionen gestartet werden. Welche Buttonbereich mit welcher Aktion verknüpft wird, muss dann beim Zusammenstellen der DVD bekannt sein und muss vorher in einer Konfigurationsdatei festgelegt werden. Aus den einzelnen Videossequenzen und dem Menü, wird dann während der DVD-Erstellung under verwendung dieser Konfiguratione ein einziger DVD-Stream der in maximal 1GB große Blöcke als VOB Dateien angelegt wird. Hinzu kommen noch Indexdateien, in denen die genaue Position der einzelnen Video- Audio- und Untertitelpakete abgelegt sind. Bei der Erstellung der DVD werden so die Buttonbereiche, zu Sprungmarken auf vorbestimmten Videobereichen verknüpft, und eventuell definierte Abspielsequenzen eingetragen. Damit kann jetzt gezielt vom Menü aus an einen genau vorbestimmten Punkt im Videostream gesprungen werden. siehe auch Titelstruktur der DVD


Wir verwenden hier im HOWTO folgende Tools

  • convert montage mogrify Utililies zum Bearbeiten von Grafik
  • transcode Utilitie für transcoding von Video and Audio
  • mplex Utilitie zum Multiplexen einer Videospur mit einer Audiospur
  • spumux Tool zum Einmischen der Untertitel und zur Erstellung der Menufunktionen
  • dvdauthor Programm um die DVD aus ihren Einzelteilen zu der DVD-Struktur zusammenzusetzen


Das Script

Konfiguration innerhalb des Scriptes

  • Das Script wird ohne Optionen aufgerufen, im ersten Teil des Scriptes gibt es eine Reihe von Konfigurationen und Zuweisungen die vor der Ausführung dort individuell für jedes Projekt gemacht werden müssen.


TIME= 
Hier wird festgelegt wie lang das Video werden soll. gute Zeiten im Bereich 12 - 120 Sekunden
TEXT1= 
Der Text der hier eingetragen wird wird im erstem Drittel des Videos in der Mitte eingeblendet
TEXT2= und TEXT3= 
entsprechen TEXT1 ind den folgenden Drittelen
LOGO= 
eine kleine Grafik als Logo unten rechsts Format PNG 64x64
G= 
die Größe der Thrumbnailframes getestet sind 200x152 160x120 120x90
ORGINAL= 
Das Video das den Hintergrund bilden soll, (muss mindestens TIME lang sein
FRAME[1]= 
erstes Video das als Thrumbnail dargestellt werden soll, (muss mindestens TIME lang sein)
FRAME[2][3][4][5][6]= 
analog FRAME[1] werden nicht alle benötigt müssen die restlichen ebenfalls auf Videos entsprechender Länge zeigen sonst bricht das Programm mit Fehler ab, es kann auch auf das ORGINAL gezeigt werden.
SOUND= 
"Audiofile die benutzt werden soll empfohlenes Format AC-3, sollte mindestens TIME lang sein Dolby 5.1 als DVD audio track
FILMNAME[1]= 
Kurzer Titel der Videosequenz in Frame 1
FILMNAME[2][3][4][5][6]= 
analog FIMNAME[1], wenn nicht benötigt dann einen Buchstaben, sonst bricht Programm mit Fehler evtl ab.
ZAHL= 
Anzahl der anzuzeigenden Videoframes auf dem Hintergrundvideo
A[1]= 
Position des ersten Thrumbnails auf dem Hintergrundvideo
A[2][3][4][5][6] = 
Analog A[1] Der Gesamtbereich im Video umfasst 720x576 unbenutzte weit außerhalb dieses Bereiches eintragen.
FONT=  
einen Font für die Schrift, sollte möglichst nicht kursiv aber fett sein.

Achtung wegen der beabsichtigten Kürze des Scriptes, ist es innerhalb des Script nicht möglich gewesen, die individuellen Konfigurationen auf Plausibilität und Vollständigkeit hin zu prüfen.


was passiert innerhalb des Scriptes

  • nach der Variablen Konfiguration werden vom Script einige Berechnungen und Wertzuweisungen gemacht,
  • danach werden die Videos entsprechend der gewünschten Länge in Einzelbilder zerlegt und als Dateien abgelegt.
  • dabei wird das Hintergrundvideo 720x576 und die anderen in der konfigurierten Auflösung gespeichert
  • mittels Berechnung werden Parameter für die spätere Positionierung ermittelt.
  • die gesamte Serie der Thrumbnailbilder wird mit einem Rahmen und Namen versehen
  • die Thrumbnails werden auf die jeweiligen Hintergrundbilder portiert.
  • in mehreren transcoding Prozessen werden die Bilder zu einem Film zusammengesetzt, die Titelschriften und das Logo hinzugemischt.
  • das Ergebnis ist ein DVD-konformes Video dass mit der Soundfile gemuxt wird, ist die Soundfile zu lang, wird sie abgeschnitten.
  • es folgen wieder Positionsberechnungen
  • aus diesen Berechnungen werden die beiden Menümasken für die Untertitelmaskierung des Menüs erstellt
  • es wird eine xml Datei erzeugt, die als Konfiguration für die Maskierung des Videos benötigt wird
  • das Video wird mit den eben erstellten Subpictures maskiert


Das Ergebniss ist eine DVD-konforme Videodatei Namens menu_finale.vob diese enthält jetzt schon die notwendigen Konfigurationen, um sie direkt als animiertes Menu einsetzen zu können.

Achtung es werden temporär mehrere hundert Dateien im aktuellem Verzeichniss angelegt und auch wieder gelöscht, nachdem sie nicht mehr benötigt werden. Das Programm wurde optimiert auf den geringst möglichen Qualitätsverlust, dabei wurde ein extrem hoher Plattenplatz Bedarf in Kauf genommen. Für ein 30 Sekunden Video sollten 3GB Plattenplatz im aktuellem Verzeichnis temorär frei sein. Die Laufzeit des Scriptes dürfte je nach Rechnerleistung bei ca. 20 Minuten für ein 30 Sekunden Video einzuordnen sein. (Testergebnis: TIME=25 1,5GB maximal Plattenbenutzung; 15 Minuten Laufzeit.)


Beispielbilder entstanden mit der Konfiguration im Script

Hier einige Beispielbilder erstellt mit den Orginaloptionen des Scriptes

Einzelbild aus Video animiertem Menu Einzelbild aus einem eingebetteten Thrumbnailvideo
highlight-Maske für spumux select-Maske für spumux

Eine kleine Vorschau wie das animiert aussieht GIF 1,2MB (5 Sekunden-Loop 240x192 8 Frame/Sekunde)

Tips und Tricks

  • Da mit einer längeren Laufzeit des Scriptes zu rechnen ist und man bei der Konfiguration doch einiges anpassen muss, sollte man neue Konfigurationen erst einmal mit wenigen Sekunden testen. nicht wundern: bei nur wenigen Sekunden wird nur der mittlere DVD-Titeltext angezeigt.
  • Das Hintergrundvideo sollte möglicht ruig sein, ehr nervöse Videosequenzen als Hintergrund lenken sehr stark ab.
  • Video und die gewünschte Länge so wählen das ein möglichst sanfter Übergang im Hintergrundvideo entsteht, wenn das Video später im Loop läuft.
  • Das selbe gilt für den Sound, möglichst so auswählen, dass er minimal kürzer ist, als die Videogesamtlänge, oder zum Ende hin ausblenden, damit beim Loop der Sound nicht hart abgehackt wird.


Aussichten

es wird noch an weiteren grafischen Effekten gearbeitet. zB Drehung der Thumbnails, weiter Rahmendekor, Schatten, Schrifteffekte Inwieweit man das hier alles innerhalb des Wiki einarbeiten kann, wird die Zukunft zeigen.


Authoring der DVD mittels dvdauthor

Bemerkungen zum verwendeten Beispiel:

  • Wir wollen ein einfaches Menü verwenden, ohne weitere Untermenüs.
  • Die Videosequenzen sind im 16:9 Format das Menü ist im 4:3 Format erstellt
  • Am Anfang der DVD ist ein kleines Intro
  • Danach kommt unser erstelltes Menü in einer Endlosschleife
  • Im Menü gibt es 6 Sprungmakren auf die einzelnen Sequenzen
  • Jede fertige Videosequenz springt wieder zurück ins Menü


die Konfiguration in der Datei dvdauthor.xml

Datei dvdauthor.xml

<dvdauthor dest="/data1/DVD-test"> 
  <vmgm> 
        <menus> 
        <video format="pal" aspect="16:9" widescreen="nopanscan" />
        <pgc> 
          <vob file="/data1/video/intro.vob"/> 
          <post> jump titleset 1 menu; </post> 
        </pgc>
        </menus> 
  </vmgm> 

  <titleset> 
    <menus>
      <video format="pal" aspect="4:3" widescreen="nopanscan" />
      <pgc> 
        <button> jump title 1; </button> 
        <button> jump title 2; </button> 
        <button> jump title 3; </button> 
        <button> jump title 4; </button> 
        <button> jump title 5; </button> 
        <button> jump title 6; </button> 
        <vob file="/data1/video/menu_finale.vob"  pause="0"/>
        <post> jump cell 1; </post> 
      </pgc> 
    </menus> 

    <titles> 
      <video format="pal" aspect="16:9" widescreen="nopanscan" />
      <pgc> 
        <vob file="/media/cdrecorder/video_ts/vts_02_1.vob"/> 
        <post> call menu; </post> 
      </pgc> 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
An dieser Stelle wurden 4 Blöcke <pgc>bis</pgc> für die Videos 2-5 ausgeschnitten, 
sie gleichen dem Vorgänger bis auf den Videofiles.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      <pgc> 
        <vob file="/media/cdrecorder/video_ts/vts_08_1.vob"/> 
        <post> call menu; </post> 
      </pgc> 
    </titles> 
  </titleset> 
</dvdauthor>


Datei dvdautor.xml anpassen

DVD erzeugen und testen

  • dvdauthor -x dvdautor.xml
  • xine dvd:/path/zu/DVD-dateien/VIDEO_TS


weiter Links zum Thema



--Robi 21:14, 24. Sep 2006 (CEST)