Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I want to connect two videos into one. Let's take two videos from Youtube as an example. I want my final video to have the height = height of first video + height of second video and width = max(width of first video, width of second video). In the upper part the first video is played whereas in the lower part the second video is played.

Do you know how to do it under Linux, the best possibility while using mencoder, ffmpeg or any other command line command?

share|improve this question

2 Answers 2

This can be done with ffmpeg. If the videos are the same size:

ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex \
'[0:v]pad=iw:ih*2:0:0[intv];[intv][1:v]overlay=0:H/2[vid]' \
-map [vid] -c:v libx264 -crf 22 -preset veryfast output.mp4

If they're different sizes (where input1.mp4 has the higher resolution):

ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex \
'[0:v]pad=iw:ih*2:0:0[intv];[intv][1:v]overlay=(W-w)/2:H/2[vid]'
-map [vid] -c:v libx264 -crf 22 -preset veryfast output.mp4

If you know the resolutions of the videos, you can get a nicer output. Assuming input1.mp4 is larger (or at least the same resolution), and input2.mp4 has a height of 360:

ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex \
'[0:v]pad=iw:ih+360:0:0[intv];[intv][1:v]overlay=(W-w)/2:H-360[vid]'
-map [vid] -c:v libx264 -crf 22 -preset veryfast output.mp4
share|improve this answer

I think I found the answer here: http://stackoverflow.com/questions/575705/how-can-i-tile-videos-create-a-video-montage I will have a closer look into the solutions posted in that thread.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.