Skip to content

Psnr

Video Single output Transform

Calculate the PSNR between two video streams.

FFmpeg filter: psnr — the official reference.

Add it to a graph. The explicit form works for every filter — bind it to its inputs and read the result from outputs():

$node = $video->addFilter(new Psnr(), [$other]);
$result = $node->outputs()[0];

Shorthand. Single-output filters can skip the node — apply() returns the result stream directly:

$result = $video->apply(new Psnr(), $other);

TODO — when this filter shines: what it’s the right tool for, what to reach for instead when it isn’t, and how it composes with neighbouring filters.

TODO — prose: how the filter actually works and what its key parameters mean (the explanation FFmpeg’s terse option help omits).

TODO — runnable PHP, with the equivalent ffmpeg CLI alongside.

TODO

TODO

ParameterTypeDefaultRange / valuesDescription
stats_filestringSet file where to store per-frame difference information
stats_versionint112Set the format version for the stats file.
output_maxboolfalseAdd raw stats (max values) to the output log.

FFmpeg also names these options (use the parameter shown above): fstats_file.


Maps to FFmpeg’s psnr filter. Verified against ffmpeg n7.1.1.

An Artisan Build project.

Built on FFmpeg — an independent binding, not affiliated with or endorsed by the FFmpeg project. Support FFmpeg.