[Python] Moviepy failing to write concatenation of simple clip and composite clip

Discussão em 'Python' iniciado por Stack, Dezembro 22, 2024.

  1. Stack

    Stack Membro Participativo

    Basic python code for concatenating a simple movie clip and a clip composed of images and then attempting to write the result:

    clip_group = []

    bumper_clip = VideoFileClip(base_dir + 'resources/bumper.mp4')
    bumper_clip = bumper_clip.with_effects([vfx.FadeIn(0.5), vfx.FadeOut(0.25)])
    bumper_clip = bumper_clip.with_duration(bumper_clip.duration)
    bumper_clip = bumper_clip.with_fps(24)
    clip_group.append(bumper_clip)

    title_blank = ImageClip(base_dir + 'resources/project_info.png').resized(width=bumper_clip.w, height=bumper_clip.h)
    title_blank = title_blank.with_duration(4)
    title_blank = title_blank.with_effects([vfx.FadeIn(0.25), vfx.FadeOut(0.25)])

    main_title = ImageClip(base_dir + 'resources/title.png').resized(width=bumper_clip.w, height=bumper_clip.h)
    main_title = main_title.with_duration(4)
    main_title = main_title.with_effects([vfx.FadeIn(0.25), vfx.FadeOut(0.25)])

    title_clip = CompositeVideoClip([title_blank, main_title], use_bgclip=True, size=[bumper_clip.w,bumper_clip.h])
    title_clip = title_clip.with_fps(24)
    title_clip = title_clip.with_duration(4)

    title_clip = title_clip.with_audio(AudioFileClip(title_audio))

    clip_group.append(title_clip)

    final_title_clip = concatenate_videoclips(clip_group)
    final_title_clip.write_videofile(output_clip, fps=24, logger=None)


    The error message is a bit cryptic. Durations seem to all be set (audio?). Not sure which "input array dimensions" are being referred to. Is there an obvious oversight?

    Traceback (most recent call last):
    File "F:\Temp\Python Projects\MovieEditor\main.py", line 59, in <module>
    final_title_clip.write_videofile(output_clip, fps=24, logger=None)
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\moviepy\decorators.py", line 53, in requires_duration
    return func(clip, *args, **kwargs)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\moviepy\decorators.py", line 143, in use_clip_fps_by_default
    return func(clip, *new_args, **new_kwargs)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\moviepy\decorators.py", line 24, in convert_masks_to_RGB
    return func(clip, *args, **kwargs)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\moviepy\decorators.py", line 94, in wrapper
    return func(*new_args, **new_kwargs)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\moviepy\video\VideoClip.py", line 391, in write_videofile
    ffmpeg_write_video(
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\moviepy\video\io\ffmpeg_writer.py", line 263, in ffmpeg_write_video
    frame = np.dstack([frame, mask])
    ^^^^^^^^^^^^^^^^^^^^^^^^
    File "f:\Temp\Python Projects\MovieEditor\.venv\Lib\site-packages\numpy\lib\_shape_base_impl.py", line 726, in dstack
    return _nx.concatenate(arrs, 2)
    ^^^^^^^^^^^^^^^^^^^^^^^^
    ValueError: all the input array dimensions except for the concatenation axis must match exactly, but along dimension 0, the array at index 0 has size 1080 and the array at index 1 has size 1

    Continue reading...

Compartilhe esta Página