Ce face -filter_complex (Grafuri de filtre)
În timp ce opțiunile -vf și -af procesează un singur stream liniar, -filter_complex (sau -lavfi) poate combina mai multe fișiere video și audio într-un graf complex de procesare.
Fiecare nod din graf primește etichete între paranteze drepte. De exemplu, [0:v] reprezintă video-ul primului fișier, iar [1:v] reprezintă imaginea logo-ului din al doilea fișier. Rezultatul filtrării este denumit [out] și mapat la fișierul final prin -map "[out]".
Este inima efectelor avansate: Picture-in-Picture, grile video multi-ecran (split-screen), generare de forme de undă audio și mixare sonoră pe mai multe piste.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-filter_complex "<graf>" |
Descrierea completă a nodurilor și filtrelor înlănțuite. |
[eticheta] |
Numele fluxului de intrare sau ieșire din filtru. |
Ce returnează
Execuția grafului de filtrare pe mai multe fluxuri concurente.
Exemple
Exemplul 1: Crearea unui ecran împărțit în două (Side-by-Side Split Screen)
Pune două videoclipuri unul lângă altul într-o singură pânză.
ffmpeg -i stanga.mp4 -i dreapta.mp4 -filter_complex "[0:v][1:v]hstack[v]" -map "[v]" -c:v libx264 comparatie.mp4
Ieșire în terminal
Stream #0:0 -> #0:0 (hstack -> libx264)
frame= 1800 fps= 45 q=23.0 Lsize= 38400kB time=00:01:00.00
Greșeli frecvente
- Omiterea mapării explicite prin ‘-map’ a fluxurilor rezultate din -filter_complex, determinând FFmpeg să aleagă aleatoriu un stream implicit.
- Erori de sintaxă cauzate de lipsa ghilimelelor în jurul întregului graf de filtre.
Comenzi înrudite
overlay (Suprapunere logo / PiP): Suprapune o imagine transparentă (watermark/siglă) sau un al doilea clip video peste ecranul principal.-vf scale (Redimensionare video): Scalează rezoluția video la dimensiunile dorite păstrând sau forțând raportul de aspect.-map (Mapare selectivă a fluxurilor): Selectează manual exact ce stream-uri de video, limbi audio sau subtitrări ajung în fișierul final.