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

如何用FFmpeg为截取的GIF添加从零开始的秒数计数器

解决FFmpeg生成GIF时添加从零开始的秒数计数器问题

你需要利用FFmpeg的drawtext滤镜计算相对时间——用当前帧的时间戳减去截取片段的起始时间,就能得到从零开始的秒数。

修改后的完整命令如下:

ffmpeg -i in.mp4 -vf "scale=300:-1,fps=5,drawtext=text='%{eif:t-43:1}':fontsize=24:fontcolor=white:x=10:y=10,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -ss 43 -t 33 out.gif

关键参数说明:

  • text='%{eif:t-43:1}':
    • t代表当前帧的原始视频时间戳
    • 43是你通过-ss指定的截取起始秒数,两者相减得到片段内的相对时间
    • eif是格式化指令,1表示输出整数;如果需要保留小数(比如一位小数),可以改成%{eif:t-43:1:.1f}
  • fontsize=24:fontcolor=white:x=10:y=10是计数器的样式与位置参数,你可以根据需求调整字体、大小、颜色和坐标。

注意事项:

  • 要把drawtext滤镜放在fps之后、split之前,保证计数器跟随降帧后的帧率更新
  • 如果你的起始时间是小数(比如-ss 43.5),直接把命令里的43替换成对应的数值即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 21:07:04