在使用moviepy進行音視頻剪輯時發現輸出成功但輸出的文件無音頻,在網上查到兩篇文章與此相關:
本人在解決另一個問題時《在Python中使用moviepy進行視頻剪輯時輸出文件報錯 ‘NoneType’ object has no attribute 'stdout’問題》時發現升級到moviepy1.03后該問題同樣解決了。但這里要注意2點:
- 混音的音頻和視頻必須長度相同,如果長度不同,代碼中必須將其進行處理(包括從長的文件中只取一段、或者將短文件反復拼接延長等)變成混音的視頻段和音頻段長度相同
- 對視頻剪輯段調用set_audio(cacheAudio)方法時,必須將輸出視頻段的返回結果記錄,用該記錄變量作為write_videofile的調用者。這是因為set_audio方法並沒有改變調用對象的音頻,而是將混音后的視頻剪輯單獨返回。