Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust implementation of the SSIMULACRA2 metric #104

Open
LastBreeze opened this issue Jan 1, 2023 · 4 comments
Open

Rust implementation of the SSIMULACRA2 metric #104

LastBreeze opened this issue Jan 1, 2023 · 4 comments

Comments

@LastBreeze
Copy link

Would it be possible to one day have ssim2 score as an optional metric for greater psychovisual accuracy over VMAF? Just one example is that VMAF performs poorly in areas of low luma, claiming everything is fine when the video is far from it.
Rust implementation: https://github.com/rust-av/ssimulacra2

@alexheretic
Copy link
Owner

Having alternative quality metrics would indeed be possible.

The first step is figuring out how use it to compare two video streams, then integrating it in ab-av1 should be possible. Probably easiest to find an ffmpeg invokation, since that is how vmaf is done.

@LastBreeze
Copy link
Author

LastBreeze commented Jan 4, 2023

ffmpeg having ssim2 would be nice. But although the image comparison has been around for a while, the ssim2 app for measuring video is quite new, so we probably won't see it in ffmpeg for years. Could it be added to ab-av1 as an external app and invoked like ffmpeg is for vmaf, or could the rust code be integrated into ab-av1?

@alexheretic alexheretic mentioned this issue Jan 2, 2024
@alexheretic
Copy link
Owner

Perhaps it would be possible to pipe ffmpeg into a ab-av1 ssimulacra2 process. So ffmpeg handles converting into a standard stream of frames or whatever ssimulacra2 needs to work. This needs investigation.

@MCOfficer
Copy link

MCOfficer commented Jan 2, 2024

Is there a way to pipe 2 videos (distorted and reference) to stdin? Maybe there's some ffmpeg magic that alternates frames from both sources.

Alternatively, perhaps you can use ffmpeg-sidecar to avoid linking to a decoder of some sort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants