ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

transcode

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

transcode.png transcode {en} ist eine Sammlung von Kommandozeilenprogrammen, mit denen man Audio- und Videodateien hinsichtlich ihres Codec oder ihres Containerformats umwandeln (transcodieren) kann.

Bearbeitet werden können:

  • MPEG-1/2

  • MPEG-4(-part 3) (auch DivX- und XviD-Varianten)

  • Quicktime / MPEG-PS (DVD) (nur dekodieren, nicht schreiben)

  • MPEG-1-layer-1/2/3 Audio (z.B. MP3)

  • AC3 audio

Zusätzlich besteht die Möglichkeit, verschiedene Filter anzuwenden:

  • Video De-interlacing

  • Audio Resampling

  • Änderung der Bildrate

  • Bildglättung

  • Schneiden

Transcode kann DVDs direkt importieren oder von Video4Linux-Geräten (einschließlich "V4L2 video capturing") aufnehmen.

Installation

Transcode kann direkt aus den Quellen installiert werden [1]

  • transcode (multiverse)

  • transcode-utils (multiverse, enthält zusätzliche Programme)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install transcode transcode-utils 

sudo aptitude install transcode transcode-utils 

Enthalten sind verschiedene Plugins, die auch separat aus anderen Quellen aktualisiert werden können (siehe unten).

Infos zu den Plugins

Mit dem Konsolenbefehl [2][3]

tcmodinfo -i Plugin-Name 

kann man Informationen wie Versionsbezeichnung, Kurzbeschreibung und Auflistung verfügbarer Optionen zum installierten Plugin erhalten.

Grafische Benutzeroberfläche

Falls man statt mit dem reinen Kommandozeilenprogramms lieber graphisch arbeiten möchte, sollte man auf das Programm WinFF ausweichen. Eine weitere Alternative ist Arista, das ebenfalls in den Paketquellen vorhanden ist.

Für transcode gibt es lediglich:

  • dvd::rip - allerdings nur für das Arbeiten von einer DVD aus.

Benutzung

transcode lagert alle (auch grundlegende) Funktionen in Module aus.

  • Eingabe

  • Verarbeitung/ Veränderung

  • Ausgabe

Grundsätzlich ist der Aufbau der Kommandozeile wie folgt: [3]

transcode  -i QUELLE - OPTION(EN) -o ZIEL 

Parameter
verfügbare Optionen Bedeutung
-i sourcevideo Dateiname der Videodatei (sourcevideo)
-p sourceaudio Dateiname einer separaten Audiodatei für dieses Video (sourceaudio)
-x vmod[,amod] erlaubt manuelle Eingabe der zu verwendenden Module (Codecs) für Video- und [,audio]-Import (fakultativ)
-y vmod[,amod] erlaubt manuelle Eingabe der zu verwendenden Module (Codecs) für Video- und [,audio]-Export
-J filter für (optional) anzuwendende Filter (s.u.)
-o destvideo Dateiname des Ergebnisvideos (destvideo)

Die Reihenfolge der Optionen spielt keine Rolle.

Eingabemodule aktiviert mit der Option -x
verfügbare Optionen Bedeutung
dvd liest eine Video-DVD ein. Die Devicenummer oder der eingehängte Ordner muss nach der Option -i angegeben sein.
vob liest eine .vob-Datei ein. Diese kann zuvor mit dem Programm tccat (Bestandteil von transcode --> siehe unten) erstellt werden.

DVD rippen

Möchte man das in der Konsole durchführen, geht das mit tccat aus den Transcode-utilities:

tccat -i /dev/sr0 -T1,-1 | tcextract -t vob -x mpeg2 | tcrequant -f 2 > /tmp/ofile.m2v 

/dev/sr0 steht hier für das DVD-Laufwerk, muss also ggf. angepasst werden.

Pfad zur Datei

Die Syntax für [Quelldatei] lautet ausführlich:

'Benutzername/Videoverzeichnis/Quelldatei.extension' 
  • Wenn man in der Konsole direkt in das Verzeichnis wechselt, in welchen die Quellvideos liegen, spart man sich das Eingeben des Pfads.

  • Alternativ kann man das Quellvideo mit der Maus auf die Konsole ziehen, nachdem man dort lediglich transcode -i eingegeben hat, und sich so das Tippen des Pfades und genauen Dateinamens ersparen.

Beispiele

divx in mpeg2 transkodieren

transcode -i QUELLDATEI -V -y ffmpeg -F mpeg2video -E 44100 -b 128 -o ZIELDATEI 

Größenänderung eines Videos

Größe des Quellvideos sei 624x352 Größe des Zielvideos soll 704x480 werden

  • Vergrößerungsfaktor bestimmen aus der breiteren Seite 704/624=1.128205

  • Schmalere Seite multiplizieren, damit das Seitenverhältnis unverändert bleibt 1.12805_x352=397.12805

  • Maße der Zieldatei sind also 704x397, ergibt folgende transcode-Option: -Z 704x397

  • In der schmaleren Seite kommen 480-397=83 Pixel hinzu, die zur Hälfte oben bzw. unten angesetzt werden sollen. Daraus ergibt sich -Y -41,0,-42,0

Im Ergebnis lautet die Kommandoeingabe:

transcode -i QUELLVIDEO -y ffmpeg -F mpeg2video -Z 704x397 -Y -41,0,-42,0 --export_frc 4 -E 44100 -b 128 -o TITEL_DER_VIDEO_DVD 

Beschneiden

Das Quellvideo sei 720x576 mit schwarzen Rändern. Entfernen der Ränder oben und unten mit dem Optionsparameter:

-j 80 ausführlich -j 80,0,80,0 (oben, links, unten, rechts) Größe des Zielvideos 720x416

Entfernen der Ränder rundum mit dem Optionsparameter:

-j 80,8 ausführlich -j 80,8,80,8 Größe des Zielvideos 704x416

Videos anhängen

Möchte man aus mehreren Videodateien Video1, Video2 eine einzige VideoAlle erzeugen, geht das mit folgendem Befehl:

avimerge -i Video1 Video2 -o VideoAlle 

Film aus Standbildern

Möchte man aus einer Serie von Bilder (Bild001.png, Bild002.png... ) eine (Stop-Motion-)Videodatei erzeugen, dann erstellt man eine Liste dieser Bilder mit:

ls -1 | grep >Bild*.png > image_list.txt 

Aus dieser Liste wird das Video erzeugt:

transcode -i image_list.txt -x imlist,null -g 720x480 --use_rgb -z -y ffmpeg,null -F mpeg4 -o test1.avi -H 0 -f 29.97 
transcode -i image_list.txt -x imlist,null -z -y ffmpeg,null -o test1.avi -H 0 -f 29.97 

Bewegungskorrektur

Entwackeln bzw. Stabilisierung (deshake) von Videos mit Hilfe von transcode. In einem ersten Durchlauf werden die bewegungsbedingten Transformationen erfasst, und der zweite Durchlauf führt die Stabilisierung bzw. die Glättung durch.

stabilize

Extrahiert Bewegungsänderungen „Transformationen“ aus den aufeinander folgenden Bildern. Eine Liste der verfügbaren Optionen erhält man mit der Option --help oder mit

tcmodinfo –i stabilize  

Syntax des Standard-Befehls (ohne weitere Zusatzparameter):

transcode -J stabilize -i [Quellvideo] -y null,null -o dummy 

Die erste Zeile erstellt eine Datei *.trf mit den erkannten relativen Bewegungsänderungen zwischen zwei nachfolgenden Videobildern.

Hinweis:

Erhält man die Fehlermeldung [filter_stabilize.so] warning: unsupported Codec, lädt man sich die aktuellen Binary-Dateien {dl} herunter und entpackt sie nach /usr/lib/transcode. Eine genauere Beschreibungen finden sich weiter unten im Artikel.

transform

Im Anschluss an stabilize erfolgt jetzt die Erzeugung des entwackelten Videos:

transcode -J transform -i [Quellvideo] OUTPUTOPTIONS -o [Zielvideo] 

Optionen für die Videoausgabe wie z.B.: -y ffmpeg,null -F mpeg2video oder: -y xvid

Die zweite Zeile erzeugt die erhofften Stabilisierungen. Auch hier ergibt -help oder

"tcmodinfo -i transform" 

eine Liste der möglichen Einstellungsoptionen, um zu besseren Ergebnissen zu kommen.

Problembehandlung

unsupported codec

Bei Versuchen, die o.g. Bewegungskorrektur durchführen zu lassen, kann es zur Ausgabe der Fehlermeldung "unsupported codec" kommen. Zur Abhilfe muss das zugrundeliegende Plugin vid.stab durch die neueste Version (aktuell 0.76) ersetzt werden.

Hinweis!

Fremdsoftware kann das System gefährden.

Heruntergeladen kann man es von hier: hronopik.de {en} {dl}. Nach dem Entpacken [5] erhält man 2 Dateien filter_stablize.so und filter_transform.so, welche man mit Root-Rechten [4] in das Verzeichnis /usr/lib/transcode/ verschiebt (alte Dateien vorher sichern!).

invalid number of channels

Zur Behebung der Fehlermeldung "[faad2] ... invalid number of channels" installiert man das Paket

  • libdvdread4 (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install libdvdread4 

sudo aptitude install libdvdread4 

und führt folgenden Befehl aus:

sudo /usr/share/doc/libdvdread4/install-css.sh 

Falls das immer noch nicht funktioniert, kann man transcode über MPlayer verwenden:

transcode -J stabilize --mplayer_probe -i movie.mp4
transcode -J transform --mplayer_probe -i movie.mp4 -y raw -o stabilizedmovie.mp4 
ubuntuusers.local › Wikitranscode