Ok. Vamos supor que você tenha 1.mp4
- vídeo com duração de 30 s, 2.mp4
- vídeo com duração de 30 s e deseja inserir áudio de 2.mp4
a 1.mp4
vídeo com deslocamento de 5 s. E também você precisa de quadros de vídeo pretos quando o fluxo de vídeo de 1.mp4
terminar. Então o comando deve ser assim:
ffmpeg -i 1.mp4 -i 2.mp4 -f lavfi -i "color=black:size=1920x1080:duration=5" \
-filter_complex \
"[0:v][2:v]concat[video_out]; \
[0:a]atrim=duration=5[a1]; \
[a1][1:a]concat=v=0:a=1[audio_out]" \
-map [video_out] -map [audio_out] out.mp4
Este comando faz o seguinte - tomamos 1.mp4
e 2.mp4
como entrada e também geramos 5 seg. de vídeo com quadros pretos usando lavfi. Você pode ter outro tamanho de seus vídeos de entrada, portanto, use o mesmo que 1.mp4
e 2.mp4
para lavfi (altere 1920x1080
para o tamanho de suas entradas).
Em seguida, combinamos 1.mp4
com quadros pretos do lavfi com concat
, depois recortamos primeiro 5 seg de áudio de 1.mp4
com atrim
e combinados com fluxo de áudio de 2.mp4
( concat
novamente). Em seguida, basta especificar que queremos os fluxos de saída em out.mp4
.
Espero que ajude.