You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用FFmpeg实现每10帧持续显示4帧的闪烁文本效果?

解决FFmpeg闪烁文本持续显示4帧的问题

你可以直接修改enable参数的表达式,实现每10帧周期内文本连续显示4帧的效果,不需要额外结合between(当然用between也能实现,但mod表达式更简洁)。

修改后的命令

ffmpeg -i input.mov -vf "drawtext=text='TEXTY':enable='mod(n\,10) < 4'" output.gif

逻辑说明

  • 原命令的enable=(not (mod(n\,10)))仅当n是10的倍数时(即第0、10、20...帧)返回真,所以文本只显示1帧。
  • 修改后的mod(n\,10) < 4表示:当当前帧序号n除以10的余数小于4时(即每个10帧周期里的第0、1、2、3帧),文本就会显示,这样每10帧里文本连续显示4帧,之后隐藏6帧,循环往复。

如果一定要用between结合的方式,也可以这么写:

ffmpeg -i input.mov -vf "drawtext=text='TEXTY':enable='between(n, 10*floor(n/10), 10*floor(n/10)+3)'" output.gif

这个表达式会先计算当前帧所在的10帧周期起始位置(10*floor(n/10)),再判断当前帧是否在起始位置到起始位置+3的范围内,效果和上面的mod写法完全一致。

内容的提问来源于stack exchange,提问作者samusugiru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:45:25