web-dev-qa-db-ja.com

分割画面でビデオに参加する

2つのビデオファイルを結合するコマンドを探していますが、ビデオを次々にではなく、フレームごとに分割画面で結合したいと考えています。

何か案は?これはffmpegでは不可能なようです。

5
hoju

Ffmpegの最近のバージョンでは(両方のビデオが同じ解像度であると仮定して):

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

これにより、input1.mp4のサイズが基本的に2倍になります padding 右側は元のビデオと同じサイズの黒で、次にinput2.mp4をその黒い領域の上に オーバーレイ フィルター。

ビデオの1つに、出力に追加する必要のあるオーディオトラックがある場合は、最初のファイルのオーディオにオプション-map 0:aを追加するか、2番目のファイルのオーディオにオプション-map 1:aを追加します。

ミキシングするオーディオトラックが2つある場合は、amixフィルターを使用します。

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
12
evilsoup