YUVの輝度と彩度を調整できるhue
フィルタ。値の指定にフレーム数やタイムスタンプが使えるので時間によって動的に変えられる。RGBベースはhuesaturation
フィルタを使う。
基本コマンド
既定値では変化ない
ffmpeg -i input -vf hue=h=0:s=1:b=0 output
ffplay -i input -vf hue=0:1
色相を動的に変える例
ffplay -i input -vf hue=n
評価式(計算書式)のprintを使えば値を調べられる
ffplay -i input -vf hue=print(n)
ffmpeg で使える評価式
公式ドキュメント:FFmpeg Filters Documentation : hue
オプション
- h[string]
色相の角度指定。彩度(UV)が変化する。360度で1回転する。Hと併用できない
既定値:0 - s[string]
彩度(UV)の範囲指定。1 でオリジナルのまま。0 でモノクロ(UV=128)になる
既定値:1
範囲:-10 から 10 まで - H[string]
色相のラジアン単位指定。彩度(UV)が変化する。1ラジアンは 180度 ÷ π。hと併用できない
既定値:0 - b[string]
輝度(Y)の範囲指定。0 はオリジナルのままにマイナスにすると暗く、プラスにすると明るくなる
既定値:0
範囲:-10 から 10 まで
使える評価式
- n
0から始まるフレーム数 - pts
PTS 時間 - r
フレームレート。動画のフレームレートが読み込めなければ NAN になる - t
0 からはじまるタイムスタンプ秒。一般的な動画時間はこちら - tb
タイムベース時間。pts*tb = tになる