2017-03-04 13 views
-1

私はこの問題を一日中解決しようとしています。私はディレクトリ内のすべてのビデオの一番下に画像を追加しようとしています。ここで4つ以上のビデオを書き込む際のPython Movie.pyエラー

は、私がここで100

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

のうち、わずか4ビデオを書き込んだ後、取得エラーがイムビデオ

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

編集を書き込もうとする方法です。少し間違ったコードこれを投稿します私がテストしている間に私は作ったし、インスタントa -1を得た。それを変更しました。しかし、私はまだこの問題の解決策を見つけることができません。

Edit2:試してみて、それを理解しました。それを混合する前に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で最新バージョンに更新するか、次のmoviepyアップデートがPyPIにプッシュされるまで待つか、これが修正されます。あなたは、あなたがあなたの使用に根本的な問題に出くわすことができるものをラインが

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

手段を教えていない限り、しかし

:(onetwoこれらのコミットを参照してください)。

ちょっとした注意:上記の行にはいくつかのエラーがあります。これに変更してください:

+0

ちょっと@Gloin答えのために何とかそれは別のものをテストすることによって動作するように管理しました。私はmoviepyは時々少しバギーだと思います。 その2行目は使用する予定がありませんでした。 – taijamen

関連する問題