Você pode fazer uma sobreposição de imagem simples usando a seguinte sintaxe:
ffmpeg -i input.mp4 -i image.png \
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,20)'" \
-pix_fmt yuv420p -c:a copy \
output.mp4
overlay=25:25
significa que queremos posicionar a imagem 25px para a direita e 25px para baixo, originando no canto superior esquerdo (0: 0).
enable='between(t,0,20)'
significa que queremos que a imagem seja exibida entre os segundos 0 e 20.
[0:v][1:v]
significa que queremos que o primeiro arquivo de vídeo com o qual importamos -i
, no nosso caso, input.mp4 ou como o ffmpeg o veja número de arquivo de entrada de vídeo 0, esteja no arquivo de entrada de vídeo 1, no nosso caso image.png. :v
significa apenas que queremos o vídeo 0 e o vídeo 1. [0:a]
significa que queremos a primeira faixa de áudio importada. Que também viria de input.mp4, mas apontaria para a trilha de áudio em vez da trilha de vídeo no arquivo mp4.
Se você deseja uma determinada qualidade / configurações de imagem e não as configurações escolhidas pelo ffmpeg, adicione as opções de codificação de imagem e / ou áudio que deseja usar. O codificador de vídeo padrão será x264. Verifique o guia de codificação H.264 para possíveis configurações.
O -acodec copy
/ -c:a copy
que você possui em seu comando fe simplesmente reutilizaria o áudio do arquivo de origem. Embora você não possa fazer isso com o vídeo, é claro (neste caso), isso deve ser transcodificado porque estamos criando uma nova fonte de vídeo.
Se você deseja transcodificar o áudio, remova a -c:a copy
peça. Pode ser necessário especificar explicitamente um codificador, por exemplo -c:a aac -strict experimental
. Consulte o guia de codificação AAC para obter mais informações.