我有一个关于计算时间码增量的问题。
我从包含时间码格式的 HH:MM:SS:FF
的电影文件中读取元数据
( FF
= frame, 00->23
例如。所以它就像 00
到 framerate-1
)
所以我得到了一些数据,比如 15:41:08:02
和另一个引用文件我得到了 15:41:07:00
现在我必须计算时间偏移量(如 timedelta 但只计算帧)。
我该怎么做呢?
最佳答案
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(':')))
print timecode_to_frames('15:41:08:02') - timecode_to_frames('15:41:07:00')
# returns 26
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 frames_to_timecode(26)
# returns "00:00:01:02"
关于python - 如何进行时间码计算?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8488238/