最近仿写一个录频功能从众多代码中遇到一个合适的,但其中部分没能理解,里面注释是我自己差的不知理解是否正确。我查了fl_time()的第一个参数,按照我的代码应该是以1/ration倍速播放,但是他却是做到了同步视频播放内容和当时匹配的声音,这个问题我没有理解,其次第二个我参数我发现无论是写"audio"还是"video"似乎并没有任何区别,请解惑,我不明白这个ratio的含义。还有就是我设置一个录制时间例如30秒,video.duration把它input()出来就是差不多30秒,但是audio.duration把它input()出来却仅有30秒的一半左右,这是什么原因呢?
audio = AudioFileClip(self.file_path + ".wav") #音频的加载
video = VideoFileClip(self.file_path + ".avi") #视频的加载
ratio = audio.duration / video.duration
video = video.fl_time(lambda t: t/ratio , #以1/ration倍速播放,同步视频动作和声音
apply_to=["audio"] #作用于剪辑的音频
#第三个参数默认为False,表示修改了duration
).set_end(
audio.duration #设置在合成后的剪辑中的播放的结束时间
)