ffmpeg 5.1から使えるフィルタ。SI(Spatial Info:空間情報、フレーム内)とTI(Temporal Info:時間情報、フレーム間)の知覚情報のスコアを調べるsiti
フィルタの使い方。SIは複雑なシーンほど数値が高くなる。似たフィルタにentropy
フィルタがある。TIはフレーム間の動きの変化が多いほど数値が高くなる。アニメのように動かないと0になる。
映像のエントロピーを調べるentropy
各チャンネルのノイズ係数を調べる bitplanenoise
実装した論文:P.910 : Subjective video quality assessment methods for multimedia applications
論文の最新版:P.910 : Subjective video quality assessment methods for multimedia applications
映像の品質評価に使われるフィルタなど。
基本コマンド
ffmpeg -i input -vf siti=print_summary=1 -an -f null -
ログの表示例。
Total frames: 242 Spatial Information: Average: 67.555115 Max: 84.621895 Min: 51.597366 Temporal Information: Average: 9.968705 Max: 86.858612 Min: 0.000000
metadata
フィルタとの連携例。
drawtext
フィルタで映像の左上にスコアを描写。
ffplay -i input -vf siti,drawtext=y=10:fontfile=C\\://Windows/Fonts/arial.ttf:fontsize=20:fontcolor=white:box=1:boxcolor=black@0.4:text='"si="%{metadata\:lavfi.siti.si}',drawtext=y=30:fontfile=C\\://Windows/Fonts/arial.ttf:fontsize=20:fontcolor=white:box=1:boxcolor=black@0.4:text='"ti="%{metadata\:lavfi.siti.ti}'
ffmpegでログを保存。
ffmpeg -i input -vf siti,metadata=print:key=lavfi.siti.si:file=si.txt,metadata=print:key=lavfi.siti.ti:file=ti.txt -an -f null -
ffprobeでログを保存。
ffprobe -v error -f lavfi -i movie=input.mp4,siti -show_entries packet=pts_time -show_entries packet_tags=lavfi.siti.si,lavfi.siti.ti -read_intervals "%1" -of csv > siti.csv
公式ドキュメント:FFmpeg Filters Documentation : siti
オプション
- print_summary[boolean]
処理の最後の統計情報をコンソールに表示する
既定値:0(非表示)
扱えるメタデータ。
lavfi.siti.si lavfi.siti.ti