Boost Unsaturated Colors Using FFmpeg Vibrance
The FFmpeg vibrance filter is a powerful color-grading
tool designed to boost muted, unsaturated colors in a video stream
without oversaturating tones that are already vivid. Unlike a generic
saturation boost, which uniformly amplifies all colors and often ruins
natural skin tones, the vibrance filter intelligently targets only
low-saturation pixels. This guide explains how the filter works,
demonstrates practical command-line examples, and covers how to
fine-tune individual color balances for balanced, natural-looking
results.
Understanding the Vibrance Filter
The vibrance filter operates by analyzing the current
saturation level of each pixel and applying a non-linear boost:
- Low-saturation areas receive the strongest enhancement.
- High-saturation areas receive minimal to no boost, preventing color clipping.
- Skin tones remain relatively natural compared to
using the standard
eqorhuefilters.
The core parameter is intensity, which accepts values
from -2.0 to 2.0. A positive value increases
vibrance, 0.0 leaves the image unchanged, and negative
values desaturate the image.
Basic Vibrance Command
To apply a moderate vibrance boost to an input video, specify the
-vf (video filter) option with the vibrance
filter and your desired intensity.
ffmpeg -i input.mp4 -vf "vibrance=intensity=0.5" -c:a copy output.mp4In this command:
-i input.mp4defines the source video.-vf "vibrance=intensity=0.5"increases the saturation of muted colors by 50%.-c:a copycopies the audio stream directly without re-encoding to save time and preserve audio quality.
Adjusting Individual Color Channels
The vibrance filter also allows you to adjust how
strongly specific color spectrums are boosted using the balance
parameters: rbal (red balance), gbal (green
balance), and bbal (blue balance). The default value for
each balance parameter is 1.0.
Protecting Skin Tones (Lowering Red Vibrance)
If human subjects in the video look overly red or orange after applying vibrance, reduce the red balance while maintaining the overall boost:
ffmpeg -i input.mp4 -vf "vibrance=intensity=0.6:rbal=0.5:gbal=1.0:bbal=1.0" -c:a copy output.mp4Enhancing Landscapes (Targeting Greens and Blues)
To make foliage and skies pop in outdoor footage without distorting warm highlights:
ffmpeg -i input.mp4 -vf "vibrance=intensity=0.7:rbal=0.3:gbal=1.2:bbal=1.4" -c:a copy output.mp4Available Parameters Reference
intensity: Strength of the boost. Range:-2.0to2.0(Default:0.0).rbal: Red balance coefficient. Range:-10.0to10.0(Default:1.0).gbal: Green balance coefficient. Range:-10.0to10.0(Default:1.0).bbal: Blue balance coefficient. Range:-10.0to10.0(Default:1.0).rlum/glum/blum: Luma weighting factors for calculating pixel intensity (Defaults:0.072186,0.715158,0.212656).
Combining Vibrance with Other Filters
For comprehensive color correction, chain the vibrance
filter with standard contrast or exposure controls using a comma inside
the filter graph:
ffmpeg -i input.mp4 -vf "eq=contrast=1.05:brightness=0.02,vibrance=intensity=0.4" -c:v libx264 -crf 18 -c:a copy output.mp4This sequence slightly lifts the brightness and contrast via
eq before applying the vibrance filter,
producing a punchy, professional look without blowing out saturation
limits.