-filter_complex (Grafuri de filtre) în FFmpeg

Permite construirea de grafuri avansate cu intrări multiple și ieșiri multiple pentru mixare audio-video.

Sintaxă
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10[out]" -map "[out]" -map 0:a iesire.mp4

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