Mit FFmpeg lassen sich Clips auch deshaken. Ob es immer gut funktioniert und mit den „Großen“ mithalten kann, kann ich momentan nicht beurteilen.
Die ersten vier Stellen des Filter geben das Rechteck an in dem die Bewegung gesucht wird (x, y, w, h), -1 überall bedeutet, dass das ganze Bild analysiert wird.
Die nächsten beiden Ziffern (rx, ry) geben die maximale Ausmaße der Bewegung an. Als nächstes kommt der edge Parameter, welcher angibt wie die entstehenden Ränder befüllt werden sollen, 0 der Rand wird leer gelassen, 1 das Original-Bild wird genommen und gekachelt, 2 die Kanten werden extrudiert und 3 das Bild wir gespiegelt.
Die nächste Zahl gibt die Blockgröße für die Bewegungssuche an, zwischen 0 und 64 ist zulässig. Anschließend kann die Kontrastschwelle für die Blöcke angegeben werden, nur Blöcke mit mehr als der angegebene Kontrast werden berücksichtigt, Bereich 1-255.
die letzte Ziffer gibt die Suchstrategie an = 0: erschöpfende Suche, 1: weniger erschöpfende Suche. Standard – erschöpfende Suche. Es kann auch noch ein Logfile angeben werden, wenn das benötigt wird.
Wenn am Rand genug Platz ist, macht es Sinn das Video zu croppen (Beschneiden), das geschieht mit: -filter:v crop=1600:900.
Hier ein Beispiel wie ffmpeg zum Deinterlacing verwendet werden kann. -vf eldorder=tff gibt an, dass das Inputvideo Top Field first ist.
-filter:v yadif=0:0:0 ist für das Deinterlacing verantwortlich, die erste Ziffer gibt den Mode an von yadif: 0 bedeutet 1 Frame pro Frame, 1 bedeutet 1 Frame per Field, 2 verwirft den „spatial interlacing check“ und 3 ist wie 1 nur wird hier auch der „spatial interlacing check“ übergangen. Die zweite Ziffer gibt parity an: 0 heißt Top Field First, 1 Bottom Field First und -1 automatisch. Die dritte Ziffer regelt auto, hier wird unterschieden zwischen 0 = alle Frames werden deinterlaced und 1 nur die Frames werden deinterlaced welche interlaced makiert wurden.
Mit -preset medium spart man sich den ganzen x264 Codec „Brimborium“ (hier gehen auch die Presets: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo). -s 768×432 -sws_flags lanczos skaliert das Video mit dem Lanczos Filter:
FFmpeg kann jetzt auch in prores encodieren. Profile 3 steht für HQ, 0 wäre Proxy, -acodec pcm_s24le ist optional/bzw. für eine höhere Bittiefe, -flags +ilme+ildct für interlaced Material und mit -top 1 kann man angeben ob oberes Halbbild zuerst, oder unteres Halbbild (-top 0):
mp4 Kompression mit ffmpeg. Der Code wird noch mal überarbeitet… Mit -preset […] könnte man sich auch die meisten Settings sparen. mp4box fügt noch einen „hint“ hinzu, das heißt das Video kann im Web angespielt werden, bevor es komplett geladen ist.