回答:
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 \
-preset veryfast \
output.mp4
これは、元のビデオと同じサイズの黒を右側にパディングすることにより、input1.mp4のサイズを本質的に2倍にした後、input2.mp4をオーバーレイフィルターでその黒い領域の上部に配置します。
ソース:https : //superuser.com/questions/153160/join-videos-split-screen
[vid]
は、いわゆるlinklabelです。これは、フィルターグラフ(filter_complexの上の行)で定義された出力リンクラベルです。複雑なフィルターグラフからの出力を出力ファイルにマッピングします。
Unrecognized option 'crf'
ます。引数リストの分割エラー:オプションが見つかりません。cr
その後削除した場合unrecognized option 'preset'
no such filter
正直なところ、受け入れられた答えを使用すると、多くのフレームがドロップされました。
ただし、hstack
filter_complex を使用すると、完全に流体出力が生成されます。
ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4
これは、2つのフィルターで行うことができ、両方の入力からの音声も含まれます。
ffmpeg -i left.mp4 -i right.mp4 -filter_complex \
"[0:v][1:v]hstack=inputs=2[v]; \
[0:a][1:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2 output.mp4
ffmpeg -y -ss 0 -t 5 -i inputVideo1.mp4 -ss 0 -t 5 -i inputVideo2.mp4 -i BgPaddingImage.jpg -filter_complex nullsrc=size=720*720[base];[base][2:v]overlay=1,format=yuv420p[base1];[0:v]setpts=PTS-STARTPTS,scale=345*700[upperleft];[1:v]setpts=PTS-STARTPTS,scale=345*700[upperright];[base1][upperleft]overlay=shortest=1:x=10:y=10[tmp1];[tmp1][upperright]overlay=shortest=1:x=366:y=10 -c:a copy -strict experimental -ss 0 -t 5 -preset ultrafast -an output.mp4
2つのビデオを並べて追加し、ビデオに表示されるオーバーレイ画像も追加しますパディングを使用すると、背景画像を[BgPaddingImage.jpg]
ここで変更でき、bg画像パスを設定できます。
これを下に表示[上から作成]コマンド
-map [vid]
するの?