Skip to content

All-In-One suite of tools to run different video encoding variations, calculate their VMAF & related metrics, and create human-readable graphs and spreadsheets

Notifications You must be signed in to change notification settings

HunterAP23/VCAT

Repository files navigation

Video Quality Metrics Suite

This script is a combination of forking master-of-zen/Plot_Vmaf and combining it with the live motion graphing from my own repository HunterAP23/GameBench_Graph_Maker.

Summary

There are two parts to this project:

  1. Encoding different versions of the reference videos, and measuring their performance based on encode time.
  2. Calculating VMAF through the use of the FFmpeg program with the ability to run multiple instances at once to max out the speed of the calculations. VMAF scales with threads up to a certain point, and this part of the script can help
  3. Generate image and video graphs of the different VMAF related metrics. The metrics include SSIM, MS-SSIM, and others that VMAF normally generates. The video file is a live playback of the values to be used in situations like benchmark videos.

Quick Start

NOTICE: The app is currently not in a working state. Follow for updates and future releases.

VQMS Encoder

WIP

VQMS Calculator

Using FFmpeg, the script calculates the VMAF score as well as related metrics like PSNR, SSIM, and MS_SSIM. It also attempts to utilize multithreading where available, with the main focus being able to run multiple VMAF calculations simultaneously to maximize the speed of all calculations.

VQMS Plotter

This will generate a single image to show the VMAF values for the inputted VMAF file overall, and generate a video file that is animated to move through the graph, both at the same framerate (as reported by the source VMAF report) and has a transparent background.

Development and Contributing

CONTRIBUTING

Please read the CONTRIBUTING.md file to see how to set up your development environment.

Development Requirements

Python 3.8 or newer
FFmpeg

Normal Setup

Install them with either of the following commands:

pip install -r requirements.txt

OR

python -m pip install -r requirements.txt

Advanced Setup

Use any package management tool like pipenv, poetry, or something else to create a virtual environment for the project.

Quality & Performance Considerations

The default resolution for the graph image and video is 1080p. As expected, generating higher resolution images and videos will take much longer.

About

All-In-One suite of tools to run different video encoding variations, calculate their VMAF & related metrics, and create human-readable graphs and spreadsheets

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages