Skip to content

Curves

Video Single output Transform

Adjust components curves.

FFmpeg filter: curves — the official reference.

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

$node = $video->addFilter(new Curves(…));
$result = $node->outputs()[0];

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

$result = $video->apply(new Curves(…));

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
presetCurvesPresetNamenonenone, color_negative, cross_process, darker, increase_contrast, lighter, linear_contrast, medium_contrast, …select a color curves preset
masterstring——set master points coordinates
redstring——set red points coordinates
greenstring——set green points coordinates
bluestring——set blue points coordinates
allstring——set points coordinates for all components
psfilestring——set Photoshop curves file name
plotstring——save Gnuplot script of the curves in specified file
interpCurvesInterpNamenaturalnatural, pchipspecify the kind of interpolation

FFmpeg also names these options (use the parameter shown above): m → master, r → red, g → green, b → blue.


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