在 MoviePy 中的视频上叠加视频

Overlay video on video in MoviePy

我正在使用 python MoviePy 库在 .mp4 视频上叠加 .mov 格式的透明背景视频。这是我目前的代码。

from moviepy.editor import VideoFileClip, CompositeVideoClip
zm_video_path = "1.mov"


def add_zm(fg_in_bg_avi):
    clip1 = VideoFileClip(fg_in_bg_avi)
    clip3 = VideoFileClip(zm_video_path, has_mask=True)
    video = CompositeVideoClip([clip1, clip3])
    name = 'New_video'
    video.write_videofile(name, audio=False)  # No audio first
    video.close()
    return name


if __name__ == '__main__':
    video_have_zm = add_zm("background.mp4")

当我在同一视频上叠加 GIF 时,此代码有效。我看到以下错误:

UnicodeDecodeError:'utf-8'编解码器无法解码位置 1806 中的字节 0xce:无效的连续字节

提前致谢。也许你知道如何在 ffmpeg 上做到这一点?

output_path="output.mp4"

video_clip = VideoFileClip((video_view), target_resolution=(1080, 1920)) #b .mp4 file

overlay_clip = VideoFileClip((animeeer), has_mask=True, target_resolution=(1080, 1920)) #.mov file with alpha channel


final_video = mp.CompositeVideoClip([video_clip, overlay_clip])  


final_video.write_videofile(
    output_path,
    fps=30,
    remove_temp=True,
    codec="libx264",
    audio_codec="aac",
    threads = 6,
)