def main(video_filename, fit_filename, output_filename, fit_offset=0, duration=0, strain=150, bitrate='34000000'):
v = VideoFileClip(video_filename)
f = FitFile(fit_filename)
fit = list()
lfit = 0
altgain = 0
lastchange = 0
for msg in f.get_messages('record'):
d = dict()
d.update(msg.get_values())
fit.append(d)
lfit += 1
if lfit > 1:
try:
gain = fit[-1].get('altitude') - fit[-2].get('altitude')
except:
gain = 0
if gain > 0:
altgain += gain
fit[-1]['altgain'] = altgain
ovr = OVR(v, fit, fit_offset, strain)
if duration:
nv = v.subclip(t_end=duration).fl_image(ovr)
else:
nv = v.fl_image(ovr)
nv.write_videofile(output_filename, progress_bar=True, bitrate=bitrate)
评论列表
文章目录