什么是帧转时间码计算器?
这个工具可以把原始的视频帧数换算成实际时长(以秒为单位)以及标准的 HH:MM:SS:FF 时间码。剪辑师、动画师、调色师和动态图形设计师经常需要把"多少帧"换算成"多长时间"——比如在 After Effects、Premiere、DaVinci Resolve 中读取帧编号,或是处理 EDL 文件时。只需输入总帧数并选择你项目的帧率即可。
使用方法
先输入总帧数,再选择你的素材或时间线所用的帧率:23.976、24、25(PAL)、29.97、30、50、59.94 或 60 fps。计算器会返回精确的秒数时长,以及拆分为时、分、秒和余下帧分量的完整时间码。
公式解析
时长就是帧数除以帧率:\(t = N / \text{fps}\)。时间码则是通过依次除以每个单位包含的帧数得到的。FF 分量在计算时会把每秒帧数四舍五入为整数(因此 29.97 fps 按每显示秒 30 帧处理,符合非丢帧(non-drop-frame)惯例)。本工具采用非丢帧模型,所以在 29.97/59.94 fps 下,显示的时间码会比真实墙上时间略慢——而"总时长"一行始终显示真实的实际时间。
$$\begin{gathered} \text{Timecode} = HH:MM:SS:FF \\[1.5em] \text{where}\quad \left\{ \begin{aligned} N &= \left\lfloor \text{Total Frames} \right\rfloor,\quad f = \operatorname{round}\!\left(\text{FPS}\right) \\ HH &= \left\lfloor \dfrac{N}{3600\,f} \right\rfloor \\ MM &= \left\lfloor \dfrac{N \bmod 3600\,f}{60\,f} \right\rfloor \\ SS &= \left\lfloor \dfrac{N \bmod 60\,f}{f} \right\rfloor \\ FF &= N \bmod f \end{aligned} \right. \end{gathered}$$
$$\text{Total Seconds} = \frac{\text{Total Frames}}{\text{FPS}}$$
实例演示
假设你有 1800 帧、帧率 30 fps。时长 = \(1800 / 30 = 60\) 秒。时间码:60 秒正好等于 1 分钟,所以结果为 00:01:00:00。
常见问题
FF 部分代表什么? FF 是帧分量——表示超过上一个整秒之后的帧数,取值范围从 00 到(\(\text{fps} - 1\))。
为什么在 29.97 fps 下总秒数和时间码对不上? 非丢帧时间码每个标注秒按 30 帧计数,但实际只播放 29.97 帧,因此标注的时间会逐渐超前于真实时间。秒数值才是真实流逝的时间。
能反过来换算吗? 本计算器是从帧换算到时间;如果要从时间码反推帧数,把每个时间单位乘以 fps 再加上帧分量即可。