Transcode kann von den verschiedensten Formaten in die verschiedensten Formate ausgeben, kann von Halbbildern verarbeiten über Framerate und Bitrate einstellen bis hin zu multipass-Encoding alles, was das Herz begehrt
Nur ist das Tool ein Texttool, und auf den ersten Blick unglaublich kompliziert. Mit etwas Durchblick zeigt sich Transcode aber als Multitalent, ich werde das mal in ein paar Beispielen darlegen, und einige Optionen erklären.
Transcode ist modular aufgebaut, d.h. es gibt ein Import- und ein Exportmodul, die jeweils konfiguriert werden müssen. z.B. (DVD .VOB file in xvid wandeln):
transcode -x vob -i /quelle/Blow/video_ts/vts_01_1.vob -y xvid -o /ziel/Blow/vts_01_1.avi -Q 5,5 -V
-x steht immer für das zu importierende Material
-y steht für das Exportformat
-i ist der Pfad zur Inputdatei
-o ist der Pfad zur Outputdatei
-Q 5,5 steht für die Qualität (encoding,decoding), 1 ist das schnellste, 5 das beste.
-V setzt den Farbbereich auf YV12/I420 (4:2:0), was schneller als der Standart RGB ist. Manche En-/Decoder unterstützen aber nur RGB (zB. DV), wenn das Bild gekachelt und farblich versaut ist, mal ohne -V probieren.
Die letzten beiden Optionen sind an sich gar nicht nötig, wenn nur -x -y -i und -o gesetzt sind, kann man schon damit arbeiten.Welche Möglichkeiten an Codecs es gibt sieht man in der Manpage zu Transcode (man transcode) unter -x / -y. Natürlich kommt es drauf an, welche Codecs im System installiert sind, in den Manpages sind alle momentan bekannten Codecs eingetragen. Welche Codecs man selbst schon installiert hat, sieht man, wenn man folgendes in eine Konsole tippt:
Für die verfügbaren import Module:
ls -1 `tcmodinfo -p`/import*.so
Für die verfügbaren export Module:
ls -1 `tcmodinfo -p`/export*.so
Manche Encoder (also -y) unterstützen dann noch Optionen zum genauen Codec, z.B, -y ffmpeg -F mpeg4 sagt ihm, er soll zum Ausgeben den Encoder ffmpeg benutzen, und das ganze als mpeg4 codieren. Nicht jeder Encoder unterstützt zusätzliche Optionen mit -F, welche es tun, findet ihr in der Manpage unter -F. Dort findet ihr aber nur eine Liste der Encoder, die Optionen unterstützen, nicht aber welche Optionen. Das findet ihr durch die Eingabe von transcode -y [encoder] -F list, z.B:
transcode -y ffmpeg -F list
dann wieder das Rendern mit STRG+C abbrechen, und man kann sich die Liste der Optionen des Codecs anschauen.
Wer mit Halbbildern ausgeben möchte, kann das (sofern der jeweilige Encoder das unterstützt) mit den folgenden Optionen:
--encode_fields p(rogressive) Halbbilder zusammenfügen
--encode_fields t(op-field first) oberes Halbbild zuerst
--encode_fields b(ottom-field fist) unteres Halbbild zuerst
Wenn nichts angegeben wird ist progressiv der Standard!!
Man kann auch wählen, welche CPU Einheit verwendet werden soll:
--accel ia32asm (generic Treiber)
--accel mmx
--accel 3dnow
--accel sse
--accel sse2
erklärt sich ja von selber, wenn nichts angegeben ist wählt er automatisch.
-f 25 legt die fps beim decodieren (import) fest (erkennt er normalerweise aber vno alleine). Mit --export_fps 25 legt man beim Encodieren die Frames per Second auf 25 fest. (Orientiert sich ansonsten automatisch am Quellmaterial.)
Dann was zum Aspect Ratio beim decodieren des Quellmaterials
--import_asr 1 steht für 1:1
--import_asr 2 steht für 4:3 (Fernseher)
--import_asr 3 steht für 16:9
--import_asr 4 steht für 2.21:1 (was das auch immer ist)
dasselbe geht dann mit --export_asr 1 bis 4 genauso fürs encodieren beim Ausgeben. Wenn (bei beiden) nichts angegeben wird, macht er es automatisch.
Will man die Auflösung ändern, geht das mit -Z 720x576, damit wird dann das Video mit 720x576 ausgegeben. Wenn -Z benutzt wird, kann man noch mit --keep_asr festlegen (keep aspect ratio), damit er auch die Aspect Ratio vom Quellmaterial übernimmt. Gibt man die Option -Z nicht an, macht er die gleiche Auflösung wie das Quellmaterial beim Ausgeben.
Quellen:
Transcode
debian forum