在Python中使用moviepy进行音视频剪辑混音合成时输出文件无声音问题
在使用moviepy进行音视频剪辑时发现输出成功但输出的文件无音频,在网上查到两篇文章与此相关:
本人在解决另一个问题时《在Python中使用moviepy进行视频剪辑时输出文件报错 ‘NoneType’ object has no attribute 'stdout’问题》时发现升级到moviepy1.03后该问题同样解决了。但这里要注意2点:
- 混音的音频和视频必须长度相同,如果长度不同,代码中必须将其进行处理(包括从长的文件中只取一段、或者将短文件反复拼接延长等)变成混音的视频段和音频段长度相同
- 对视频剪辑段调用set_audio(cacheAudio)方法时,必须将输出视频段的返回结果记录,用该记录变量作为write_videofile的调用者。这是因为set_audio方法并没有改变调用对象的音频,而是将混音后的视频剪辑单独返回。