Ubuntu 12.04 „Precise Pangolin“
Ubuntu 10.04 „Lucid Lynx“
transcode
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.
Transcode kann direkt aus den Quellen installiert werden [1]
transcode (multiverse)
transcode-utils (multiverse, enthält zusätzliche Programme)
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).
tcmodinfo -i Plugin-Name
kann man Informationen wie Versionsbezeichnung, Kurzbeschreibung und Auflistung verfügbarer Optionen zum installierten Plugin erhalten.
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.
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. |
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.
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.
transcode -i QUELLDATEI -V -y ffmpeg -F mpeg2video -E 44100 -b 128 -o ZIELDATEI
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
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
Möchte man aus mehreren Videodateien Video1, Video2 eine einzige VideoAlle erzeugen, geht das mit folgendem Befehl:
avimerge -i Video1 Video2 -o VideoAlle
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
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.
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.
Erhält man die Fehlermeldung [filter_stabilize.so] warning: unsupported Codec
, lädt man sich die aktuellen Binary-Dateien herunter und entpackt sie nach /usr/lib/transcode. Eine genauere Beschreibungen finden sich weiter unten im Artikel.
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.
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.
Fremdsoftware kann das System gefährden.
Heruntergeladen kann man es von hier: hronopik.de
. 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!).
Zur Behebung der Fehlermeldung "[faad2] ... invalid number of channels
" installiert man das Paket
libdvdread4 (universe)
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