slhck / ffmpeg-quality-metrics

Calculate quality metrics with FFmpeg (SSIM, PSNR, VMAF, VIF)
406 stars 52 forks source link

add support for more native ffmpeg quality metrics #31

Open richardpl opened 3 years ago

richardpl commented 3 years ago

There is now also vif (Visual Information Fidelity), and soon identity and msad (Mean Sum of Squared Differences).

They also supports slice threading and timeline (calculating quality metrics only for some frame ranges),

slhck commented 3 years ago

Thanks for the info! I'll probably add an option to calculate them in addition ot the default ones, like for VMAF.

slhck commented 3 years ago

VIF is now implemented since version 2.0.

richardpl commented 3 years ago

Cool.

ls-milkyway commented 2 years ago

Now ffmpeg ...i guess also supports dssim & ms_ssim

slhck commented 2 years ago

@ls-milkyway Why do you think FFmpeg supports DSSIM? Note that VMAF already includes an MS-SSIM computation.

ls-milkyway commented 2 years ago

@ls-milkyway Why do you think FFmpeg supports DSSIM? Note that VMAF already includes an MS-SSIM computation.

I mean you can now build ffmpeg with DSSIM...yep MS-SSIM is included; example: ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf='feature=name=ms_ssim' -f null -

ls-milkyway commented 2 years ago

Please Note: You can add/remove support for more native ffmpeg quality metrics...but please do not change the JSON output structure as I am using it extensively as an input to another program....thanks

slhck commented 2 years ago

@ls-milkyway Why do you think FFmpeg supports DSSIM? Note that VMAF already includes an MS-SSIM computation.

I mean you can now build ffmpeg with DSSIM...yep MS-SSIM is included; example: ffmpeg -i distorted.mpg -i reference.mpg -lavfi libvmaf='feature=name=ms_ssim' -f null -

That seems to be a third party addon not provided by FFmpeg itself.

Please Note: You can add/remove support for more native ffmpeg quality metrics...but please do not change the JSON output structure as I am using it extensively as an input to another program....thanks

Sure, I have experienced such problems myself and I'll promise not to change it! I will get back to this issue (and a few other VMAF-related problems) later in May.

ls-milkyway commented 2 years ago

That seems to be a third party addon not provided by FFmpeg itself.

Yep, but I guess MS-SSIM is better evaluation than SSIM OR DSSIM...hence you can include MS-SSIM instead of SSIM OR DSSIM. As I am not an expert regarding video quality evaluation algorithms ....just saw some articles....so it's up to you to decide. Thanks.

slhck commented 2 years ago

You can get MS-SSIM through VMAF (https://github.com/Netflix/vmaf/blob/master/libvmaf/src/feature/ms_ssim.c), so it should be possible to enable it. I will have to add support to map the respective CLI options though.

slhck commented 1 year ago

Note that MS-SSIM evaluation is now possible starting with version 3.x of this program. See the --vmaf-features option as explained in the README.