【问题标题】:FFMpeg Draw Text Like AnimationFFMpeg 像动画一样绘制文本
【发布时间】:2019-03-18 09:41:43
【问题描述】:

我正在尝试使用 ffmpeg 在我的视频上绘制文本。

文字是: “请稍等,系统正在加载中……”

这是我使用的代码:

ffmpeg -i "input.mp4" -vf drawtext="fontfile=1.ttf: \text='Please Wait, System Is Loading...': fontcolor=0x0080FF: fontsize=48: box=1: boxcolor=white@0.1: \boxborderw=5: x=(w-text_w)/2: y=(h-(text_h+25))" -codec:a copy "output.mp4"

效果很好,但我喜欢让文本看起来像动画: 因此,它应该每 0.5 秒更改为以下行并循环它:

请稍候,系统正在加载中。

请稍候,系统正在加载中..

请稍候,系统正在加载中...

请稍候,系统正在加载中...!

我知道有可能我只是想办法:(

提前致谢 最好的问候

【问题讨论】:

  • 有人吗?有人吗?有什么帮助吗?

标签: windows command-line ffmpeg


【解决方案1】:

也许为时已晚,但解决方案是 enable='between(t, {start}, {end})' 在 drawtext 过滤器上可用:

您必须通过单独的过滤器绘制每个文本,因此您将创建 4 个文本并将它们添加到透明背景上:

-t 2 -i color=black@0:{size}, format=rgba -i your_video.mp4

-filter_complex "[0] drawtext=...:enable='between(t, 0, 0.5)', drawtext=...:enable='between(t, 0.501, 1)', ... [texts]"

4 条文本的彩色背景持续时间设置为 2 秒,每条 0.5 秒。

然后你将它们覆盖在视频上循环播放:

[1] [texts] overlay={x}:{y}:eof_action=repeat [out]

然后映射您的输出流:

-map [out] -map 1:a {codecs}

这样从过滤器中取出视频,从视频中取出音频。

【讨论】:

    猜你喜欢
    • 2020-11-02
    • 1970-01-01
    • 2017-01-11
    • 2020-11-10
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多