Add a vignette
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.mp4What 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.