A vignette is a soft darkening around the edges of the frame, like an old lens or a portrait photo. It draws the eye to the center and adds a subtle cinematic look. The `vignette` filter in libavfilter is a one-line effect with parameters for angle, aspect, and softness.

The command

ffmpeg -i in.mp4 -vf "vignette=PI/4" -c:v libx264 -crf 20 out.mp4

What it does

The first number is the angle of the smoothstep transition from the bright center to the dark edge. A larger angle means a wider, softer vignette. The default is `PI/5`. The optional second parameter is the aspect ratio correction; use it to keep the vignette circular on non-square pixels. The optional third parameter is the start offset — increase it to start the darkening further from the center.

Requirements

Any video input. The filter is in libavfilter. CPU-only. The effect is added to the source before encoding, so the encoder will spend extra bits on the dark edges — set your CRF one or two points higher than usual to keep the file size similar.

Things to avoid

  • Using a very small angle on a wide frame. A `vignette=PI/20` vignette is barely visible on 4:3, and a thin sliver on 16:9.
  • Combining vignette with a dark scene. The dark edges will sink into the background and look like compression noise.
  • Adding vignette to footage that already has dark edges. A flat dark scene with a vignette looks like a poorly exposed image.
  • Forgetting to verify on the target display. A vignette that looks subtle on a calibrated monitor can look heavy on a phone screen with auto-brightness enabled.