moviepy icon indicating copy to clipboard operation
moviepy copied to clipboard

Stuck on audio writing with multiple videos

Open thirtwo opened this issue 2 years ago • 3 comments

Hello, I am new user so this can be unaccurate, but I think it's a bug. When I was writing one video it seems ok. If I try to concatenate more than one videos, it stucks on audio writing and gives this error: Code Snippet

//reading video files in for loop
video = mp.VideoFileClip(videoPath)
video.audio.write_audiofile("test.wav", 8000, 2)

// getting silence parts of videos in test.wav
// i think this part irrelevant but i can share if needed
clips = []
nullList = []
//cutting videos silence parts
if silence == nullList:  
        clips.append(video)
    else:
        for start, stop in silence[::-1]:
            clips.append(video.cutout(start, stop))


//trying to concatenate video clips 
finalClip = mp.concatenate_videoclips(clips)
finalClip.write_videofile("mynewvideo.mp4")
finalClip.close()

Error

Moviepy - Building video mynewvideo.mp4.
MoviePy - Writing audio in mynewvideoTEMP_MPY_wvf_snd.mp3
chunk:  71%|█████████████████████████████████▍             | 3169/4458 [00:09<00:01, 710.54it/s, now=None]Traceback (most recent call last):
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/io/readers.py", line 193, in get_frame
    result[in_time] = self.buffer[indices]
IndexError: index -581536 is out of bounds for axis 0 with size 200000

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kali/Documents/Github/test/main.py", line 36, in <module>
    finalClip.write_videofile("mynewvideo.mp4")
  File "<decorator-gen-55>", line 2, in write_videofile
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "<decorator-gen-54>", line 2, in write_videofile
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 135, in use_clip_fps_by_default
    return f(clip, *new_a, **new_kw)
  File "<decorator-gen-53>", line 2, in write_videofile
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 22, in convert_masks_to_RGB
    return f(clip, *a, **k)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/video/VideoClip.py", line 293, in write_videofile
    self.audio.write_audiofile(audiofile, audio_fps,
  File "<decorator-gen-45>", line 2, in write_audiofile
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 206, in write_audiofile
    return ffmpeg_audiowrite(self, filename, fps, nbytes, buffersize,
  File "<decorator-gen-9>", line 2, in ffmpeg_audiowrite
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/io/ffmpeg_audiowriter.py", line 166, in ffmpeg_audiowrite
    for chunk in clip.iter_chunks(chunksize=buffersize,
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 85, in iter_chunks
    yield self.to_soundarray(tt, nbytes=nbytes, quantize=quantize,
  File "<decorator-gen-44>", line 2, in to_soundarray
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 127, in to_soundarray
    snd_array = self.get_frame(tt)
  File "<decorator-gen-11>", line 2, in get_frame
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 89, in wrapper
    return f(*new_a, **new_kw)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/Clip.py", line 93, in get_frame
    return self.make_frame(t)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 296, in make_frame
    sounds = [c.get_frame(t - c.start)*np.array([part]).T
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/AudioClip.py", line 296, in <listcomp>
    sounds = [c.get_frame(t - c.start)*np.array([part]).T
  File "<decorator-gen-11>", line 2, in get_frame
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 89, in wrapper
    return f(*new_a, **new_kw)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/Clip.py", line 93, in get_frame
    return self.make_frame(t)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/Clip.py", line 136, in <lambda>
    newclip = self.set_make_frame(lambda t: fun(self.get_frame, t))
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/Clip.py", line 187, in <lambda>
    return self.fl(lambda gf, t: gf(t_func(t)), apply_to,
  File "<decorator-gen-11>", line 2, in get_frame
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/decorators.py", line 89, in wrapper
    return f(*new_a, **new_kw)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/Clip.py", line 93, in get_frame
    return self.make_frame(t)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/io/AudioFileClip.py", line 77, in <lambda>
    self.make_frame = lambda t: self.reader.get_frame(t)
  File "/home/kali/Documents/Github/test/.venv/lib/python3.9/site-packages/moviepy/audio/io/readers.py", line 205, in get_frame
    result[in_time] = self.buffer[indices]
IndexError: index -581536 is out of bounds for axis 0 with size 200000

Specifications

  • Python Version: Python 3.9.12
  • Moviepy Version: 1.0.3
  • Platform Name: vscode
  • Platform Version: 1.67.1

thirtwo avatar May 18 '22 00:05 thirtwo

I encountered the same problem, have you solved it?

jaysonteng avatar Mar 03 '23 02:03 jaysonteng

@jaysonteng I found a temporary solution. I was using Kali linux. I used the code on my windows devices. Sorry for not helping!

thirtwo avatar Mar 03 '23 05:03 thirtwo

I encountered the same problem

hustshenl avatar Aug 27 '23 17:08 hustshenl