All documentation

Analyze video quality

Compare an encode with its reference using VMAF, a per-frame timeline, and visual frame comparison.

VMAF (Video Multi-Method Assessment Fusion) is a perceptual quality metric. It compares an encode with its source and scores how closely the encode preserves what viewers notice, rather than measuring raw pixel difference.

Video Commander can run the comparison, chart every frame, open problem frames side by side, and export the result without writing an FFmpeg command.

What VMAF measures

VMAF is a full-reference metric, so every run needs two files:

  • The reference is the source or mezzanine file—the highest-quality version available.
  • The distorted file is the encode you want to evaluate.

The score is relative to the reference, not an absolute grade. VMAF is most useful for comparing encoder settings on the same source, setting a quality floor for a delivery ladder, or catching a regression after changing an encoding pipeline.

Before you start

The files must contain the same content and timeline. Different frame rates, frame counts, trims, or extra leading frames misalign the frame-by-frame comparison and produce a misleading score.

VMAF also requires an FFmpeg build with the libvmaf filter. Open Settings → Local Tools, view the selected build's capabilities, and confirm VMAF is available. For faster iteration on long videos, analyze a representative range before running the complete title.

Configure the analysis

Open the Analyze view and use the Options tab:

  1. Choose the reference and distorted files.
  2. Select the HD/default, 4K, or phone model for the intended viewing case.
  3. Optionally trim the run to a representative range.
  4. Choose a scaling algorithm if the inputs do not have matching dimensions.
  5. Leave threading on Auto unless you are diagnosing a specific FFmpeg build.

Recent job outputs are available from the file selectors, so an encode or delivery result can become the distorted input without searching for it again. Press Cmd/Ctrl+Enter to start.

Read the summary

The headline score summarizes the complete run. The three supporting values provide the detail needed to interpret it:

ResultWhat it tells you
MeanAverage quality across all compared frames
MinimumThe worst-scoring frame in the run
MaximumThe best-scoring frame in the run

The gap between the mean and minimum often matters more than the mean alone. A high average with a much lower minimum points to a difficult cut, high-motion sequence, or scene where rate control underspent. Treat differences smaller than roughly one VMAF point cautiously; they are rarely a useful reason to choose one encode over another by themselves.

VMAF is one model of perceptual quality. It does not replace checking cadence, audio, captions, or real playback on target devices.

Find where quality drops

The Timeline plots every frame. Hover over a point to inspect its frame number and score. A steady graph means rate control is holding quality consistently; isolated cliffs reveal the exact scenes that need review.

Open a point in Frame Comparison to inspect the reference and encode side by side, drag a wipe between them, amplify their difference, or blink between A and B. Zoom and pan stay locked so the same region remains aligned. Jump to worst frame moves directly to the minimum score.

Choose the right model

The model should match the intended playback environment:

ModelUse it for
HD/defaultMost 1080p and general streaming work
4KDelivery intended for a 4K display
PhoneMobile-specific encodes viewed on a smaller screen

The same encode can score differently under each model because the assumed viewing conditions differ. Do not use the phone model to approve an encode that will primarily be watched on a television.

Keep or export a result

Completed analyses remain in job history and can be reopened from Load Previous Analysis. Export CSV for charting and comparing frame data, or JSON for a regression check, report, or automated workflow.

Encode to a quality target

The Target VMAF quality mode in Convert searches for the lowest-bitrate CRF that meets a score you choose. It encodes a representative probe, measures it, and adjusts CRF before running the final encode. See Convert a file for the complete workflow.

Common mistakes

  • Mismatched files: different resolutions, frame rates, trims, or durations can break alignment. Verify the two files before blaming the encoder.
  • The wrong reference: compare against the source that was actually encoded. Comparing a 1080p encode with a 4K master also measures the downscale.
  • Reading only the mean: use the timeline and minimum to find short visible failures hidden by a strong average.
  • Over-reading small differences: a fraction of a point is usually not a meaningful result.
Something wrong or missing on this page? Tell us.