Skip to content

Zoneplate

Video Single output Source

Generate zone-plate.

FFmpeg filter: zoneplate — the official reference.

Generate a stream. Zoneplate is a source — it has no input, so you create a stream from it rather than applying it to one:

$video = \FFmpeg\VideoStream::generate(new Zoneplate(…));

apply() and addFilter() do not apply to source filters (there is nothing to attach them to).

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
sizestring320x240—set video size
ratestring25—set video rate
durationint-1≥ -1set video duration
sarstring——set video sample aspect ratio
precisionint104–16set LUT precision
xoint0—set X-axis offset
yoint0—set Y-axis offset
toint0—set T-axis offset
k0int0—set 0-order phase
kxint0—set 1-order X-axis phase
kyint0—set 1-order Y-axis phase
ktint0—set 1-order T-axis phase
kxtint0—set X-axis*T-axis product phase
kytint0—set Y-axis*T-axis product phase
kxyint0—set X-axis*Y-axis product phase
kx2int0—set 2-order X-axis phase
ky2int0—set 2-order Y-axis phase
kt2int0—set 2-order T-axis phase
kuint0—set 0-order U-color phase
kvint0—set 0-order V-color phase

FFmpeg also names these options (use the parameter shown above): s → size, r → rate, d → duration.


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