Você pode usar um filtergraph para fazer toda a filtragem:
ffmpeg -i input.avi -i logo.png -filter_complex \
"[0:v]scale=854:-2[scaled]; \
[scaled][1:v]overlay=5:5[out]" \
-map "[out]" -map 0:a -c:v libx264 -c:a copy output.mkv
-
[0:v]
refere-se ao (s) fluxo (s) de vídeo da primeira entrada (input.avi
neste exemplo).[1:v]
é o vídeo da segunda entrada (logo.png
neste exemplo). -
O áudio é copiado a vapor neste exemplo, em vez de ser recodificado; assumindo que sua primeira entrada tenha áudio.
-
A melhor prática é nomear manualmente as entradas e saídas do filtro, como neste exemplo, em vez de confiar em padrões que podem resultar em seleções de fluxo impróprias.
-
-2
no filtro de vídeo de escala é usado em vez de-1
, porque o x264 exige a saída seja divisível por 2 ao emitir para subamostragem de croma 4: 2: 0:
If one of the values is -n with n > 1, the scale filter will also use a value that maintains the aspect ratio of the input image, calculated from the other specified dimension. After that it will, however, make sure that the calculated dimension is divisible by n and adjust the value if necessary.