vídeo em câmera lenta ffmpeg com áudio

vídeo em câmera lenta ffmpeg com áudio

Consigo fazer vídeo em câmera lenta usando o seguinte comando (encontrei isto em Como usar o efeito de câmera lenta em um intervalo de tempo específico com 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

mas também quero ter o mesmo efeito no áudio, como a duração entre10-30segundos têm áudio em câmera lenta, caso contrário, todas as outras partes de áudio têm velocidade normal.

Além disso, o comando acima aumenta a duração do vídeo. De alguma forma, ele pode ser reduzido para a duração real do vídeo?

Por favor, alguém me ajude como fazer isso?

Responder1

Você não pode desacelerar um vídeoepreservar seu comprimento original. Você terá que cortar alguma parte para fazer isso.

Para desacelerar o áudio também, faça isso

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

informação relacionada