2つの動画が似ているか、SSIMとPSNRを計算するには

ビットレートを落として、2つの動画がどれくらい似ているかを調べたことがあります。ffmepgコマンドでSSIMとPSNRを計算することができます。

SSIM

$ ffmpeg -i a.mp4  -i b.mp4  -filter_complex ssim=ssim.log -an -f null -
(省略)
[Parsed_ssim_0 @ 0x55840b60dfa0] SSIM Y:0.813636 (7.296372) U:0.910095 (10.462145) V:0.951672 (13.157980) All:0.852718 (8.318509)Code language: Bash (bash)

yuv各チャンネルのSSIM、AllのSSIMが表示されます。上の例では、Allは0.852718 でした。

ssim=ssim.logとしたので、全フレームのSSIM計算結果が、ssim.logに記録されます。ssim.logを調べて、最小、最大を求めることができます。

PSNR

$ ffmpeg -i a.mp4  -i b.mp4  -filter_complex psnr=psnr.log -an -f null -
(省略)
[Parsed_psnr_0 @ 0x55fd92a41fa0] PSNR y:24.330686 u:36.690654 v:38.438747 average:25.987635 min:20.211981 max:31.569414Code language: Bash (bash)

yuv各チャンネルのPSNRのほかに、全フレームの平均、min、maxのPSNRが表示されます。

参考URL

タイトルとURLをコピーしました