我想在 ffmpeg 中的 1 个视频上创建一个高度随时间增加的框?

我想在 ffmpeg 中的 1 个视频上创建一个高度随时间增加的框?

示例视频:-https://automated-videos.s3.ap-south-1.amazonaws.com/v8J5QCcs.mp4

在此视频中,白色框随时间从底部出现。我想要这个,目前我已经在 for 循环中使用 drawbox 并启用条件。

我已经使用启用条件的多个绘制框实现了这一点,但我很确定一定有一些好方法。你能给我一些建议吗?

答案1

您可以使用组合过滤器来实现此目的:

ffmpeg -i video -f lavfi -i color=white -filter_complex "[1][0]scale2ref=flags=point[bar][vid];[vid][bar]overlay=x=0:y='H-min(SP*(t-ST),BH)'" out

使用颜色滤镜创建一个白色画布。它被调整为视频大小。然后使用叠加滤镜,根据时间操纵高度,使其从底部上升到最大高度并保持在那里。SP是像素/秒的上升速度。ST是起始时间戳,以秒为单位。BH是从底部开始的最大高度,以像素为单位。您还可以使用帧变量,如H, hforSPBH

相关内容