How to join two video frames into one, so the final video plays two frames as one simultenously

4

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?

Jakub

Posted 2010-10-11T13:47:54.263

Reputation: 61

Answers

3

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

evilsoup

Posted 2010-10-11T13:47:54.263

Reputation: 10 085

1

If both videos have the same width, you can use hstack, which is faster than pad + overlay:

ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex \
'[0:v][1:v]hstack[vid]' \
-map [vid] -c:v libx264 -crf 22 -preset veryfast output.mp4

yueqiw

Posted 2010-10-11T13:47:54.263

Reputation: 11

0

I think I found the answer here: https://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.

Jakub

Posted 2010-10-11T13:47:54.263

Reputation: 61