フィルタでグレースケールを扱うには大まかに YUV の Y を取り出す方法と、グレーにフォーマット変換する方法の2通りがある。前者は限定レンジになるので 16 から 235 の範囲に収まるが処理速度は速い。一方の後者はフォーマット変換を挟むので処理は遅いが 0 から 255 までのフルレンジを扱える。
extractplanes
で YUV の Y を取り出す。この方法が一番高速でわかりやすい。
-vf extractplanes=y
次に彩度を 0 にする方法。
-vf hue=s=0
YUV の Y だけそのままに UV を 128 に変換する lutyuv
。
-vf lutyuv=val:128:128
グレーにフォーマット変換する方法
-vf format=gray
関連記事
各映像チャンネルを分離する extractplanes
Windows の ffmpeg で生放送する方法 : lutyuv