bdr-ssimu2

Encode, analyze, & plot SSIMULACRA2 scores using a source video file that is encoded with FFmpeg.

This Python script generates BD-Rate (Bjøntegaard-Delta Rate) graphs for comparing the performance of different encoding commands. It encodes a source video with various specified Constant Rate Factor (CRF) values, calculates SSIMULACRA2 scores, and plots the results via matplotlib.

Features

  • Encodes a source video using two user-configurable FFmpeg commands
  • Calculates SSIMULACRA2 scores (and soon XPSNR scores as well)
  • Generates BD-Rate curves comparing the two encoding commands
  • Outputs both average and harmonic mean SSIMULACRA2 plots
  • Allows for temporal metric analysis subsampling (sampling every nth frame)

Prerequisites

  • Python 3.x
  • FFmpeg
  • VapourSynth with:
  • Required Python packages:
    • vapoursynth
    • matplotlib
    • tqdm

See more in the linked Git repo’s README!