gpt4 book ai didi

video - ffmpeg - 移动覆盖/文本命令如何工作?

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

在 Ffmpeg 中,您可以创建移动文本:

ffmpeg -y -t 10 -s qcif -f rawvideo -pix_fmt rgb24 -s 1280x720 -i /dev/zero -g 1 -r 24 -vf drawtext="fontfile=~/fonts/Trebuchet_MS.ttf:text='thing crawls':fontsize=155:fontcolor=red:y=h-20*t" wow.mpg

所以这会给我一个黑色的框架,“东西爬行”从下往上慢慢地......

如果我知道视频的长度(20 秒)并且想要例如创建从屏幕顶部在时间 0 开始并一直到屏幕底部直到 00:00:20 的“东西坠落”,如何我这样做吗?

我也可以创建文本从上到下开始但在屏幕中间停止的情况吗?

最佳答案

The FFmpeg docs给出使用 drawtext 过滤器时必须使用的变量的完整列表,但对于移动文本,有一些特别感兴趣:

‘n’
the number of input frame, starting from 0

‘t’
timestamp expressed in seconds, NAN if the input timestamp is unknown



有了这些,您可以根据已经看到的帧数来设置文本位置。这就是 y=h-20*t你的例子中的表达正在做。如 t随着 h-20*t 的增加,文本向视频顶部靠拢。减少。

为了让你的例子“东西掉下来”,你需要一个像 20*t 这样的词。反而。因为 y位置从视频顶部的 0 开始,如 t增加,它将向下移动屏幕。

对于在屏幕中间停止的文本,您可能会做一些花哨的数学运算,或者只使用 FFmpeg 的 rich set of logical functions .像 y=t*20*lte(t*20,h/2) + h/2*gt(t*20,h/2)t*20 时移动文本小于高度的一半,则保留 y位置 h/2一次 t*20大于一半的高度。

关于video - ffmpeg - 移动覆盖/文本命令如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11058479/

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