Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
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. Falls man statt eines Kommandozeilenprogramms lieber mit einer grafischen Oberfläche arbeiten möchte, kann man auf das Programm dvd::rip ausweichen - das allerdings nur für DVDs geeignet ist. Andere Alternativen sind beispielsweise WinFF oder Arista Transcoder (siehe auch Videodateien umwandeln).
Transcode kann direkt aus den offiziellen Paketquellen 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).
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 auf der Kommandozeile 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.
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 aus der breiteren Seite bestimmen: 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. Das ergibt folgende transcode-Option: -Z 704x397
An 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
oder ausführlich -j 80,0,80,0
(oben, links, unten, rechts)
Größe des Zielvideos 704x416
Möchte man aus mehreren Videodateien eine einzige Datei 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 bei diesem Vorgang eine Fehlermeldung, siehe Problembehebung weiter unten.
Im Anschluss an stabilize
erfolgt jetzt die Erzeugung des entwackelten Videos:
transcode -J transform -i QUELLVIDEO OPTIONEN -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 (0.76 oder neuer) 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 die Bibliothek libdvdcss (siehe DVD-Wiedergabe). 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 7. Dezember 2015 09:09 von aasche erstellt.