Estoy tratando de aplicar el efecto de cámara lenta a una serie de videos. Y además, esos videos serán escalados, rellenados y desvanecidos. El siguiente es el comando que estoy usando para aplicar cámara lenta.
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
Tengo dos preguntas.
- Refiriéndose a
[tv2]
si está recortado y aplicado el efecto de cámara lenta a partir del 5 ° segundo, en realidad aplica el efecto desde el 4 ° segundo. ¿Cuál es la razón para esto?
El siguiente es el comando que estoy usando para otro procesamiento justo después de concatenar en el comando anterior.
[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];
Allí necesito especificar setpts
y estoy usando la duración acumulativa de los videos antes del video actual. Aquí está el comando completo que estoy usando para ello.
- ¿Cómo puedo calcular la duración del video después de aplicar el efecto de cámara lenta? Por ejemplo, ¿cuál sería el incremento de la duración del resultado del video del primer comando que mencioné aquí en segundos o incluso microsegundos?
-an
. Para el segundo punto, necesitaba un cálculo matemático para obtener la duración.[concat0]
, cómo se le[out]
asigna. Esto puede influir en la línea base para calcular el PTS. ¿Se hace en la misma llamada CLI o como un segundo pase? ¿Hay algo más en el medio? La referencia que dio a la otra pregunta muestra un escenario diferente.TB
. ¿Esto esta mal? Lo siento, soy nuevo en ffmpeg. (la referencia que mencioné es el comando que estoy usando y le agregué esos efectos slomo)