VerwandlungskünstlerVerwandlungskünstler
Videos konvertieren und bearbeiten mit transcode
Zahlenknobelei
Um noch mehr Platz zu sparen sollen nicht nur die schwarzen Balken weg, sondern das Bild soll auch kleiner werden. Da PAL Videomaterial eine Auflösung von 720x576 Punkten hat, ist es für den PC stets anamorph verzerrt, da 720x576 Pixel keinem Seitenverhältnis von 4:3 sondern von 5:4 entspricht. Die meisten Mediaplayer entzerrren zwar das Bild automatisch, aber das Ziel ist eine AVI-Datei im 4:3-Verhältnis. Noch extremer ist die Verzerrung bei Filmen im 16:9-Format. Die folgenden Berechnungen lassen sich darauf ebenso anwenden, statt 5:4 muss nur jeweils 16:9 eingesetzt werden. Die Abbildungen 2a bis 2d verdeutlichen die einzelnen Rechenschritte.
Zunächst gilt es das Seitenverhältnis zu korrigieren. Dazu muss das Bild um den Faktor (4/3)/(5/4) breiter werden (1.33/1.25= 1.06). Es wird also 6 Prozent breiter hat somit 768 Pixel. Dann soll Transcode die beiden schwarzen Balken mit je 56 Pixeln abschneiden, womit das Bild 464 Punkte hoch wird.
Das neue Bild von 768x464 soll Transcode nun auf eine Breite von 640 Pixel verkleinern, dies entspricht einem Verkleinerungsfaktor von 1.2. Es bleibt ein Bild von 640x386 Punkten, wobei die Höhe wegen der Teilbarkeit durch 16 auf 384 reduziert werden muss. Das ergibt einen minimalen Verzerrungsfehler, der aber von Auge nicht sichtbar ist. Nach dieser kurzen Kopfrechnung ergibt sich folgender Kommandozeilen-Aufruf für Transcode, um die Orginalaufnahme des VDR-Programmes in ein verkleinertes XVID-Video umzuwandeln:
transcode -V -i e4.mpv -p c0.mpa ↩ -o zieldatei.avi -y xvid4 -w 1650 ↩ -j 56 -J smartyuv -Z 640x384,fast
Hier wird mit der Option -p auch die Audiodatei eingebunden. Dies ist nötig, da ja in diesem Fall Video und Audio in getrennten Dateien vorliegen. Aus der Videobitrate von 1650 resultiert bei der gewählten Auflösung ein BPP Wert von 0.267, was eine hinreichend gute Qualität ergibt.
Flexibel und mächtig
Die Flexibilität und Mächtigkeit von Transcode hat ihren Preis: dieser Artikel konnte denn auch nur einen Bruchteil der Funktionalität beschreiben. Um trotzdem einen Eindruck davon zu vermitteln, was Transcode alles zu bieten hat, sind in Tabelle 2 einige wichtige Transcode Module aufgelistet. Transcode bringt zusätzlich noch eine ganze Reihe von praktischen Kommandozeilen-Werkzeugen mit, die Tabelle 4 kurz vorstellt. Damit lassen sich zum Beispiel mit Transcode erstellte AVI-Dateien schneiden, zusammenfügen und vieles mehr. Bei Aufgaben, die über diesen Artikel hinaus gehen, helfen auch die Transcode-Mailinglisten [3].
Kasten2: Hinweise zur Transcode Installation
Falls es für Ihre Linux Distribution fertige Transcode-Pakete gibt, sollten Sie in jedem Fall von diesen Gebrauch machen. Das Kompilieren von Transcode ist für Unerfahrene nur schwer zu bewältigen, da das Programm zahlreiche Bibliotheken benötigt. Laut Debian Paketmanager zum Beispiel hängt Transcode von 44 Paketen ab. Grundlage für diesen Artikel war die im Januar veröffentlichte Version 0.6.12, zu finden unter [1]. Fertige Pakete gibt es zumindest für folgende Distributionen:
- Debian ftp://ftp.nerim.net/debian-marillat/index.html
- Gentoo http://packages.gentoo.org/
- RedHat http://freshrpms.net/
- Mandrake http://plf.zarb.org/
- SuSE http://packman.links2linux.org/
Tabelle 1: Transcode Import-Module
| Modul | Beschreibung |
|---|---|
| dvd | Direktes Einlesen einer Video-DVD. Die Option -i muss ein Gerätedateiname oder der Name eines Verzeichnisses mit einer DVD Verzeichnisstruktur sein. |
| vob | Einlesen einer DVD VOB-Datei. Diese kann zuvor mit Transcodes tccat Befehl erstellt worden sein. |
| dv | Einlesen von DV Video |
| ffmpeg | Zugriff auf alle Eingabe-Codecs, die die Ffmpeg-Bibliothek unterstützt. Die genaue Formaterkennung erfolgt automatisch. |
| mplayer | Mplayer wird aufgerufen, um das Video zu dekodieren. Damit kann Transcode alle von mplayer unterstützten Codecs verarbeiten. |
| v4l / v4l2 | Direktes Einlesen eines Videosignals von einem Video4Linux Gerät, zum Beispiel einer TV-Karte |
| xvid | Einlesen von MPEG4-Video |
| mpeg2 | MPEG-Video Import |
Tabelle 2: Transcode Export-Module
| Modul | Beschreibung |
|---|---|
| xvid / xvid4 | Der XviD-Codec schreibt ein MPEG4-Format. Transcode unterstützt verschiedene Versionen der Bibiliothek. Bei Transcode 0.6.12 ist xvid 0.9 die Default-Einstellung. Empfohlen ist mit dem xvid4 Modul die aktuelle 1.0 Version von XviD zu verwenden. |
| divx5 | Verwendung des kommerziellen divx.com-Codecs. Obwohl dieser Codec nativ für Linux zur Verfügung steht, ist er aufgrund diverser Bugs und der Tatsache, dass er Closed Source ist, nicht zu empfehlen. |
| ffmpeg | Alle von der ffmpeg Bibliothek unterstützten Codecs. Eine Liste der verfügbaren Codecs liefert transcode -y ffmpeg -F list. Der gewünschte Codec wird dann ebenfalls mit der -F Option ausgewählt. |
| mpeg2enc,mp2enc | MPEG2-Video, MP2-Audio. Die dabei entstehenden .m2v und .m2a Dateien fügt tcmplex zu einer .mpeg Datei zusammen. Das Modul unterstützt alle wichtigen Profile von VCD, über SVCD bis DVD. |
| wav | Reines Audio Export Modul zum Erzeugen von WAV-Dateien. |
Tabelle 3: Transcode Filter
| Filter | Beschreibung |
|---|---|
| 32detect | Detektion von Frames, die interlaced gespeichert sind. Die Option verbose=1 muss mit angegeben um zu überprüfen, ob Deinterlacing notwendig ist.
|
| smartdeinter | Für den RGB Farbraum optimierter Deinterlacer. Portierung von VirtualDub's smart deinterlacer |
| smartyuv | Für den YUV Farbraum optimierter Deinterlacer. Muss mit der Option -V verwendet werden
|
| modfps | Framerate-Konvertierer (zum Beispiel PAL nach NTSC). Ziel-Framerate mit --export_fps angeben
|
| logo | Anbringen eines festen Logos auf dem Bild |
| logoaway | Entfernen eines Senderlogos aus dem Bild |
| normalize | Normalisieren des Lautstärepegels |
| yuvdenoise | Für den YUV Farbraum optimiertes Geräuschentfernen. Nur zusammen mit der Option -V.
|
| detectclipping | Ermittelt -j bzw. -Y Option zum Herausschneiden schwarzer Balken
|
| pv | Öffnet ein Preview-Fenster. Der X-Server muss dazu über die XV-Extension verfügen |
Tabelle 4: Transcode Programme
| Name | Beschreibung |
|---|---|
| tccat | Liest Quelldateien ein und gibt diese auf der Standardausgabe wieder aus. Wird normalerweise intern von Transcode benutzt, kann aber auch zum Auslesen von DVD-Titeln verwendet werden. |
| tcscan | Analysiert eine Eingabedatei und gibt Informationen darüber aus. Dient in erster Linie zur Bestimmung der max. Lautstärke in einer Tonspur. |
| tcmodinfo | Gibt eine Dokumentation der Optionen eines Transcode Filter Moduls aus. |
| tcprobe | Analysiert eine Eingabedatei und gibt die wichtigsten technischen Eigenschaften aus. Vor der Verarbeitung mit Transcode sollte immer eine tcprobe Analyse stehen, um mit den richtigen Einstellungen arbeiten zu können. |
| tcrequant | MPEG Requantisierer. Reduziert die Bitrate einer MPEG Datei, ohne eine echte Neukodierung vorzunehmen. Bringt hochqualitative Ergebnisse in kurzer Zeit. |
| tcmplex | MPEG Multiplexing von MPEG Elementary Streams (Video + Audio) zu einem MPEG Program/System Stream. |
| avimerge | Verbinden mehrerer AVI-Dateien zu einer größeren AVI-Datei. |
| avisplit | Aufteilen einer AVI-Datei in mehrere kleinere AVI-Dateien. |
Infos
[1] http://www.zebra.fh-weingarten.de/~transcode/: Homepage von Transcode
[2] http://vdrsync.vdr-portal.de/: Vdrsync bereitet VDR Aufnahmen zur Weiterverarbeitung mit Transcode vor.
[3] http://lists.exit1.org/mailman/listinfo/: Mailinglisten zu Transcode.



