我正在使用以下脚本将时间码转换为帧,该脚本有效,但仅使用 00:00:00:00 的开始时间码进行转换。我希望能够设置开始时间码,以便计算是相对的。如果我将帧速率设置为 23.976 或 29.97,它也会中断。
framerate = 24
def timecode_to_frames(timecode):
return sum(f * int(t) for f,t in zip((3600*framerate, 60*framerate, framerate, 1), timecode.split(':')))
def frames_to_timecode(frames):
return '{0:02d}:{1:02d}:{2:02d}:{3:02d}'.format(frames / (3600*framerate),
frames / (60*framerate) % 60,
frames / framerate % 60,
frames % framerate)
print timecode_to_frames('00:00:00:10')
print frames_to_timecode(10)