YUV のデータを数値で表示する signalstats


基本コマンド

コンソールに統計データを表示する例
ffprobe -f lavfi movie=input,signalstats="stat=tout+vrep+brng" -show_frames

統計情報をプレビューする例
ffplay -i input -vf signalstats=out=1

drawgraph フィルタの併用で折れ線グラフを表示できる
ffplay -f lavfi -i "movie=input,signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255,drawgrid=0:0:0:32,format=yuv420p"
メタデータを映像化する drawgraph, adrawgraph

metadata フィルタの併用でコンソールにを表示できる
ffplay -f lavfi -i movie=input,signalstats,metadata=print:key=lavfi.signalstats.YDIF:value=0:function=expr:expr='between(VALUE1,0,1)'
メタデータをコンソールに表示する metadata, ametadata

YUV の値だけを改行してテキストに書き出す
trim=end_frame=1 を外すと全フレーム出力する
ffprobe -f lavfi -i "movie=input,signalstats,trim=end_frame=1" -show_entries frame_tags=lavfi.signalstats.YAVG,lavfi.signalstats.UAVG,lavfi.signalstats.VAVG -of default=noprint_wrappers=1:nokey=1 > yuv.txt
trim フィルタの使い方

他のアプリケーションに利用しやすい JSON形式に書き出す
ffprobe -f lavfi -i "movie=input,signalstats,trim=end_frame=1" -show_entries frame_tags=lavfi.signalstats.YAVG,lavfi.signalstats.UAVG,lavfi.signalstats.VAVG -of json > yuv.json

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

オプション

  • stat[flags]
    コンソールに統計データを表示する
    既定値:0
    • 0:表示しない。既定値
    • 1, tout
      時間的な異常値のピクセルを識別する。時間的な異常値とは同じフィールドの隣接するピクセルとは異なるピクセルである
    • 2, vrep
      縦のラインの反復を識別する。縦のラインの反復にはフレーム内の近似のピクセルを含む
    • 3, tout+vrep
    • 4, brng
      TVスケール(リミテッドレンジ)から外れているピクセルを識別する
    • 5, tout+brng
    • 6, vrep+brng
    • 7, tout+vrep+brng
  • out[int]
    映像に統計情報をハイライト表示する
    • 0, tout
    • 1, vrep
    • 2, brng
  • color, c[color]
    ハイライトの色指定
    既定値:yellow
    メタデータでの設定項目。metadatadrawgraph を併用する

  • YMIN
    該当フレームの Y の最小値。0 から 255 まで
  • YLOW
    該当フレームの Y の10%の値。0 から 255 まで
  • YAVG
    該当フレームの Y の平均値。0 から 255 まで
  • YHIGH
    該当フレームの Y の90%の値。0 から 255 まで
  • YMAX
    該当フレームの Y の最大値。0 から 255 まで
  • UMIN
    該当フレームの U の最小値。0 から 255 まで
  • ULOW
    該当フレームの U の10%の値。0 から 255 まで
  • UAVG
    該当フレームの U の平均値。0 から 255 まで
  • UHIGH
    該当フレームの U の90%の値。0 から 255 まで
  • UMAX
    該当フレームの U の最大値。0 から 255 まで
  • VMIN
    該当フレームの V のでの最小値。0 から 255 まで
  • VLOW
    該当フレームの V のでの10%の値。0 から 255 まで
  • VAVG
    該当フレームの V のでの平均値。0 から 255 まで
  • VHIGH
    該当フレームの V のでの90%の値。0 から 255 まで
  • VMAX
    該当フレームの V のでの最大値。0 から 255 まで
  • SATMIN
    該当フレームの彩度の最小値。0 から 181.02 まで
  • SATLOW
    該当フレームの彩度の10%の値。0 から 181.02 まで
  • SATAVG
    該当フレームの彩度の平均値。0 から 181.02 まで
  • SATHIGH
    該当フレームの彩度の90%の値。0 から 181.02 まで
  • SATMAX
    該当フレームの彩度の最大値。0 から 181.02 まで
  • HUEMED
    該当フレームの色相の中央値。0 から 360 まで
  • HUEAVG
    該当フレームの色相の平均値。0 から 360 まで
  • YDIF
    現在フレームと1フレーム前の Y の差分。0 から 255 まで
  • UDIF
    現在フレームと1フレーム前の U の差分。0 から 255 まで
  • VDIF
    現在フレームと1フレーム前の V の差分。0 から 255 まで

追記
オプションの説明を詳しく書いた。2016年8月16日

コメントを残す

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