2017-03-04 52 views
-1

我一直試圖弄清楚這個問題整整一天。我試圖在目錄中的每個視頻的底部添加一個圖像。編寫超過4個視頻時發生Python Movie.py錯誤

這裏是我寫僅4視頻滿分100

del self.reader 
AttributeError: reader 
Exception ignored in: <bound method VideoFileClip.__del__ of <moviepy.video.io.VideoFileClip.VideoFileClip object at 0x03D787B0>> 

後得到的錯誤這裏是IM如何試圖寫視頻

video = CompositeVideoClip([clip1, clip2.set_duration(clip1.duration)]) 
video = CompositeVideoClip("mixclip"+random.randint(999,999999)"+.mp4") 
del video 
del clip1 
del clip2 

編輯:發佈一個稍微錯碼我在測試的時候做了一個瞬間-1。改變了它。但我仍然無法找到解決這個問題的方法。

編輯2:測試了很多,並找出它。通過在混合之前聲明clip2持續時間來修復它。重寫完整的代碼並沒有檢查我做了什麼其他更改,但現在按預期工作。

+1

您正在調用'del video',但是您在下一行'video.reader = None'中再次訪問'video'。這是行不通的。也可能在'VideoFileClip'類中出現錯誤。它調用'del self.reader',但異常表明這個變量從未被賦值。 – pschill

+0

@pschill我已經嘗試'video.reader = None'和'del video'沒有其他,但它仍然在4次寫入後崩潰。 – taijamen

+0

在調用'CompositeVideoClip'之前,您可以嘗試使用'clip1.reader = None'和'clip2.reader = None'。這應該確保變量在'clip1'和'clip2'被釋放之前被初始化。然後在'video = CompositeVideoClip(...)'這兩行之後直接使用'video.reader = None'。 – pschill

回答

0

更新到GitHub repo的最新版本,或者等到下一個影片更新被推送到PyPI,並在此位置修復。 (見這些提交:onetwo

但是,除非你告訴我們什麼行

video = CompositeVideoClip("mixclip"+random.randint(999,999999)"+.mp4") 

手段,你可以通過基礎的問題是未來與您的使用。

只是旁註:上面的行有幾個錯誤;將其更改爲:

video = CompositeVideoClip("mixclip" + str(random.randint(999, 999999)) + ".mp4") 
+0

嘿@Gloin謝謝你的答案,我以某種方式設法通過測試不同的東西來實現它。我猜moviepy有時候有點兒buggy。 第二行不打算使用。 – taijamen

相關問題