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

如何使用帧计数而非毫秒为FFmpeg设置章节标记?

用FFmpeg直接以帧计数设置章节标记的方法

FFmpeg完全支持通过帧计数直接设置章节标记,不需要先转成毫秒,核心是正确配置TIMEBASE参数:

关于TIMEBASE的规则

TIMEBASE必须写成整数分数形式(分子/分母),代表时间刻度的单位时长。实际章节时间的计算公式为:
实际时间(秒)= START/END数值 × (TIMEBASE的分母 / TIMEBASE的分子)
更直观的逻辑是:如果你的视频帧率是F(每秒帧数),把TIMEBASE设为1/F,此时START和END直接填入剪辑软件显示的帧计数即可。

你的两种写法验证

  1. TIMEBASE=1/30的写法完全可行
    对应30fps的视频,每帧时长为1/30秒,START=210就代表210帧,计算后正好是7秒(210 × 1/30 = 7),和你原来的7000毫秒标记结果一致。

  2. TIMEBASE=100/2997的写法也有效
    这是针对29.97fps(NTSC标准帧率)的近似配置,29.97=2997/100,所以TIMEBASE=100/2997等价于把时间单位设为1/29.97秒,此时START=210对应的就是210帧的位置,计算结果和实际帧时间匹配。

额外提示

如果不确定视频的精确帧率,可以用以下命令查看:

ffmpeg -i input.mp4

输出里的r_frame_rate字段会显示精确帧率(比如30/1对应30fps,30000/1001对应29.97fps),直接把TIMEBASE设为1/帧率(即把帧率的分子分母颠倒,比如30000/1001对应TIMEBASE=1001/30000),就能用帧计数精准标记章节。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:50:29