[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Programme starten: Ein Programm ohne Menüeintrag starten] [:sudo: Root-Rechte] [:Packprogramme: Archive entpacken] }}} [[Inhaltsverzeichnis()]] [[Bild(transcode.png, 100, align=left)]] '''transcode''' ist eine Sammlung von Kommandozeilenprogrammen, mit denen man Audio- und Videodateien hinsichtlich ihres [:Codecs:Codec] oder ihres [wikipedia:Containerformat:Containerformats] umwandeln (transcodieren) kann. {{{#!vorlage Hinweis Das Projekt wurde wahrscheinlich eingestellt. Es funktioniert zwar und befindet sich daher noch in den Quellen; die fehlende Weiterentwicklung (seit 2012) macht sich allerdings bei der Unterstützung neuerer Codecs, wie zB H.264 oder H.265 bemerkbar, diese fehlen schlicht. }}} 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 [wikipedia:Video4Linux: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. Eine andere Alternative ist beispielsweise [:WinFF:] (siehe auch [:Videodateien_umwandeln:]). = Installation = Transcode kann bis [:18.04:Ubuntu 18.04] direkt aus den offiziellen Paketquellen installiert werden [1] {{{#!vorlage Paketinstallation transcode, multiverse, bis [:18.04:] }}} Enthalten sind verschiedene Plugins, die auch separat aus anderen Quellen aktualisiert werden können (siehe unten). == Infos zu den Plugins == Mit dem Befehl [2][3]: {{{#!vorlage Befehl tcmodinfo -i Plugin-Name }}} kann man Informationen wie Versionsbezeichnung, Kurzbeschreibung und Auflistung verfügbarer Optionen zum installierten Plugin erhalten. = 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]: {{{#!vorlage Befehl transcode -i QUELLE - OPTION(EN) -o ZIEL }}} {{{#!vorlage Tabelle <-2 tablestyle="width: 97%;" rowclass="titel"> 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. {{{#!vorlage Tabelle <-2 tablestyle="width: 97%;" rowclass="titel"> 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 auf der Kommandozeile durchführen, geht das mit `tccat` aus den Transcode-utilities: {{{#!vorlage Befehl 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. = Beispiele = == divx in mpeg2 transkodieren == {{{#!vorlage Befehl transcode -i QUELLDATEI -V -y ffmpeg -F mpeg2video -E 44100 -b 128 -o ZIELDATEI }}} == Größenänderung eines Videos == 1. Größe des Quellvideos sei 624x352 1. Größe des Zielvideos soll 704x480 werden 1. Vergrößerungsfaktor aus der breiteren Seite bestimmen: 704/624=1.128205 1. Schmalere Seite multiplizieren, damit das Seitenverhältnis unverändert bleibt: 1.12805_x352=397.12805 1. Maße der Zieldatei sind also 704x397. Das ergibt folgende transcode-Option: `-Z 704x397` 1. 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: {{{#!vorlage Befehl 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 == 1. Das Quellvideo sei 720x576 mit schwarzen Rändern. 1. Entfernen der Ränder oben und unten mit dem Optionsparameter: `-j 80` oder ausführlich `-j 80,0,80,0` (oben, links, unten, rechts) 1. Größe des Zielvideos 704x416 == Videos anhängen == Möchte man aus mehreren Videodateien eine einzige Datei erzeugen, geht das mit folgendem Befehl: {{{#!vorlage 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: {{{#!vorlage Befehl ls -1 Bild*.png > image_list.txt }}} Aus dieser Liste wird das Video erzeugt: {{{#!vorlage Befehl 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 }}} {{{#!vorlage Befehl 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: {{{#!vorlage Befehl tcmodinfo –i stabilize }}} Syntax des Standard-Befehls (ohne weitere Zusatzparameter): {{{#!vorlage Befehl 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 [#unsupported-codec Problembehebung] weiter unten. === transform === Im Anschluss an `stabilize` erfolgt jetzt die Erzeugung des entwackelten Videos: {{{#!vorlage Befehl 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. = Problembehebung = == 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 (0.76 oder neuer) ersetzt werden. [[Vorlage(Fremd, Software)]] Heruntergeladen kann man es von hier: [http://public.hronopik.de/vid.stab/download.php 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 die Bibliothek '''libdvdcss''' (siehe [:DVD-Wiedergabe:]). Falls das immer noch nicht funktioniert, kann man transcode über MPlayer verwenden: {{{#!vorlage Befehl transcode -J stabilize --mplayer_probe -i movie.mp4 transcode -J transform --mplayer_probe -i movie.mp4 -y raw -o stabilizedmovie.mp4 }}} #tag: Multimedia, DVD, bis-bionic