psnr簡介:
PSNR— Peak Signal-to-Noise Ratio,峰值信噪比,即通過均方誤差的對數值來表示圖像的失真程度,是客觀視頻評價中常用的評估方法之一
評價標準:PSNR越大代表失真越小
psnr的使用:
ffmpeg -i src.mp4 -i out.mp4 -lavfi psnr="stats_file=psnr.log" -f null -
-lavfipsnr="stats_file=psnr.log",或-filter_complex psnr="stats_file=psnr.log" ,stats_file=psnr.log是將每一對對比幀的Y、U、V分量的mse和psnr以及mse和psnr的平均值打印到名為psnr.log的文件中
1、如果兩個視頻完全一致,則對比結果為:
[Parsed_psnr_0 @ 0x7ff7c6206a40] PSNR y:inf u:inf v:inf average:inf min:inf max:inf
2、某幾幀添加貼紙導出:
ffmpeg -i src.mp4 -i out_sticker.mp4 -lavfi psnr="stats_file=psnr.log" -f null -
對比結果為:
[Parsed_psnr_0 @ 0x7fef99501240] PSNR y:27.856289 u:36.414510 v:37.883844 average:29.365433 min:25.699219 max:30.938037
查看psnr.log,發現加貼紙的幀psnr較低:
image.png
3、添加濾鏡導出
ffmpeg -i src.mp4 -i out_filter.mp4 -lavfi psnr="stats_file=psnr.log" -f null -
對比結果為:
[Parsed_psnr_0 @ 0x7f9845402500] PSNR y:15.510720 u:30.580510 v:35.516060 average:17.227230 min:17.116621 max:17.382346
查看詳情,發現每一幀的對比結果都相近:
image.png