Я пытаюсь применить эффект замедленного движения к серии видео. И в дальнейшем эти видео будут масштабироваться, дополняться и выцветать. Ниже приведена команда, которую я использую, чтобы применить замедленное движение.
ffmpeg -i 1.mp4 -filter_complex "
[0:v]trim=0:5,setpts=PTS-STARTPTS[tv1];
[0:v]trim=5:7,setpts=PTS-STARTPTS[tv2];
[0:v]trim=start=7,setpts=PTS-STARTPTS[tv3];
[tv2]setpts=PTS*2[slow];
[tv1][slow][tv3]concat=n=3:v=1:a=0[out]" -map [out] -c:v libx264 test.mp4
У меня два вопроса.
- Ссылаясь на
[tv2]
хотя он обрезается и применяется эффект замедленного движения, начиная с 5-й секунды, фактически он применяет эффект с 4-й секунды. Что является причиной этого?
Ниже приведена команда, которую я использую для другой обработки сразу после объединения в приведенной выше команде.
[concat0]scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:(1280-iw*min(1280/iw\,720/ih))/2:(720-ih*min(1280/iw\,720/ih))/2,format=pix_fmts=yuva420p,fade=t=out:st=16:d=2:alpha=1,setpts=expr=PTS-STARTPTS+10/TB[va0];
Там мне нужно указать setpts
и я использую совокупную продолжительность видео до текущего видео. Вот полная команда, которую я использую для этого.
- Как рассчитать продолжительность видео после применения эффекта замедленного движения? Например, каково будет увеличение длительности видеоизображения от первой упомянутой мной команды в секундах или даже микросекундах?