連続したフレームのピクセル値を任意の割合で混ぜ合わせる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=3scale=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

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)