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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)