能否使用 ffmpeg 实现从 98% 黑色淡入的淡入效果?换句话说,您只能勉强看到第 0 帧纯黑色下方的内容?
我可以使用此命令,但问题是它会从 100% 黑色淡入。我希望能够将其设置为任意百分比。
-filter_complex "fade=t=in:st=0:d=4"
我该如何做呢?
答案1
开始时间st
表示视频应完全空白的时间戳。持续时间d
表示过滤器将插入视频以使其完全可见的时间戳间隔。因此,为了从 98% 黑色开始并在 4 秒内达到完全可见性,计算淡入淡出应从哪个时间戳开始,以便第一帧具有 98% 的黑色。
因此,不透明度变化率 = 4.0/98 ~= 0.0408 秒。因此,如果淡入淡出从 -0.0816 秒开始并在 4 秒结束,则 0 处的帧将淡入淡出 98%。因此,淡入淡出将是
fade=t=in:st=-0.0816:d=4.0816
然而,在这个特殊情况下有一个小问题。st
不能为负数。因此,解决方法是偏移淡入淡出前后的时间戳。
setpts=PTS+1/TB,fade=t=in:st=0.9183:d=4.0816,setpts=PTS-1/TB
淡入淡出st
也必须偏移以解释暂时新的时间戳。