How to Use FFmpeg owdenoise for Wavelet Denoising
This article provides a practical guide on how to use the
owdenoise (Overcomplete Wavelet Denoiser) filter in FFmpeg
to reduce video noise. You will learn the basic syntax, understand the
key parameters that control the denoising intensity, and explore
real-world command examples to clean up noisy or grainy video footage
effectively.
The owdenoise filter applies an overcomplete
wavelet-based denoising algorithm to video frames. While it is
computationally intensive compared to simpler filters like
hqdn3d, it preserves edge details exceptionally well while
smoothing out high-frequency noise.
FFmpeg owdenoise Syntax and Parameters
The basic syntax for applying the filter is:
-vf "owdenoise=depth:luma_strength:chroma_strength"The filter accepts three main parameters, all of which are optional:
depth(integer, default3): The wavelet decomposition depth. Allowed values range from1to16. A higher depth results in better noise reduction, particularly for larger-scale noise, but significantly increases processing time. Values between3and5are recommended for most videos.luma_strength(float, default1.0): The denoising strength applied to the luminance (brightness) channel. Higher values mean stronger denoising.chroma_strength(float, default1.0): The denoising strength applied to the chrominance (color) channels. If omitted, it defaults to the same value asluma_strength.
Practical Command Examples
1. Denoising with Default Settings
To apply the owdenoise filter with its default
parameters (depth of 3, luma strength of 1.0, and chroma strength of
1.0), use the following command:
ffmpeg -i input.mp4 -vf "owdenoise" -c:a copy output.mp42. Light Denoising for Fine-Grain Noise
If your video only has a small amount of fine-grain noise and you
want to preserve maximum texture and detail, lower the strengths to
0.5:
ffmpeg -i input.mp4 -vf "owdenoise=depth=3:luma_strength=0.5:chroma_strength=0.5" -c:a copy output.mp43. Strong Denoising for Low-Light Footage
For heavily distorted or noisy videos, such as those shot in low-light conditions, increase the decomposition depth and the denoising strengths:
ffmpeg -i input.mp4 -vf "owdenoise=depth=4:luma_strength=2.0:chroma_strength=1.5" -c:a copy output.mp44. Denoising Only the Luma Channel
Sometimes, you may want to remove brightness grain while keeping the
original color channels untouched. To achieve this, set the chroma
strength to 0:
ffmpeg -i input.mp4 -vf "owdenoise=depth=3:luma_strength=1.5:chroma_strength=0" -c:a copy output.mp4Using owdenoise is a trade-off between encoding speed
and visual quality. If encoding performance is a priority, keep the
depth parameter at 3 or lower, as higher depth
values will drastically increase render times.