transcode

Aus Mikiwiki
Wechseln zu: Navigation, Suche

Der Shell-Befehl transcode ist ein Medienencoder zum Umwandeln von Videoformaten, beispielsweise von Divx zu MPEG-1 oder MPEG-2.

transcode kann keine VBR MP3, nur CBR MP3. Wenn also wirklich VBR MP3 audio benötigt wird, muss mencoder verwendet werden. Auch die AVI tools, die mit transcode mitgeliefert werden, arbeiten nicht mit AVI-Dateien, die VBR MP3 enthalten. Es können also keine sync-Probleme in von mencoder erzeugten AVI-Dateien mit avisync behoben werden!

Im Paket "transcode" sind unter dem Namen "AVI Tools" unter anderem folgende Programme enthalten.

Programm Beschreibung
avimerge Fügt AVI-Dateien zusammen.
avisplit Zerteilt AVI-Dateien.
avisync Synchronisiert die Audiospur von AVI-Dateien.

Eine passende grafische Oberfläche ist "video-dvdrip" bzw. die GTK+-basierte Oberfläche Dvdrip. transcode ist überdies auch die Basis von Avidemux.

Installation

Vorbedingungen.

  • nasm >= 0.98.35
  • SDL-devel

Das selber kompilieren ist dringend anzuraten - empfohlen ist die Verwendung der CVS-Version. "configure" sollte am Ende fast alle Optionen anzeigen. Im speziellen soll Transcode mit Xvid-Unterstützung und Unterstützung für mplayer's post processing-Funktionen kompiliert werden. Falls nicht, dann sollte das restliche nachinstalliert und "configure" erneut ausgeführt werden. Ausser der Option Mplayer sollte alles auf "Yes" stehen. Ogg Vorbis ist experimental auch mit dabei, wird aber auch nicht unbedingt gebraucht. Wer Quicktime nicht braucht, der kann auch das weglassen, da der häufig verwendete Sorenson Codec ohnehin nicht funktionieren wird.

 $ tar xzf transcode-1.0.2.tar.gz
 $ cd transcode-1.0.2
 $ ./configure --with-libavcodec-prefix=/usr/local/lib                   \
                  --with-libavcodec-includes=/usr/local/include/ffmpeg   \
                  --enable-libavcodec                                    \
                  --enable-libmpeg2                                      \
                  --enable-avifile                                       \
                  --enable-sdl                                           \
                  --with-libpostproc-prefix=/usr/local/lib               \
                 --with-libpostproc-includes=/usr/local/include/postproc \
                 --enable-libpostproc
 $ make
 # checkinstall
 # yast -i /usr/src/packages/RPMS/i386/transcode-0.6.12-1.i386.rpm

Verwendung

Umwandeln der Datei "file.avi" ins MPEG-Format. Dabei entstehen die beiden Dateien "outputfile.m1v" (der Videoteil) und "outputfile.mpa" (der Audioteil).

$ transcode -i file.avi -V -y mpeg -F v,1 -E 44100 -b 224 -fps 25 -o outputfile

Zusammenfügen von "outputfile.m1v" und "outputfile.mpa" zur Datei "output.mpg".

$ tcmplex -o outputfile.mpg -i outputfile.m1v -p outputfile.mpa -m v

Umwandeln der Datei "file.mpg" ins Format VCD. Die BIN- und CUE-Dateien können mit den Optionen "-o" und "-b" angegeben werden. Per Voreinstellung heissen sie "videocd.bin" und "videocd.cue".

$ vcdimager file.mpg

Brennen.

$ cdrdao write --device /dev/cdrecorder file.cue

Brauchbare Decoder

Anzeige vorhandener Codecs.

$ ls /usr/local/lib/transcode/import*

Folgende Decoder eignen sich zum Gebrauch mit "transcode -x videodecoder,audiodecoder".

Decoder Beschreibung Typ
af6 für Divx, WMV, MP3 Video und Audio
mplayer für MPEG-1, MPEG-2, Divx, MP2, MP3 Video und Audio
ffmpeg für Divx 3, Divx 4, Divx 5, Open Divx Video
divx für Divx 3 Video
avi für Divx 3 Video
mpeg2 für MPEG-1, MPEG-2 Video
xvid für Xvid Video
mp3 für MP2, MP3 Audio
ogg für Ogg Vorbis Audio

Zu empfehlen sind insbesondere folgende Decoderpaarungen.

AVI (DivX) -x ffmpeg,mp3
AVI (Xvid) -x xvid,mp3
OGM (?,ogg) -x ffmpeg,ogg
MPEG-1, MPEG-2 -x mpeg2,mp3

FAQ

Im Internet gefunden:

...bei mir läuft Linux, daher helfen mir die Window-Tools nicht direkt weiter.

Schritte:

tccat -i /dev/hdc -T 1,1,1 -t dvd > film.vob
tcextract -i film.vob -x mpeg2 > film.m2v
tcextract -i film.vob -x mp3 > film.mp3
a) tcmplex -m d -i film.m2v -p film.mp3 -o film.mpg
b) mplex -f 8 film.m2v film.mp3 -o film-%d.mpg

Dann habe ich mit q-dvdauthor (dvdauthor) ein Menu erzeugt, die Filme (in dem Fall waren es zwei) mit Sprungmarken (alle 5 Minuaten eine) versehen und die DVD gebrannt.

Nur treten nun folgende Probleme auf: a) es wird ein mpeg-File erzeugt, die Sprungmarken funktionieren, nur sind einige Teile des mpeg wohl defekt: es fehlen die ersten 30 sek. des zweiten Filmes, man kann die Filme in den letzten Minuten nicht direkt anspringen (goto Funktion des DVD-Players)

b) es werden zwei mpeg-Files erzeugt, die Sprungmarken funktionen, nur wird zusätzlich am Beginn des zweiten Teils eine weitere Sprungmarke eingeführt, man kann jeden Teil des Filmes anspringen, der zweite Film ist vollständig, nur wird am Ende jedes Films vor dem erneuten Aufruf des Menüs für eine Sekunde das erste Bild des jeweils zweiten Teils des Films flackernt angezeigt.

Weblinks