ffmpeg-quality

Evaluate video encodes with VMAF, PSNR, and SSIM metrics via a Python CLI.

15|4|Updated Apr 18, 2026
One-click install
npx skills add https://github.com/damionrashford/media-os --skill ffmpeg-quality
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ffmpeg-quality
Source: https://github.com/damionrashford/media-os/tree/main/skills/ffmpeg-quality
Command: npx skills add https://github.com/damionrashford/media-os --skill ffmpeg-quality

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Evaluate and compare video encodes using objective quality metrics (VMAF, PSNR, SSIM) to identify the best trade-offs.

Core Features & Use Cases

  • VMAF scoring: measure perceptual quality for encoded clips against a reference.
  • PSNR/SSIM reports: provide per-frame and pooled metrics to QA bitrates.
  • Rate-distortion sweep: auto-encode multiple CRF values and build a VMAF-size curve for encoder tuning.
  • Benchmarking & QA: compare codecs (libx264/265, SVT-AV1, VP9) across resolutions and frame rates.

Quick Start

Run the quality.py script to compute VMAF, PSNR, or SSIM between a reference and a distorted video.

Frequently Asked Questions about ffmpeg-quality

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I measure VMAF and PSNR to compare video encode quality in FFmpeg?

To measure video encode quality, you can compute VMAF and PSNR metrics against a reference video using a Python CLI with subcommands like vmaf and psnr. This requires an FFmpeg build configured with libvmaf support to generate objective quality scores.

What is the best way to automate a rate-distortion sweep for encoder tuning?

Automating a rate-distortion sweep involves encoding multiple CRF values to build a VMAF-size curve. The sweep subcommand handles this process, automatically encoding clips and calculating perceptual metrics to identify the best quality trade-offs for your specific codec.

Can I benchmark codecs like SVT-AV1 and libx265 across different bitrates and resolutions?

Yes, you can benchmark codecs like SVT-AV1, libx265, and VP9 across varying bitrates and resolutions. The tool analyzes FFmpeg-based quality metrics, allowing you to compare encoder performance and identify optimal configurations for QA and benchmarking.

Do I need a specific FFmpeg version to calculate SSIM and VMAF metrics?

You need an FFmpeg installation built with libvmaf support to calculate VMAF metrics. The SSIM and PSNR calculations also rely on FFmpeg's built-in filters, requiring proper alignment options to ensure accurate per-frame and pooled metric reports.

How do I export video quality metrics like SSIM for downstream automation?

You can export video quality metrics by running the quality script to produce JSON or log outputs. These formats capture per-frame and pooled SSIM, PSNR, and VMAF scores, enabling seamless integration into downstream QA and automation pipelines.