在 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,
)
我正在使用 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,
)