Eu tenho muitos vídeos e preciso colocar uma imagem na frente deles por cerca de 5 segundos, mas adicioná-la manualmente e renderizá-la a cada vez levaria muito tempo, por isso estou perguntando se é possível fazê-lo via ffmpeg e se você poderia, por favor, me ajudar com isso, já que não tenho experiência com o ffmpeg. Eu já encontrei alguns comandos, mas nenhum deles funcionou. Este por exemplo.
ffmpeg -itsoffset 5 -i in.mp4 -r 25 -loop 1 -i intro.png -filter_complex "[1:v] fade=out:125:25:alpha=1 [intro]; [0:v][intro] overlay [v]" -map "[v]" -map 0:a -acodec copy out.mp4
Respostas:
Você pode fazer uma sobreposição de imagem simples usando a seguinte sintaxe:
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.fonte