How to Smooth Skin in FFmpeg Using Smartblur
This guide explains how to use FFmpeg's built-in
smartblur filter to soften skin tones in video footage
while maintaining crisp edge details such as eyes, lips, and hair. You
will learn how the filter's core parameters work, the optimal settings
for natural-looking cosmetic retouching, and how to execute the
command.
Understanding the
smartblur Parameters
The smartblur filter works by selectively applying a
blur to low-contrast areas (like skin texture) while skipping
high-contrast boundaries (like eyelashes or facial contours). It accepts
several arguments, but the three primary ones are:
luma_radius(lr): Controls the size of the blur footprint. Accepts a float between0.1and5.0. A radius of1.0to2.5works best for facial features.luma_strength(ls): Controls blur intensity. Accepts a float between-1.0and1.0. Positive values blur the target areas, while negative values sharpen them. Values between0.5and0.9provide visible smoothing.luma_threshold(lt): The edge-preservation gate. Accepts an integer from-30to30. A value above0preserves high-contrast edges and only blurs flat regions below the threshold. Values between5and15are typical for skin.
Similar arguments exist for chroma channels:
chroma_radius (cr),
chroma_strength (cs), and
chroma_threshold (ct). Leaving chroma
parameters unset defaults them to their respective luma values.
Basic Command Syntax
To apply skin smoothing while preserving facial details, run the following command:
ffmpeg -i input.mp4 -vf "smartblur=luma_radius=1.5:luma_strength=0.8:luma_threshold=8" -c:v libx264 -crf 18 -c:a copy output.mp4Using the shorthand parameter syntax:
ffmpeg -i input.mp4 -vf "smartblur=lr=1.5:ls=0.8:lt=8" -c:v libx264 -crf 18 -c:a copy output.mp4Recommended Presets
Adjust the parameters depending on the camera resolution and desired strength:
1. Subtle, Natural Blemish Reduction (1080p)
Ideal for standard talking-head videos where texture should be retained without looking artificially filtered:
ffmpeg -i input.mp4 -vf "smartblur=lr=1.2:ls=0.5:lt=10" -c:a copy output.mp42. Medium Smoothing (1080p / 4K)
Softens pores and minor wrinkles while keeping eyes and mouth sharp:
ffmpeg -i input.mp4 -vf "smartblur=lr=2.0:ls=0.8:lt=8:cr=1.5:cs=0.5:ct=10" -c:a copy output.mp43. Heavy Smoothing (Airbrushed Look)
Creates a stronger beauty-filter effect for close-ups:
ffmpeg -i input.mp4 -vf "smartblur=lr=3.0:ls=1.0:lt=5" -c:a copy output.mp4Tips for Better Results
- Calibrate
ltfirst: If high-contrast details like eyelashes look blurry, increaseluma_threshold(e.g., from8to12). If blemishes are not smoothing out, decreaseluma_threshold(e.g., from8to5). - Scale with resolution: A 4K video requires a higher
lr(around2.5to3.5) to achieve the same visual softness that a1.5radius produces at 1080p. - Combine with unsharp masking: To restore clarity
after smoothing, chain
smartblurwith anunsharpfilter:
ffmpeg -i input.mp4 -vf "smartblur=lr=1.8:ls=0.7:lt=8,unsharp=5:5:0.5:5:5:0.0" -c:a copy output.mp4