Archiv der Kategorie: FFmpeg

Scripte zu FFmpeg

FFmpeg Gamma-Korrektur, bzw. LUT einstellen

SendTo mp4 Compression Batch Script

Ein erweitertes Kompression-Script das recht gut in den „SendTo“ Kontext im Explorer passt. Mit dem Script können Ordner mit Framesequenzen und Videofiles gleichermaßen komprimiert werden. Am Anfang findet eine Überprüfung statt, ob alle Tools vorhanden sind.

Die neueste Version ist zu finden unter:

https://github.com/jb-alvarado/media_compressor

Mac automatisches Compile- Script für ffmpeg (nonfree)

(Anmerkung  vom 15.09.2015: das untere Script ist veraltet und es ist gut möglich dass es nicht richtig läuft. Eine neuere Version findet man unter: compile-ffmpeg-osx )

 

Ein Script mit dem man ffmpeg auf einem Mac compilieren kann. Es werden auch die libs faac und freetype verwendet, eine Weitergabe der Binaries ist dadurch ausgeschlossen. Das Script erstellt eine Ramdisk, wodurch das ganze Vorgang doch beschleunigt wird, die ffmpeg Binary wird anschließend in den Developer Ordner kopiert. Die Ramdisk kann manuell geschlossen werden, oder sie verschwindet nach dem nächsten Neustart. Befor das Script läuft muss Xcode und yasm installiert werden.
Vielen Dank an Sebastian Tischer! Von seiner Seite stammt der überwiegende Teil des Codes für das Script:
http://ffmpegmac.net/

FFmpeg Text einblenden und Video einfaden

Ein Beispiel wie man in ffmpeg Text in das Video einblenden kann. Ein FadeIn und FadeOut zu Schwarz ist auch mit dabei:

FFmpeg deshake

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.

FFmpeg deinterlacing

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 DVD encoding

DVD encode mit ffmpeg, -flags +ilme+ildct für interlaced Material, -sameq für gleiche Qualität wie das Original: