ffmpeg 3.0 から使えるフィルタ。RGB を個別に明るくしたり暗くしたりできるフィルタにcolorbalance
があるが、このselectivecolor
フィルタは RGB だけではなく CMYK にも対して明るくしたり、暗くしたり、他の色を混ぜたり出来る。ただし RGB を CMYK 形式に変換しての保存はできない。
Adobe Photoshop の 特定色域の選択ツールに似ていて、Photoshop の .asv が読み込める。具体的にどのようなことができるかは「photoshop 特定色域の選択(bing)」で検索するといろいろ見つかる。
Windows の ffmpeg で生放送する方法 : colorbalance
基本コマンド
色のオプションは4つまでスペースを挟んで指定でき、順番に CMYK(cyan, magenta, yellow, key plate)の色を混ぜることが出来る。出力カラーフォーマットは bgr0 になる。使い方は調整したい色を指定し、4つの引数で順番に CMYK の混ぜたい色の割合を指定する。
緑の部分にシアンを50%増して黄を33%減らし、青の部分にマジェンタを27%増す
ffplay input -vf "selectivecolor=greens=0.5 0 -0.33 0:blues=0 0.27"
MySelectiveColorPresets フォルダにある Misty.asv を読み込む
バイナリデータなのでテキストエディタでは編集できない。サンプルファイル
ffplay input -vf "selectivecolor=psfile=MySelectiveColorPresets/Misty.asv"
公式ドキュメント:FFmpeg Filters Documentation : selectivecolor
オプション
- correction_method
色調整の方法を決める - absolute
絶対値。既定値
指定した値の増減が反映される - relative
相対値
元の値に指定した値を掛けた値が反映される
つまり元の値が大きいほど影響も大きい - reds
RGB(255,0,0)。以下の色は -1 から 1 まで指定できる - yellows
RGB(255,255,0) - greens
RGB(0,255,0) - cyans
RGB(0,255,255)。やや緑みの明るい青 - blues
RGB(0,0,255) - magentas
RGB(255,0,255)。明るい赤紫 - whites
全てのRGBが128より大きい - neutrals
真っ白と真っ黒以外の全て - blacks
全てのRGBが128より小さい - psfile
.asv のファイルパスを指定する