SMPTE 时间码换算

时间码、帧号、秒、音频样本四种单位互转。29.97 和 59.94 按丢帧规则计算,非整十分钟的第 0 秒前两帧不存在。

计数方式
DFNDF时间码与真实时长对齐

常见问题

为什么 29.97 要用丢帧时间码?

29.97 是 30000/1001,比 30 慢 0.1%。如果按 30 帧计数,时间码跑满一小时,真实时长已经过去 3603.6 秒,画面和声音会差 3.6 秒。丢帧时间码每分钟(整十分钟除外)跳过两个编号,让时间码重新和真实时长对齐。

00:01:00;00 为什么不存在?

这一分钟不是整十分钟,按规则开头两帧被跳过,所以 00:00:59;29 之后直接是 00:01:00;02。填 00:01:00;00 会被判为无效时间码,所有后期软件都一样。

丢帧(DF)和不丢帧(NDF)该选哪个?

要交接给电视台、走 AS11/SMPTE 流程、或者需要时间码和真实时长一致,选 DF。纯剪辑、音乐视频、网络短片用 NDF 更直观,帧号连续、不跳号,代价是长时间素材会慢慢偏移。

23.976 和 24 差多少?

23.976 是 24000/1001,比 24 慢约 0.1%。一小时素材差 3.6 秒,整部电影下来能差好几秒。把 23.976 的素材按 24 套片,声音会整体变快、音高升高,反之会变慢变低。

时间码和音频样本怎么对?

先把时间码换成帧号,再按「帧号 ÷ 真实帧率 × 采样率」得到采样点。48 kHz 下一个 29.97 的帧是 1601.6 个样本,不是整数,所以长时间素材必须靠时间码整帧对齐,不能靠样本数累加。

为什么同一段帧数换帧率后时长会变?

按帧套片时帧数不变,播放速度变成新帧率。24 fps 的 240 帧本来是 10 秒,按 25 fps 播就变成 9.6 秒,速度快 4.17%。如果要保持时长,就得做帧率转换(补帧或抽帧),那是另一件事。