Avec une version récente de ffmpeg (en supposant que les deux vidéos ont la même résolution) :
ffmpeg -i input1.mp4 -i input2.mp4 \
-filter_complex \
"[0:v]pad=iw*2:ih[int]; \
[int][1:v]overlay=W/2:0[vid]" \
-map "[vid]" \
-c:v libx264 -crf 23 \
output.mp4
Cela double essentiellement la taille de input1.mp4 en remplissant le côté droit avec du noir de la même taille que la vidéo d'origine, puis place input2.mp4 au-dessus de cette zone noire avec le filtre de superposition.
Si l'une de vos vidéos a une piste audio que vous devez ajouter à la sortie, ajoutez l'option -map 0:a
pour l'audio du premier fichier, ou -map 1:a
pour l'audio du deuxième fichier.
Si vous avez deux pistes audio que vous souhaitez mixer, utilisez le amix
filtre :
ffmpeg -i input1.mp4 -i input2.mp4 \
-filter_complex \
"[0:v]pad=iw*2:ih[int]; \
[int][1:v]overlay=W/2:0[vid]; \
[0:a][1:a]amix=inputs=2:duration=longest[aud]" \
-map "[vid]" \
-map "[aud]" \
-c:v libx264 -crf 23 \
-c:a aac -b:a 192k \
output.mp4