moviepy音视频剪辑:使用fl_time进行时间特效处理报错ValueError: Attribute duration not set
在使用moviepy的fl_time方法进行时间特效处理时报错:ValueError: Attribute ‘duration’ not set
出现报错的原因有2种,一是因为未设置剪辑的duration属性,二是虽然调用了set_duration设置剪辑的duration,但set_duration方法不是改变调用者的时长,而是生成一个原剪辑的拷贝将其时长设置为新值。
要解决该问题有2个方法,一是fl_time进行变换处理时,设置参数keep_duration = True ,或者手工设置剪辑的duration,且记录下set_duration返回的剪辑对象,以该对象进行后续处理。
更多时间特效的处理请参考《moviepy音视频剪辑:使用fl_time进行诸如快播、慢播、倒序播放等时间特效处理的原理和可能遇到的坑》