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 (einschließlich "V4L2 video capturing") Geräten aufnehmen.
Transcode kann direkt aus den Quellen installiert werden [1]
transcode (multiverse)
transcode-utils (multiverse, enthält zusätzliche Programme)
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 des reinen Kommandozeilenprogramms lieber graphisch arbeiten möchte, sollte man auf das Paket winff für FFmpeg ausweichen, welches in den universe-Quellen verfügbar ist. Eine Alternative ist noch arista, welches 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] - [Optionen] -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 gemountete 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 title_of_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
meint 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äd man sich die aktuellen Binary-Dateien herunter und entpackt sie nach /usr/lib/transcode. Hier steht der Weg (auf Englisch) genauer beschrieben.
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)
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
Diese Revision wurde am 11. April 2012 18:10 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen:
DVD, Multimedia
2004 – 2012 ubuntuusers.de • Einige Rechte vorbehalten