Skip to content

时间单位(微秒)

cutcli 中所有时间参数都是微秒(μs),不论是字幕、图片、音频还是关键帧。

换算公式

text
1 秒 = 1,000,000 微秒
期望时长写法
0.1 秒100000
0.5 秒500000
1 秒1000000
3 秒3000000
10 秒10000000
1 分钟60000000

为什么用微秒?

  • 与剪映的内部存储格式一致,无精度损失
  • 关键帧、转场、动画时长都能精确到微秒级
  • 跨平台无浮点数误差

start 与 end 怎么理解

text
时间线 →
0           3,000,000           6,000,000        (微秒)
[第一段字幕  ][   第二段字幕   ]
start=0    end=3M  start=3M    end=6M

start 是片段在总时间线上的开始时刻;end 是结束时刻。两者相减就是片段时长。

同一轨道不要重叠

同一条字幕轨 / 视频轨内,相邻片段的 start 必须 ≥ 上一段的 end,否则剪映会出现混乱。

实用脚本

把秒转成微秒:

bash
to_us() { echo $(( $1 * 1000000 )); }

START=$(to_us 0)        # 0
END=$(to_us 3)          # 3000000
echo "字幕从 $START$END"

把"3 秒 500 毫秒"这种小数转换:

bash
to_us_decimal() { python3 -c "print(int(float('$1') * 1000000))"; }
to_us_decimal 3.5    # 3500000

常见错误

现象可能原因
字幕只闪一帧写的是毫秒:{"start":0,"end":3000} 应为 3000000
关键帧动画太快同样的微秒/毫秒混淆,关键帧 offset 也是微秒
入场动画时长比片段还长inAnimationDuration + outAnimationDuration 必须 ≤ end - start

更多

基于 MIT 许可发布