基本コマンド
コンソールに統計データを表示する。
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の高ビット深度にも対応している。
メタデータ出力内容。
lavfi.signalstats.YMIN lavfi.signalstats.YLOW lavfi.signalstats.YAVG lavfi.signalstats.YHIGH lavfi.signalstats.YMAX lavfi.signalstats.UMIN lavfi.signalstats.ULOW lavfi.signalstats.UAVG lavfi.signalstats.UHIGH lavfi.signalstats.UMAX lavfi.signalstats.VMIN lavfi.signalstats.VLOW lavfi.signalstats.VAVG lavfi.signalstats.VHIGH lavfi.signalstats.VMAX lavfi.signalstats.SATMIN lavfi.signalstats.SATLOW lavfi.signalstats.SATAVG lavfi.signalstats.SATHIGH lavfi.signalstats.SATMAX lavfi.signalstats.HUEMED lavfi.signalstats.HUEAVG lavfi.signalstats.YDIF lavfi.signalstats.UDIF lavfi.signalstats.VDIF lavfi.signalstats.YBITDEPTH lavfi.signalstats.UBITDEPTH lavfi.signalstats.VBITDEPTH