我有用于在视频中叠加许多图像的代码。效果很好,但是由于每次叠加都会保留图像的白色阴影,直到视频结束,就像这样:
这是我的代码:
-i "input.mp4" -i "1.png" -filter_complex "[1:v]format=yuva422p,scale=7290x4850,setsar=1/1,pad=1.5*iw:1.5*ih:(ow-iw)/2:(oh-ih)/2:color=black@0,zoompan=z='min(zoom+0.0010,1.5)':s=729x485:d=400:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',fade=in:st=0:d=3:alpha=1,fade=out:st=13:d=3:alpha=1,setpts=PTS+22/TB[im1];[0][im1]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2" -pix_fmt yuv420p -c:a copy "output.mp4"
(在该代码中,我仅添加了一张图片,但可能还会添加更多图片)
为什么从覆盖到视频末尾开始一直保留白色阴影?
谢谢
答案 0 :(得分:2)
基本上,淡入淡出持续时间表示执行效果所需的间隔。因此只有在间隔例如如果以25 fps的速度淡出一秒钟,则第1帧具有完整强度,而 26 帧具有零强度。
您已使用zoompan生成了400帧,并指定了从第326帧开始的3秒钟淡出。因此,从401帧开始将为空白。但是您没有框架401。
将缩放持续时间增加到magical :: ([a] -> IO ()) -> (a -> IO ())
或将淡出时间减少到a
。