Existe um método, provavelmente ineficiente, para fazer isso, que funcionou aqui em um teste, mas pode falhar quando os timestamps de entrada são irregulares, ou seja, começam de um valor diferente de zero.
Modelo básico é
ffmpeg -i in.mp4 -sseof -60 -copyts -i in.mp4 -loop 1 -i logo.png -filter_complex "[1][2]overlay=shortest=1[logo];[0][logo]overlay" out.mp4
O vídeo é inserido duas vezes. Na segunda entrada, a opção sseof
é configurada, o que permite buscar usando um intervalo de tempo medido a partir do final. É claro que, a menos que especificado de outra forma, o FFmpeg irá redefinir os timestamps de entrada, então copyts
está configurado para preservar a entrada TS.
Primeiro, o logotipo é sobreposto no vídeo aparado e esse resultado é sobreposto na primeira entrada. Como os timestamps são preservados, os quadros estão alinhados e a finalidade é alcançada.