ffmpeg sobrepõe vídeo em outro vídeo em tempo específico

2

Eu tenho um vídeo com duração de 01:30 min e tenho outro vídeo com duração de 00:50 seg. Eu quero sobrepor o segundo vídeo no topo do primeiro vídeo, das 00:45 às 00:50

Estou tentando usar este comando, mas não funciona

ffmpeg -i D:\ffmpeg\base_video.mp4 -i D:\ffmpeg\top_video.avi  -filter_complex "[0:0][1:0]overlay[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  D:\ffmpeg\final_video.mp4

alguma sugestão, por favor?

Obrigado

    
por BOB 30.05.2016 / 17:42

1 resposta

1

Você precisa usar a enable opção :

ffmpeg -i D:\ffmpeg\base_video.mp4 -i D:\ffmpeg\top_video.avi  -filter_complex \
        "[0:0][1:0]overlay=enable='between(t\,45,50)'[out]" \
       -shortest -map [out] -map 0:1 \
       -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  D:\ffmpeg\final_video.mp4

Para atrasar o início do vídeo principal, use o filtro setpts.

ffmpeg -i D:\ffmpeg\base_video.mp4 -i D:\ffmpeg\top_video.avi  -filter_complex \
        "[1]setpts=PTS-STARTPTS+10/TB[top];
        [0:0][top]overlay=enable='between(t\,10,15)'[out]" \
       -shortest -map [out] -map 0:1 \
       -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  D:\ffmpeg\final_video.mp4
    
por 30.05.2016 / 19:01