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
cycleint52–25set the number of frame from which one will be dropped
dupthreshfloat1.10–100set duplicate threshold
scthreshfloat150–100set scene change threshold
blockxint324–512set the size of the x-axis blocks used during metric calculations
blockyint324–512set the size of the y-axis blocks used during metric calculations
ppsrcboolfalse—mark main input as a pre-processed input and activate clean source input stream
chromabooltrue—set whether or not chroma is considered in the metric calculations
mixedboolfalse—set 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.