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

FFmpeg drawtext帧号格式问题:如何将1显示为0001

FFmpeg drawtext滤镜实现4位带前导零的帧号显示

你之前用Python的str.format()语法处理FFmpeg帧号变量的思路不对,因为drawtext的text参数接受的是FFmpeg自身的表达式语法,不是Python字符串格式化规则。

正确的做法是直接使用FFmpeg内置的格式化语法,把帧号格式化为4位带前导零的形式:

  • 将原代码里的text='%{n}'替换为text='%{n:04d}'

修改后的完整代码:

ff = ffmpeg.drawtext(ff_drawtext, text='%{n:04d}', start_number=1, fontfile='C:/Windows/Fonts/Arial.ttf', fontcolor="white", x='w-(w/1.8)', y='h-(h/30)', fontsize="28", escape_text=False)

语法说明

%{n:04d}的具体含义:

  • n:FFmpeg drawtext滤镜内置的帧号变量,从start_number指定的数值开始计数
  • 04d:指定以十进制整数格式输出,长度不足4位时自动用前导零补全,最终会输出0001、0002这类符合要求的格式

内容的提问来源于stack exchange,提问作者Đạt Nguyễn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 15:15:41