2本の動画を1本につなげたい。例としてYoutubeから2つのビデオを取り上げましょう。最終的なビデオの高さ=最初のビデオの高さ+2番目のビデオの高さ、幅= max(最初のビデオの幅、2番目のビデオの幅)にします。上部では最初のビデオが再生され、下部では2番目のビデオが再生されます。
Linuxでそれを行う方法を知っていますか?mencoder、ffmpeg、またはその他のコマンドラインコマンドを使用する際の最良の可能性です。
これはffmpegで行うことができます。ビデオが同じサイズの場合:
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
サイズが異なる場合(input1.mp4の解像度が高い場合):
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
ビデオの解像度がわかっている場合は、より良い出力を得ることができます。 input1.mp4がより大きく(または少なくとも同じ解像度)、input2.mp4の高さが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
両方の動画の幅が同じ場合は、hstack
を使用できます。これは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
私はここで答えを見つけたと思います: https://stackoverflow.com/questions/575705/how-can-i-tile-videos-create-a-video-montage 詳しく見ていきますそのスレッドに投稿されたソリューションに。