Skip to content

Ssim360

Video Single output Transform

Calculate the SSIM between two 360 video streams.

FFmpeg filter: ssim360 — 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 Ssim360(), [$other]);
$result = $node->outputs()[0];

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

$result = $video->apply(new Ssim360(), $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
compute_chromaint101Specifies if non-luma channels must be computed
frame_skip_ratioint001000000Specifies the number of frames to be skipped from evaluation, for every evaluated frame
ref_projectionSsim360Projectionequirectequirect, c3x2, c2x3, barrel, barrelsplitprojection of the reference video
main_projectionSsim360Projection5equirect, c3x2, c2x3, barrel, barrelsplitprojection of the main video
ref_stereoSsim360StereoFormatmonomono, tb, lrstereo format of the reference video
main_stereoSsim360StereoFormat3mono, tb, lrstereo format of main video
ref_padfloat0010Expansion (padding) coefficient for each cube face of the reference video
main_padfloat0010Expansion (padding) coeffiecient for each cube face of the main video
use_tapeint001Specifies if the tape based SSIM 360 algorithm must be used independent of the input video types
heatmap_strstringHeatmap data for view-based evaluation. For heatmap file format, please refer to EntSphericalVideoHeatmapData.
default_heatmap_widthint3214096Default heatmap dimension. Will be used when dimension is not specified in heatmap data.
default_heatmap_heightint1614096Default heatmap dimension. Will be used when dimension is not specified in heatmap data.

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


Maps to FFmpeg’s ssim360 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.