基本コマンド
コンソールに統計データを表示する。
ffprobe -f lavfi movie=input,signalstats="stat=tout+vrep+brng" -show_frames
統計情報をプレビューする。
ffplay -i input -vf signalstats=out=tout
drawgraph
フィルタの併用で折れ線グラフを表示する。
ffplay -f lavfi -i "movie=input,signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255,drawgrid=0:0:0:32,format=yuv420p"
一定間隔で映像に線を引く drawgrid
メタデータを映像化する 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)'
TVスケールから外れているピクセルをシアンで描写する。
ffplay -i input -vf signalstats=out=brng:color=cyan
複数のメタデータをログに出力する。
ffmpeg -i input -vf signalstats,metadata=mode=print:key=lavfi.signalstats.YAVG:file=YAVG.txt,metadata=mode=print:key=lavfi.signalstats.UAVG:file=UAVG.txt,metadata=mode=print:key=lavfi.signalstats.VAVG:file=VAVG.txt -f null -
ffprobe -v error -f lavfi -i movie=input,signalstats -select_streams v:0 -show_entries packet=pts_time -show_entries packet_tags=lavfi.signalstats.YAVG,lavfi.signalstats.UAVG,lavfi.signalstats.VAVG -of csv > YUVAGV.csv
メタデータをコンソールに表示する 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
YUVのYの値を映像に描写する。
ffplay -i input -vf signalstats,drawtext=y=h/32:fontfile=C\\://WINDOWS/Fonts/arial.ttf:fontsize=36:fontcolor=white:box=1:boxcolor=black@0.4:text='"Y ("%{metadata\:lavfi.signalstats.YMIN}-%{metadata\:lavfi.signalstats.YLOW}-%{metadata\:lavfi.signalstats.YAVG}-%{metadata\:lavfi.signalstats.YHIGH}-%{metadata\:lavfi.signalstats.YMAX})'
他のアプリケーションに利用しやすいJSON形式に書き出す。
ffprobe -f lavfi -i "movie=input,signalstats,trim=end_frame=100" -show_entries packet=pts_time -show_entries frame_tags=lavfi.signalstats.YAVG,lavfi.signalstats.UAVG,lavfi.signalstats.VAVG -of json > yuv.json
明るさを調べるだけならdeflicker
フィルタでも可能。
フリッカー(ちらつき) を低減する deflicker
公式ドキュメント: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
- メタデータでの設定項目。
- 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 まで - YBITDEPTH
該当フレームの Y のビット深度。0 から 16 まで - UBITDEPTH
該当フレームの U のビット深度。0 から 16 まで - VBITDEPTH
該当フレームの V のビット深度。0 から 16 まで
metadata
、drawgraph
を併用する。以下は8ビット深度の例。9, 10 ,12, 14, 16の高ビット深度にも対応している。