Con una versión reciente de ffmpeg (asumiendo que ambos videos tienen la misma resolución):
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
Básicamente, esto duplica el tamaño de input1.mp4 rellenando el lado derecho con negro del mismo tamaño que el video original y luego coloca input2.mp4 sobre la parte superior de esa área negra con el filtro de superposición.
Si uno de sus videos tiene una pista de audio que necesita agregar a la salida, agregue la opción -map 0:a
para el audio del primer archivo, o -map 1:a
para el audio del segundo archivo.
Si tiene dos pistas de audio que le gustaría mezclar, use el 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