#audio-video #metrics #quality #ssim #ffmpeg #color #psnr

app av-metrics-tool

A CLI tool for measuring audio/video metrics

16 releases

0.9.2 Sep 17, 2024
0.9.1 Apr 23, 2023
0.9.0 Oct 5, 2022
0.8.2 Apr 10, 2022
0.3.0 Nov 11, 2019

#84 in Video

Download history 91/week @ 2024-09-12 48/week @ 2024-09-19 15/week @ 2024-09-26 3/week @ 2024-10-03 1/week @ 2024-10-10

110 downloads per month

MIT license

145KB
3K SLoC

Quality metrics

crate docs LICENSE Actions Status IRC zulip chat

Video Metrics implemented

  • PSNR
  • APSNR
  • PSNR HVS
  • SSIM
  • MSSSIM
  • CIEDE2000

Installation

As a library

Add the following to your Cargo.toml

av-metrics = "0.7"

Then check out the API docs.

As a binary

Windows

Download the latest binary from the Releases tab.

OS X and Linux

Pre-built binaries are coming soon. In the meantime, have the latest stable Rust installed and run the following:

cargo install av-metrics-tool

Usage

From any terminal, run the executable with your two video files as arguments:

➜ av-metrics-tool lossless.y4m lossy.y4m

You should receive output for all supported metrics:

PSNR - Y: 32.5281  U: 36.4083  V: 39.8238  Avg: 33.6861
APSNR - Y: 32.5450  U: 36.4087  V: 39.8244  Avg: 33.6995
PSNR HVS - Y: 34.3225  U: 37.7400  V: 40.5569  Avg: 31.8674
SSIM - Y: 13.2572  U: 10.8624  V: 12.8369  Avg: 12.6899
MSSSIM - Y: 18.8343  U: 16.6943  V: 18.7662  Avg: 18.3859
CIEDE2000 - 36.2820

By default, the tool can only decode y4m files. Both files must match in resolution, bit depth, and color sampling.

Alternate input formats can be supported by enabling FFMpeg support. Due to limitations, this currently has to be enabled at compile time.

In the crate, this can be enabled with the feature "ffmpeg-decode". In the binary, this can be enabled with the feature "ffmpeg".

Dependencies

~6–14MB
~174K SLoC