我有以下脚本:
ffmpeg -i "%~1" -loop 1 -i C:\xv\logo.png -i C:\xv\logo2.png -filter_complex "[2:v]fade=out:st=3:d=1[w0];[0:v]scale=1920:1920:force_original_aspect_ratio=decrease[bg];[bg][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1,scale=iw:ih,format=yuv420p[tmp1];[tmp1][w0]overlay=main_w-overlay_w-5:5,scale=iw:ih,format=yuv420p" -codec:a copy "C:\xv\%~nx1"
正如您所看到的,我的视频添加了 2 个徽标。第一个徽标按我想要的方式工作,因此整个视频都显示出来。但第二个徽标(logo2.png)在 3 秒后没有消失。为什么?
答案1
将命令更改为
ffmpeg -i "%~1" -loop 1 -i C:\xv\logo.png -loop 1 -i C:\xv\logo2.png ...
图像是由一帧组成的视频流,因此除非循环,否则没有帧可以应用淡入淡出。对第二个叠加也启用最短。