Mastering per Script

Aus Linupedia.org
Version vom 26. September 2006, 00:06 Uhr von Robi (Diskussion | Beiträge) (mit Script verlinkt)
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.

Hier wird eine Möglichkeit vorgestellt mittels der Grafiktools innerhalb eines Scriptes kurze Videosequenzen zu bearbeiten, und dabei Videoeffekte nach seinen eigenen Vorstellungen einzubauen, für die es keine fertigen Tools gibt. Das hier vorgestellte Script erstellt ein Video-animiertes Menü zum Einsatz als Auswahlmenu bei der Zusammenstellung einer Video-DVD. Es ist auf eine bestmögliche Qualität optimiert und wurde zum Erstellen von privaten Video-DVDs aus DVD-Camcorder Rohdateien mit den Aufnahmen von den Schönsten Tagen des Jahres erstellt.


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 transparentem 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 Videosequenzen und dem Menü, wird dann während der DVD-Erstellung unter Verwendung dieser Konfigurationen 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 und Script folgende Tools

  • convert montage mogrify Utililies zum Bearbeiten von Grafik Bestandteil von ImageMagick
  • transcode Utilitie für transcoding von Video and Audio Manpage
  • mpeg2enc (video) MPEG 1/2 Encoder Manpage
  • mplex Utilitie zum Multiplexen einer Videospur mit einer Audiospur Manpage
  • spumux Tool zum Einmischen der Untertitel und zur Erstellung der Menufunktionen Manpage
  • dvdauthor Programm um die DVD aus ihren Einzelteilen zu der DVD-Struktur zusammenzusetzen Manpage


Das Script

Zwecks besser Übersichtlichkeit dieses Howtos wurde das Script ausgelagert.

  • Das Script ist auf mehreren Rechnern unter SuSE 9.1 und SuSE 10.1 getestet worden.


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 für das Menüe liegen im Bereich 12 - 120 Sekunden, das Script ist im Script im Moment auf maximal 120 Sekunden begrenzt
TEXT1= 
Der Text der hier eingetragen wird wird im erstem Drittel des Videos in der Mitte eingeblendet
TEXT2= und TEXT3= 
entsprechen TEXT1 in den folgenden Dritteln alle 3 Textbausteine werden verschiedenfarbig dargestellt, die Farben sind im Moment fest im Script vorgegeben, die entsprechenden Passagen sollten aber leicht zu finden sein
LOGO= 
eine kleine Grafik als Logo unten rechts Format PNG 64x64, diese Logo wird am Anfang der Videosequenz kurz eingeblendet.
G= 
die Größe der Thrumbnailframes getestet sind 200x152 160x120 120x90 (verarbeitet wurde Videoformat 704x576 16:9 mpeg2) hier sind nicht alle Kombinationen erlaubt, bei ungünstigen Kombinationen entstehen schwarze Ränder an der rechten Seite oder unten innerhalb der Thrumbnailvideos. Notfalls muss man hier ein bischen probieren.
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, können die im Moment nicht benötigten leer bleiben.
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 , wird unterhalb des Frames in den Framerahmen angezeigt.
FILMNAME[2][3][4][5][6]= 
analog FILMNAME[1], nicht benötigte können leer bleiben, darf aber nicht leer bleiben wenn das Frame angezeigt wird, sonst werden im Script Fehler erzeugt.
ZAHL= 
Anzahl der anzuzeigenden Videoframes auf dem Hintergrundvideo, Möglich in der momentanen Fassung des Scriptes 1 bis 6.
A[1]= 
Position des ersten Thrumbnails auf dem Hintergrundvideo, im Format X-Achse x Y-Achse (obere linke Ecke ist 0x0)
A[2][3][4][5][6] = 
Analog A[1] Der Gesamtbereich im Video umfasst 720x576 unbenutzte sollten möglichst 0x0 enthalten.
FONT=  
eine Truetype Schrift für die Anzeige , sollte möglichst nicht kursiv aber fett sein, (gut geeignet zB VerdaBd.ttf; impact.ttf) verschnörkelten Schriften wirken klein unscharf.

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. Für einen ersten Test sollten nur erst einmal die Dateinamen auf die Videos und den Sound gesetzt werden, und die Schriftart überprüft werden, sowie die TIME auf eine kleinen Wert zB 5 gesetzt werden.


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 als Bilder 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 mit dvdauthor 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 einen 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.
  • Das Menü wurde absichtlich im Format 4:3 erstellt, in den derzeitig getesteten Versionen von dvdauthor funktionieren 16:9 Menüs bei 4:3 Ausgabe nicht richtig.


Aussichten

es wird noch an weiteren grafischen Effekten gearbeitet. zB Drehung der Thumbnails, weitere Rahmendekors, 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 Sprungmarken 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

  • für viele Einsaztfälle ist diese einfache Script aus Ausgangspunkt gut geeignet.
  • Sollten ein Filmtitel aus mehreren einzelnen Videodateien bestehen, werden diese einfach
  <pgc> 
     <vob file="..."/>
     <vob file="..."/> 
     <vob file="..."/>
  <post> call menu; </post> 
</pgc>

aneinander gereiht. Man muss also nicht alles beim Videoschnitt zusammenkleben, und kann sich bei der Bearbeitung auf gut handelbare Videogrößen beschränken.

  • Weitere Informationen siehe


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)