Apenas alguns anos atrasados, mas:
Isso funciona para subs não codificados (não gravados), portanto, srt, ass ass e afins.
ffmpeg -i input.mp4 -itsoffset -0.7 -i input.mp4 -map 0:v -map 0:a -map 1:s -c copy output.mp4
Este comando usa o mesmo arquivo para entrada duas vezes, mas usar -itsoffset -0.7
diz para compensar os timestamps na entrada a seguir em -0,7 segundos. Os comandos do mapa então dizem para pegar o v e um udio da entrada 0 que não tem um atraso, e pegue o s faixa de legenda da primeira entrada que é compensada.