Hier sind die Details zu den Voreinstellungen:
[PRESET_COLOR_NEGATIVE] = {
"0/1 0.129/1 0.466/0.498 0.725/0 1/0",
"0/1 0.109/1 0.301/0.498 0.517/0 1/0",
"0/1 0.098/1 0.235/0.498 0.423/0 1/0",
},
[PRESET_CROSS_PROCESS] = {
"0.25/0.156 0.501/0.501 0.686/0.745",
"0.25/0.188 0.38/0.501 0.745/0.815 1/0.815",
"0.231/0.094 0.709/0.874",
},
[PRESET_DARKER] = { .master = "0.5/0.4" },
[PRESET_INCREASE_CONTRAST] = { .master = "0.149/0.066 0.831/0.905 0.905/0.98" },
[PRESET_LIGHTER] = { .master = "0.4/0.5" },
[PRESET_LINEAR_CONTRAST] = { .master = "0.305/0.286 0.694/0.713" },
[PRESET_MEDIUM_CONTRAST] = { .master = "0.286/0.219 0.639/0.643" },
[PRESET_NEGATIVE] = { .master = "0/1 1/0" },
[PRESET_STRONG_CONTRAST] = { .master = "0.301/0.196 0.592/0.6 0.686/0.737" },
[PRESET_VINTAGE] = {
"0/0.11 0.42/0.51 1/0.95",
"0.50/0.48",
"0/0.22 0.49/0.44 1/0.8",
}
Für jedes Preset x/y
ordnet jedes Paar die Eingabe x
der Ausgabe zu y
, wobei der Bereich liegt 0-1
. Wenn nicht eingestellt, setzt der Filter automatisch 0/0
und 1/1
dh Eingang schwarz = Ausgang schwarz und Eingang weiß = Ausgang weiß. Wobei 0/1
bedeuten würde, dass die eingegebenen schwarzen Pixel in der Ausgabe auf weiß gesetzt werden. Wenn Sie mehrere Paare in Anführungszeichen haben, die durch Kommas getrennt sind, wird die Sequenz zugeordnet "R","G","B"
. Die Interpolation zwischen den Punkten ist ein natürlicher kubischer Spline .
Für die automatische Nivellierung würde eine grobe Methode den autolevels
Unterfilter des pp
Filters verwenden.
ffmpeg -i input.mp4 -vf pp=al output.mp4
Dadurch wird die Luminanz auf den gesamten Bereich ausgedehnt.
Um die Pegel vor (und nach) jeder Anpassung zu überprüfen, können Sie eine RGB-Parade für einen solchen Frame erstellen
ffmpeg -i input.mp4 -vf "format=rgb24,waveform=c=7:d=parade,scale=1200x512" -vframes 1 frame1parade.png
Verwenden Sie für einen bestimmten Rahmen
ffmpeg -ss 12.4 -i input.mp4 -vf "format=rgb24,waveform=c=7:d=parade,scale=1200x512" -vframes 1 frameNparade.png