The eq filter is the workhorse for a quick color correction: brightness, contrast, saturation, gamma, and a per-channel red/blue/green balance. It is less precise than curves but faster to type, and the parameters are linear so you can predict the result without rendering.

The command

ffmpeg -i in.mp4 -vf "eq=brightness=0.05:contrast=1.1:saturation=1.2" -c:v libx264 -crf 20 out.mp4

What it does

The `eq` filter applies a linear transform to the YUV channels. `brightness` is added to the luma in the -1 to 1 range. `contrast` is a multiplier around 1.0; 1.1 is a subtle contrast boost. `saturation` is a multiplier on the chroma planes. The defaults are 0, 1, 1 — no change. To shift the color temperature, add `gamma_r`, `gamma_g`, `gamma_b` to adjust each channel's gamma.

Requirements

Any video input. The filter is in libavfilter. CPU-only, single-pass. The default values are sensible, so leaving a parameter out of the expression is safe.

Things to avoid

  • Using values far from 1.0. A contrast of 2.0 will clip the highlights to pure white; a brightness of 0.5 will lift the blacks and add a permanent gray cast.
  • Applying eq after a heavy denoise. The denoise softens the contrast, so the eq you choose will look different than it did on the source.
  • Forgetting that the parameters are not in display units. `brightness=0.1` is a 10% luma offset, not a 10 IRE step.
  • Combining eq with a curves filter on the same channel. The two will compound, and the second filter sees the first filter's output as its input.