Mesclar dois vídeos com transparência no ffmpeg

6

Eu tenho dois vídeos mesclados em um arquivo usando o comando abaixo. Infelizmente o segundo vídeo cobre o primeiro vídeo e não é visível. Como tornar o segundo vídeo transparente (por exemplo, 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
    
por tiimowad 13.01.2016 / 15:07

1 resposta

5

Use

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

Defina aa como o valor de opacidade necessário.

    
por 13.01.2016 / 16:43