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

1

Eu posso fazer vídeo em câmera lenta usando o seguinte comando (achei isso 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 eu também quero ter o mesmo efeito no áudio, como a duração entre 10-30 segs tem áudio em câmera lenta, ou todas as outras partes de áudio têm velocidade normal.

Além disso, o comando acima aumenta a duração do vídeo, pode de alguma forma reduzir a duração real do vídeo?

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

    
por user1640954 03.05.2016 / 22:29

1 resposta

1

Você não pode reduzir a velocidade de um vídeo e para preservar seu tamanho original. Você terá que cortar uma parte para fazer isso.

Para retardar 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
    
por 04.05.2016 / 07:59