Estou usando um filtro complexo que funciona, mas quando mudo um pouco, obtenho uma má qualidade de resultado. Esta versão parece funcionar bem:
[0:v]scale=640:480 [temp0];
[0:v] setpts=PTS-STARTPTS-1/TB, scale=128x96 [firsthistory];
[0:v] setpts=PTS-STARTPTS-1/TB, scale=128x96 [secondhistory];
[temp0][firsthistory] overlay=shortest=1:x=480:y=28 [temp1];
[temp1][secondhistory] overlay=shortest=1:x=480:y=139
Isso é fazer um vídeo e, em seguida, colocar duas sobreposições de subtelas à direita, o que mostra que o vídeo mudou para frente no tempo. Para definir o tempo para a frente para as legendas, eu uso setpts = PTS-STARTPTS-n / TB, onde n é o número de segundos para mudar o tempo. Isso funciona, mas honestamente eu não entendo isso.
De qualquer forma, isso funciona quando n = 1. Se eu mudar os vídeos ainda mais para frente, a qualidade de vídeo resultante será ruim. A saída de vídeo é irregular, por exemplo, usando o abaixo n = 2,4:
[0:v]scale=640:480 [temp0];
[0:v] setpts=PTS-STARTPTS-2/TB, scale=128x96 [firsthistory];
[0:v] setpts=PTS-STARTPTS-4/TB, scale=128x96 [secondhistory];
[temp0][firsthistory] overlay=shortest=1:x=480:y=28 [temp1];
[temp1][secondhistory] overlay=shortest=1:x=480:y=139
Os parâmetros completos do ffmpeg são
'-i',
'b77b24e5-27a6-459b-aa11-8f79e0162659.mpeg',
'-filter_complex',
'[0:v]scale=640:480 [temp0];[0:v] setpts=PTS-STARTPTS-2/TB, scale=128x96 [firsthistory];[0:v] setpts=PTS-STARTPTS-4/TB, scale=128x96 [secondhistory];[temp0][firsthistory] overlay=shortest=1:x=480:y=28 [temp1];[temp1][secondhistory] overlay=shortest=1:x=480:y=139',
'-c:v',
'libvpx',
'-b:v',
'1M',
'-c:a',
'libvorbis',
'-vf',
'scale=960:-1',
'50649689680c6e5976d1d7fb3fd603259c2ab6e0.webm'