ffmpeg - 仅淡出覆盖

ffmpeg - 仅淡出覆盖

我正在尝试将多幅图像叠加在视频上,并让每幅图像在视频的特定点淡入/淡出。

我正在尝试:

ffmpeg -i doodle.mp4 -loop 1 -i ban.png -loop 1 -i intro.png -loop 1 -i outro.png -c:a copy -filter_complex "[1:v]fade=in:st=0:d=0,fade=out:st=58:d=0[watermark0]; [2:v]fade=in:st=0:d=0,fade=out:st=10:d=0.5[watermark1]; [0:v][watermark0]overlay=(main_w-overlay_w)/2:main_h-overlay_h:shortest=1[tmp0]; [tmp0][watermark1]overlay=(main_w-overlay_w)/2:main_h-overlay_h" doodle2.mp4

尽管持续时间和开始时间设置为 0,但仍可以看到图像淡入。如何避免这种情况?

答案1

如果您不想要淡入淡出,则不需要这些过滤器。

ffmpeg -i doodle.mp4 -loop 1 -i ban.png -loop 1 -i intro.png -loop 1 -i outro.png -c:a copy
       -filter_complex "[1:v]fade=out:st=58:d=0[watermark0]; 
                        [2:v]fade=out:st=10:d=0.5[watermark1]; 
           [0:v][watermark0]overlay=(main_w-overlay_w)/2:main_h-overlay_h:shortest=1[tmp0];
           [tmp0][watermark1]overlay=(main_w-overlay_w)/2:main_h-overlay_h" doodle2.mp4

现在,ban.jpg 和 intro.png 只会淡出。请注意,outro.png 未在任何地方使用。

相关内容