los setpts
filtro no tiene edición de línea de tiempo funcionalidad como algunos de los otros filtros (refiérase a ffmpeg -filters
para ver cual hacer).
Esto significa que tendrá que hacer un video lento y concatenarlos en sus videos de velocidad normal o realizar un filtrado sofisticado.
Ejemplo: solo video
Utilizando la trim
, setpts
y concat
filtros:
La entrada en este ejemplo tiene una duración de 60 segundos. 0-10 será la velocidad normal, 10-30 será un 50% más lento, y 30-end será la velocidad normal dando como resultado una salida con una duración de ~ 80 segundos:
ffmpeg -i input.mkv -filter_complex \
"[0:v]trim=0:10,setpts=PTS-STARTPTS[v1]; \
[0:v]trim=10:30,setpts=PTS-STARTPTS[v2]; \
[0:v]trim=start=30,setpts=PTS-STARTPTS[v3]; \
[v2]setpts=PTS/0.5[slowv]; \
[v1][slowv][v3]concat=n=3:v=1:a=0[out]" \
-map "[out]" output.mp4
Ejemplo: con audio
ffmpeg -i input.mkv -filter_complex \
"[0:v]trim=0:10,setpts=PTS-STARTPTS[v1]; \
[0:v]trim=10:30,setpts=PTS-STARTPTS[v2]; \
[0:v]trim=start=30,setpts=PTS-STARTPTS[v3]; \
[0:a]atrim=0:10,asetpts=PTS-STARTPTS[a1]; \
[0:a]atrim=10:30,asetpts=PTS-STARTPTS[a2]; \
[0:a]atrim=start=30,asetpts=PTS-STARTPTS[a3]; \
[v2]setpts=PTS/0.5[slowv]; \
[a2]atempo=0.5[slowa]; \
[v1][a1][slowv][slowa][v3][a3]concat=n=3:v=1:a=1[v][a]" \
-map "[v]" -map "[a]" output.mp4
video slowmo
Alternativamente puedes probar video slowmo lo que probablemente resultará en un mejor efecto de ralentización en comparación con ffmpeg solo (slowmoVideo usa ffmpeg). También le permite usar curvas de Bézier para trazar el efecto de manera que pueda iniciarlo sin problemas y puede incluir el desenfoque de movimiento.