Utilizzo del overlay
filtro video per aggiungere un logo a un video:

ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay" \
-codec:a copy out.mp4
Per comprendere questo comando devi sapere cos'è un identificatore di flusso e leggere l' Introduzione al filtro FFmpeg ti aiuterà. [0:v]
si riferisce ai flussi video del primo input ( video.mp4
) e si [1:v]
riferisce al flusso video del secondo input ( logo.mp4
). Questo è il modo in cui puoi dire overlay
quali input usare. È possibile omettere [0:v][1:v]
e overlay
continuerà a funzionare, ma si consiglia di essere espliciti e di non fare affidamento su valori predefiniti probabilmente sconosciuti.
Per impostazione predefinita, il logo verrà posizionato in alto a sinistra.
Utilizzando -codec:a copy
verrà riprodotto lo streaming dell'audio. Questo semplicemente rimodella l'audio invece di ricodificarlo. Pensalo come un "copia e incolla" dell'audio.
Spostamento del logo
In questo esempio il logo verrà spostato di 10 pixel a destra e di 10 pixel in basso:

ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" \
-codec:a copy out.mp4
In questo esempio il logo verrà spostato di 10 pixel dal lato destro e di 10 pixel verso il basso:

ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4
main_w
si riferisce alla larghezza dell'input "principale" (lo sfondo o [0:v]
) e overlay_w
alla larghezza dell'input "overlay" (il logo o [1:v]
). Quindi, nell'esempio, questo può essere tradotto in overlay=320-90-10:10
o overlay=220:10
.
Temporizzazione della sovrapposizione
Alcuni filtri possono gestire la modifica della sequenza temporale che consente di utilizzare espressioni aritmetiche per determinare quando applicare un filtro. Fare riferimento a ffmpeg -filters
per vedere quali filtri supportano la modifica della sequenza temporale.
Questo esempio mostrerà il logo fino a 30 secondi:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=10:10:enable=between(t\,0\,30)" -codec:a copy out.mp4
Se vuoi sfumare il logo, fai riferimento alla risposta di mark4o .