视频帧转时间码计算器

赛事速递

公式解析

时长就是帧数除以帧率:\(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}}$$