Bm3d
Video Single output Transform
Block-Matching 3D denoiser.
FFmpeg filter:
bm3d— 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 Bm3d(…), [$other]);$result = $node->outputs()[0];Shorthand. Single-output filters can skip the node — apply() returns the result stream directly:
$result = $video->apply(new Bm3d(…), $other);When to use it
Section titled “When to use it”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.
How to use it
Section titled “How to use it”TODO — prose: how the filter actually works and what its key parameters mean (the explanation FFmpeg’s terse option help omits).
Examples
Section titled “Examples”TODO — runnable PHP, with the equivalent ffmpeg CLI alongside.
Gotchas
Section titled “Gotchas”TODO
See also
Section titled “See also”TODO
Parameters
Section titled “Parameters”| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
sigma | float | 1 | 0–99999.9 | set denoising strength |
block | int | 16 | 8–64 | set size of local patch |
bstep | int | 4 | 1–64 | set sliding step for processing blocks |
group | int | 1 | 1–256 | set maximal number of similar blocks |
range | int | 9 | ≥ 1 | set block matching range |
mstep | int | 1 | 1–64 | set step for block matching |
thmse | float | 0 | ≥ 0 | set threshold of mean square error for block matching |
hdthr | float | 2.7 | ≥ 0 | set hard threshold for 3D transfer domain |
estim | Bm3dMode | basic | basic, final | set filtering estimation mode |
ref | bool | false | — | have reference stream |
planes | int | 7 | 0–15 | set planes to filter |
Maps to FFmpeg’s bm3d 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.