Con una versione recente di ffmpeg (supponendo che entrambi i video abbiano la stessa risoluzione):
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
Questo essenzialmente raddoppia la dimensione di input1.mp4 riempiendo il lato destro con il nero della stessa dimensione del video originale, quindi posiziona input2.mp4 sopra quell'area nera con il filtro di sovrapposizione.
Se uno dei tuoi video ha una traccia audio che devi aggiungere all'output, aggiungi l'opzione -map 0:a
per l'audio del primo file, o -map 1:a
per l'audio del secondo file.
Se hai due tracce audio che vorresti mixare, usa il amix
filtro:
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