gpt4 book ai didi

filter - 使用 ffmpeg 在同一图像上使用两次淡入/淡出

转载 作者:行者123 更新时间:2023-12-04 22:55:54 25 4
gpt4 key购买 nike

我正在使用此命令在流开始 5 秒后淡入 Logo ,并在 25 秒后淡出它,如下所示

ffmpeg -re -i test.mp4 -ignore_loop 0 -i logo.gif -filter_complex "[1:v]
fade=in:st=5:d=1:alpha=1,fade=out:st=30:d=1:alpha=1 [ov];[0:v][ov]
overlay=30:30" -f mpegts udp://127.0.0.1:port

但我想在同一 Logo 上的不同时间段重复此操作(例如,在第 45 秒到第 60 秒)
当我尝试像这样重复淡入淡出语法时,它们都不起作用
ffmpeg -re -i test.mp4 -ignore_loop 0 -i logo.gif -filter_complex "[1:v]
fade=in:st=5:d=1:alpha=1,fade=out:st=30:d=1:alpha=1,fade=in:st=45:d=1:alpha=1,
fade=out:st=60:d=1:alpha=1 [ov];[0:v][ov]
overlay=30:30" -f mpegts udp://127.0.0.1:port

我怎么解决这个问题 ?
我可以使用分钟而不是秒来淡入淡出吗?

最佳答案

alpha 上的淡入所做的是将开始时间之前的 alpha 置零并将其插入到持续时间内存储的值。 alpha 的淡出所做的是在开始时间+持续时间后将 alpha 清零,并从持续时间内存储的值进行插值。因此,您的第一组淡入/淡出过滤器在 5 秒之前和 30 秒之后将 alpha 归零。第二个淡入过滤器在 45 秒之前(包括 5 到 30 秒)将所有 alpha 清零,并且淡入不起作用,因为 30 秒之后的所有 alpha 都已清零,所以它从 alpha=0 插值到 alpha=0。

您必须拆分流并使用多个覆盖过滤器。

ffmpeg -re -i test.mp4 -ignore_loop 0 -i logo.gif -filter_complex "[1:v]split=2[wm1][wm2];
[wm1]fade=in:st=5:d=1:alpha=1,fade=out:st=30:d=1:alpha=1[ovr1];
[wm2]fade=in:st=45:d=1:alpha=1,fade=out:st=60:d=1:alpha=1[ovr2];
[0:v][ovr1]overlay=30:30[base];[base][ovr2]overlay=30:30"
-f mpegts udp://127.0.0.1:port

关于filter - 使用 ffmpeg 在同一图像上使用两次淡入/淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38166233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com