連続したフレームのピクセル値を任意の割合で混ぜ合わせるtmixフィルタの使い方。
複数入力した映像を混ぜ合わせるならmix
フィルタがある。
複数の映像を任意の割合でミックスする mix
基本コマンド
連続した3フレームを3で割った1フレームで出力する。
ffmpeg -i input -vf "tmix=frames=3:weights=1 1 1:scale=0" -c:a copy ouput
ffplay -i input -vf "tmix=frames=3:weights=1 1 1:scale=0"
公式ドキュメント:FFmpeg Filters Documentation : tmix
オプション
- frames[int]
連続したフレーム数の指定
既定値:3
範囲:1から128まで - weights[string]
入力の比重指定。入力毎にスペースを空ける
既定値:”1 1 1″ - scale[float]
各ピクセルの値とweightsの積の和に掛ける値。0だと連続するフレームの和になる
既定値:0
範囲:0から32767まで
scaleの扱い
0以外を指定するとマスクのようなピクセル値になるが2極値化はそのままではしないので用途が思いつかない。scale=3とscale=4の例。
ffplay -i input -vf split[0v][1v];[0v]tmix=frames=3:weights="-1 2 -1":scale=3,signalstats,drawtext=fontfile=C\\://WINDOWS/Fonts/arial.ttf:textfile=signalstat_drawtext.txt:fontsize=20:borderw=1:bordercolor=white[0v];[1v]tmix=frames=3:weights="-1 2 -1":scale=4,signalstats,drawtext=fontfile=C\\://WINDOWS/Fonts/arial.ttf:textfile=signalstat_drawtext.txt:fontsize=20:borderw=1:bordercolor=white[1v];[0v][1v]vstack