Aus LinuxUser 11/2004

Videos konvertieren und bearbeiten mit transcode

VerwandlungskünstlerVerwandlungskünstler

Erwarten Sie bei einem Programm zur Videokonvertierung eine schöne bunte Oberfläche, wird Sie Transcode[1] enttäuschen. Transcode ist ein reines Konsolenprogramm, das sich über zahlreiche Kommandozeilenparameter steuern lässt. Wie die meisten Kommandozeilen-Tools ist es sehr flexibel einsetzbar aber naturgemäß auch etwas sperrig in der Bedienung. Tabelle 6 listet einige grafische Transcode Frontends auf, die spezielle Eigenschaften von Transcode mit einer komfortablen Benutzeroberfläche vereinen. Den Gesamtumfang von Transcode vermag aber keines dieser Programme ausschöpfen.

Transcode verfolgt ein streng modulares Konzept. Die wichtigen Funktionen sind in externe Module ausgegliedert, die nur bei tatsächlichem Bedarf geladen werden. Dabei sind drei Arten von Modulen zu unterscheiden (siehe Tabelle 1 bis 3):

  • Eingabe / Dekodierung
  • Modifikation / Filterung
  • Ausgabe / Kodierung

Die Eingabemodule haben die Aufgabe, Video- und Audiodaten zu dekodieren und Transcode im Rohformat zur Verfügung zu stellen. Verschiedene Module gibt es für einzelne Video und Audio Codecs, aber auch zum Lesen von Video Streams, die zum Beispiel von einer Fernsehkarte zur Verfügung gestellt werden.

Im nächsten Schritt verändern Filtermodule die vom Eingabemodul gelieferten Rohdaten. Mit diesen Filtern lassen sich nicht nur die bestehenden Bild- und Tondaten verändern, sondern auch neue Frames erzeugen oder verwerfen, um damit Einfluss auf die Synchronisation von Bild und Ton zu nehmen.

Im letzten Schritt übergibt Transcode die Daten an ein oder mehrere Ausgabemodule. Sie sind für die Kodierung der Daten mittels Video- und Audio-Codecs verantwortlich und erzeugen die entsprechende(n) Ausgabedatei(en).

Formatkonvertierung leicht gemacht

Um zum Beispiel eine eine MPEG1- oder MPEG2-Datei in eine AVI-Datei im MPEG4-Format zu verwandeln genügt der folgende Befehl:

transcode -V -i quelldatei.mpeg ?
 -o zieldatei.avi -y xvid4 ?
 -w 500 -b 48

Transcode benutzt hier die nativ für Linux vorhandene XviD-Bibliothek. Sie ist schnell, zuverlässig und steht den kommerziellen Kodierern in der Qualität um nichts nach. Anhand dieser einfachen Kommandozeile sieht man gleich die wichtigsten Optionen: -i und -o bestimmen Eingabe- und Ausgabedateien, -y legt den Video Exportfilter auf xvid4 fest und -w setzt die zu verwendende Videobitrate auf 500 kbit/s. Da Transcode Audio per default als MP3 mit 128 kbit/s exportiert, genügt es, mit -b die Bitrate der Tondaten auf 48 kbit/s festzulegen. Die Option -V schließlich weist Transcode an anstelle von RGB im YUV Farbraum zu arbeiten. Damit laufen die internen Berechnungen um fast ein Drittel schneller ab. Es gibt allerdings auch Filter, die nur RGB beherrschen. In diesem Fall quittiert Transcode die Option -V mit einer Fehlermeldung.

Tabelle 6: Transcode Frontends

Name Homepage Beschreibung
dvd::rip http://www.exit1.org/dvdrip/ Grafische Oberfläche spezialisiert auf das Kopieren von DVDs.
g4l http://gv4l.sourceforge.net/ Grafisches Transcode V4L Frontend zum Verarbeiten von TV Videomaterial.
ripmake http://www.lallafa.de/bp/ripmake.html Kommandozeilenprogramm, welches viele gängige Transcode Anwendungen vereinfacht.
kavi2svcd http://www.cornelinux.de/web/linux/kavi2svcd/index.html Kavi2svcd konvertiert AVI-Dateien zu Super Video CDs erstellen.

Rate mal die Rate

Den zentralen Punkt für die Qualität des erzeugten Videos stellt die Videobitrate dar. Im Zusammenspiel mit weiteren Parametern, wie der Höhe und Breite der Frames, sowie der Anzahl Frames pro Sekunde lässt sich der so genannte BPP Wert (Bits Per Pixel) berechnen: Bitrate * 1000 / (Höhe * Breite * Framerate).

Natürlich hängt die Qualität auch entscheidend vom Videomaterial selbst ab (schnelle/langsame Szenen, viel/wenig Kontraste etc.), aber als Daumenregel gilt: BPP Werte um 0.20 ergeben eine gute Qualität, bei der kaum Artefakte zu sehen sein sollten. Werte unter 0.15 ergeben sichtbare Störungen im Bild. Hier sollte man die Bitrate besser erhöhen. Transcode selbst gibt den BPP Wert zu den aktuell vorgenommen Einstellungen aus (in der Zeile V: bits/pixel). Ist der Wert zu niedrig, lohnt es sich Transcode mit [Strg]+[C] abzubrechen und es mit einer höheren Video-Bitrate erneut zu starten.

Doppelt genäht hält besser

Bei MPEG4 Codecs unterstützt Transcode das Multipass-Verfahren. Um eine optimale Bitratenverteilung über das gesamte Video zu erhalten analysiert dazu das Programm in einem ersten Lauf das Videomaterial und schreibt eine Log-Datei dazu. In einem zweiten Lauf wertet es diese Log-Datei aus und nimmt die eigentliche Video-Umwandlung vor. Das Multipass-Verfahren lässt sich über die Option -R einschalten, wobei angegben werden muss, ob es sich um den ersten oder zweiten Lauf handelt. Ein entsprechendes Beispiel ist in Listing 1 zu sehen.

Listing 1

Beispiel für ein Multipass-Encoding

transcode -V -i quelldatei.mpeg -o zieldatei.avi -y xvid4,null  -w 500 -b 128 -R 1
transcode -V -i quelldatei.mpeg -o zieldatei.avi -y xvid4      -w 500 -b 128 -R 2

Da beim ersten Lauf nur die Videoanalyse von Interesse ist schaltet -y xvid4,null den Audio Export ganz ab. Das beschleunigt diesen Lauf um bis zu zehn Prozent.

LinuxUser 11/2004 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: