ffmpeg 3.4 から追加のフィルタ。各チャンネルの上限と下限を越えたらその上限と下限でカットするlimiter
フィルタの使い方。今まではlut
フィルタでも同様のことが出来たが、こちらのフィルタの方がコードの量も少なく直感的でわかりやすい。
SafeColorLimiter – Doom9’s Forum
基本コマンド
YUVの映像をTVスケール内に収める8ビット深度の例。
ffmpeg -i input -vf limiter=16:235:1,limiter=16:240:6 output
ffplay -i input -vf limiter=16:235:1,limiter=16:240:6
10ビット深度なら8ビット深度から4倍する。
ffmpeg -i input -vf limiter=64:940:1,limiter=64:960:6 output
lutyuv
フィルタならビット深度を気にする必要がない。
ffmpeg -i input -vf lutyuv=y=clipval:u=clipval:v=clipval output
ffplay -i input -vf lutyuv=y=clipval:u=clipval:v=clipval
公式ドキュメント:FFmpeg Filters Documentation : limiter
オプション
- min[int]
最小値の指定
範囲:0 から 65535 まで
既定値:0 - max[int]
最大値の指定
範囲:0 から 65535 まで
既定値:65535 - planes[int]
フィルタを当てるチャンネル指定
詳しくは ffmpeg について | チャンネルの順番と注意点を参照
範囲:0 から 15 まで
既定値:15(すべてのチャンネル)