Skip to content

Decimate

Video Single output Transform

Decimate frames (post field matching filter).

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

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

$result = $video->apply(new Decimate(), $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
cycleint5225set the number of frame from which one will be dropped
dupthreshfloat1.10100set duplicate threshold
scthreshfloat150100set scene change threshold
blockxint324512set the size of the x-axis blocks used during metric calculations
blockyint324512set the size of the y-axis blocks used during metric calculations
ppsrcboolfalsemark main input as a pre-processed input and activate clean source input stream
chromabooltrueset whether or not chroma is considered in the metric calculations
mixedboolfalseset whether or not the input only partially contains content to be decimated

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