2つのビデオをFFMPEGで重ね合わせる

2つのビデオをFFMPEGで重ね合わせる

私は FFmpeg の新規ユーザーです。1 つのコマンドで 2 つのビデオ (1 つのビデオが別のビデオにオーバーレイ) にロゴを挿入したいと考えています。

  1. FFmpeg コマンド (ok): ここに画像の説明を入力してください

    ffmpeg -stream_loop -1 -i background.mp4 -i input.mp4 -i logo.png -filter_complex "[1]scale=1280:720[inner];[0][inner]overlay=70:70:shortest=1[vid];[vid][2]overlay=10:10:enable='not(between(t\,10\,15))'[out]" -map "[out]" -c:a copy -y -shortest output.mp4
    
  2. メインと背景に別のビデオをオーバーレイする 1 つのビデオ (greenvideo.mp4) を挿入します。

    ここに画像の説明を入力してください

  3. ビデオ (greenvideo.mp4) とビデオ (Background.mp4): 2 つのビデオがメイン ビデオの長さの時間で繰り返されます。
    緑のビデオが背景に表示されます。

    ffmpeg -y -i input.mp4 -stream_loop -1 -i green.mp4 -filter_complex "[1:v]colorkey=0x00ff00:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" -map 0:a -shortest output.mp4
    

上記の 2 つのコード スニペットを 1 つに結合する方法を教えていただけますか?

答え1

オーバーレイする前にスケール フィルターとカラーキー フィルターを適用できます。必要に応じて、1 つのスクリプトで複数回オーバーレイできます。基本的な概念を以下に示します。

ffmpeg -i background.mp4 -i mainvideo.mp4 -i greenvideo.mp4 -i logo.png -filter_complex /

[1]scale[SC];[2]colorkey[CK]; /

[0][SC]overlay[OVa];[OVa][CK]overlay[OVb];[OVb][3]overlay out.mp4


    

関連情報