同じ解像度、フレームレート、ピクセルフォーマット、タイムベースの2つの映像の相関関係を調べるcorrフィルタの使い方。似た用途のフィルタにssimmsadフィルタがある。

2つの映像の画質評価をする SSIM
2つの映像の差の絶対値の合計平均を調べるmsad

framesyncに対応しているので片方の出力が終わったら終了するようにできる。
2ファイル入力するフィルタの挙動設定 framesync

基本コマンド

オプション設定はなし。出力値は0から1までの小数。似てないと0に近づき、似ていると1に近づく。
ffmpeg -i 調べたい動画 -i 元の動画 -filter_complex corr -an -f null -

タイムベースが揃ってないとそれぞれのタイムベースがコンソールに表示されるのでsettbフィルタで指定する。
ffmpeg -i 調べたい動画 -i 元の動画 -filter_complex "[0:v]settb=1001/24000[0v];[1:v]settb=1001/24000[1v];[0v][1v]corr" -an -f null -

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

メタデータ出力内容。

lavfi.corr.corr.V
lavfi.corr.corr.U
lavfi.corr.corr.V
lavfi.corr.corr_avg

ffprobe連携例。出力時間は-read_intervalsで指定。
ffprobe -f lavfi -i movie=enc.mp4,settb=1001/24000,setpts=PTS-STARTPTS[0];movie=orig.mp4,settb=1001/24000,setpts=PTS-STARTPTS[1];[0][1]corr -show_entries packet_tags=lavfi.corr.corr_avg -read_intervals "%1" > corr_avg.txt

ffprobe の使い方

コメントを残す

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

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