個別チャンネルの値を映像の場所毎に確認できる datascope


YUV(A) や RGB(A)、GRAY の数値を2桁の16進数で映像にオーバーレイして確認できる datascope フィルタの使い方。数値ではなく映像で表示するフィルタに histogram フィルタがあるが datascope フィルタの方が直感的に任意の場所の数値が読み取れる。ただし表示できる範囲は全画面ではなく 1px 毎に表示されるので全体の変化を大まかに調べるのには向かない。

ffmpeg でヒストグラムを表示する

基本コマンド

ffplay input -vf datascope=s=1280x720:x=0:y=0:mode=0:axis=0

チャンネル数の数だけ 1px に表示される数が変わる。上から順番にチャンネルが割り振られる。チャンネルが増えるだけ表示できる解像度が狭くなる。

(4:6)から調べた datascope の出力サンプル

ffmpeg -f lavfi -i testsrc2=d=1 -vf datascope=s=360x400:mode=color:x=4:y=6:axis=1 -vframes 1 datascope.png

公式ドキュメント:FFmpeg Filters Documentation : datascope

オプション

  • size, s[image_size]
    出力解像度。表示する座標に横は20倍以上、縦は1チャンネルあたり12倍以上必要
    既定値。hd720(1280×720)
  • x[int]
    左上を 0 とする横軸の座標指定
    既定値:0
  • y[int]
    左上を 0 とする縦軸の座標指定
    既定値:0
  • mode[int]
    表示モードの指定

    • 0, mono:黒背景に白色数字。既定値
    • 1, color:黒背景に元映像の色数字
    • 2, color2:元映像の背景に数字を読みやすい色に変える
  • axis[boolean]
    既定値:0(無効)
    上と左に座標の値を表示する。有効化すると表示範囲が狭まる
  • opacity[float]
    背景の透過指定
    既定値:0.75
    範囲:0 から 1 まで

コメントを残す

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