Three flag flavors, one language
- -vf "…" — single video filtergraph applied to the default video stream. Shorthand for the common case.
- -af "…" — same idea for audio.
- -filter_complex "…" — the real deal. Multi-input, multi-output, named labels. Use this when you need anything beyond 'filter the one video stream'.
The grammar
A filtergraph is a list of filter instances joined by commas (sequential) or semicolons (parallel chains). Each filter has parameters as filter=k1=v1:k2=v2. Label inputs/outputs with [name] brackets.
[0:v]scale=1280:-2[scaled]; [scaled]drawtext=text='Hi':x=10:y=10[outv]
Read: take input 0's video, scale to 1280 wide, label that [scaled]; take [scaled], draw text on it, label the result [outv].