How to Use the FFmpeg Noise Filter

This guide explains how to use the noise filter in FFmpeg to add video noise or digital grain to your video files. You will learn the fundamental syntax, key parameters for controlling noise intensity, and practical command-line examples to help you simulate film grain or generate test patterns.

Understanding the FFmpeg Noise Filter

The noise filter in FFmpeg allows you to introduce random noise into the luma (brightness) and chroma (color) channels of a video. It is commonly used to simulate analog film grain, hide compression artifacts, or create placeholder test footage.

The basic syntax for applying the noise filter is:

ffmpeg -i input.mp4 -vf "noise=parameter_options" output.mp4

Key Filter Parameters

To control how the noise looks, you can configure several parameters. These can be applied to all channels at once, or targeted specifically at luma (l) or chroma (c) channels.

Practical Examples

1. Add Subtle Film Grain (Luma Only)

To simulate natural-looking film grain, you should only add temporal noise to the luma channel. This keeps the color channels clean while adding texture to the brightness.

ffmpeg -i input.mp4 -vf "noise=luma_strength=8:luma_flags=t" -c:a copy output.mp4

2. Add Heavy Color Static (Temporal Noise)

If you want to create a heavy “retro TV” static effect, apply strong temporal noise to all channels (both brightness and color).

ffmpeg -i input.mp4 -vf "noise=alls=30:allf=t" -c:a copy output.mp4

3. Add Uniform Static (Noisy Overlay)

By default, FFmpeg uses Gaussian noise, which looks like natural grain. If you want harsh, digital pixel noise, add the u flag to enable uniform noise.

ffmpeg -i input.mp4 -vf "noise=alls=20:allf=t+u" -c:a copy output.mp4

4. Add Stationary Noise (Frozen Grain)

If you omit the t flag, the noise pattern will remain static on the screen while the video plays underneath.

ffmpeg -i input.mp4 -vf "noise=alls=15" -c:a copy output.mp4