
Puedo hacer videos en cámara lenta usando el siguiente comando (encontré esto en Cómo utilizar el efecto de cámara lenta en un intervalo de tiempo específico con ffmpeg):
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
pero también quiero tener el mismo efecto en el audio, como la duración entre10-30Los segundos tienen audio en cámara lenta; de lo contrario, todas las demás partes de audio tienen velocidad normal.
Además, el comando anterior aumenta la duración del video. ¿Se puede reducir de alguna manera la duración real del video?
¿Por favor alguien me ayuda a hacer esto?
Respuesta1
No puedes ralentizar un vídeoyconservar su longitud original. Tendrás que recortar una parte para hacerlo.
Para ralentizar el audio también, haz esto
ffmpeg -i input.mkv -filter_complex \
"[0:v]trim=0:10,setpts=PTS-STARTPTS[v1]; \
[0:v]trim=10:30,setpts=(PTS-STARTPTS)*2[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,atempo=0.5[a2]; \
[0:a]atrim=start=30,asetpts=PTS-STARTPTS[a3]; \
[v1][a1][v2][a2][v3][a3]concat=n=3:v=1:a=1[v][a]" \
-map [v] -map [a] output.mp4