web-dev-qa-db-ja.com

ffmpegで2つのビデオを透過的にマージする

以下のコマンドを使用して、2つのビデオを1つのファイルにマージしました。残念ながら、2番目のビデオは最初のビデオをカバーし、表示されません。 2番目のビデオを透明にする方法(例:50%)?

ffmpeg
    -i in1.mp4 -i in2.mp4
    -filter_complex "nullsrc=size=480x360 [base];
        [0:v] setpts=PTS-STARTPTS, scale=480x360 [top];
        [1:v] setpts=PTS-STARTPTS, scale=480x360 [bottom];
        [base][top] overlay=shortest=1 [temp];
        [temp][bottom] overlay=shortest=1"
    -acodec libvo_aacenc -vcodec libx264 out.pm4
7
tiimowad

使用する

ffmpeg \
    -i in1.mp4 -i in2.mp4 \
    -filter_complex " \
        [0:v]setpts=PTS-STARTPTS, scale=480x360[top]; \
        [1:v]setpts=PTS-STARTPTS, scale=480x360, \
             format=yuva420p,colorchannelmixer=aa=0.5[bottom]; \
        [top][bottom]overlay=shortest=1" \
    -acodec libvo_aacenc -vcodec libx264 out.mp4

aaを必要な不透明度の値に設定します。

6
Gyan