python moviepy如何在视频中如何添加gif图片?
python moviepy如何在视频中如何添加gif元素?
这个简单问题我无法正确描述,导致百度查了很多,都没有找到答案,最终自己琢磨得到问题解决方法。
这看似是一个很简单的问题,但是我遇到的问题是添加的gif图片始终是黑底矩形框,我的本意是让透明显示,把我遇到的坑,如何解决问题提供给大家。
以下是解决问题代码
重点代码提示:gif_clip=VideoFileClip(gif_file,has_mask=True)
没错,就是has_mask=True 这一个参数。
以下是代码;
from moviepy.editor import VideoFileClip, CompositeVideoClip,concatenate_videoclips
# 视频文件路径
video_file = r"resouces/ceshi.mp4"
# GIF动态图片路径
gif_file = r"resouces/image.png"
# 读取视频文件
video = VideoFileClip(video_file)
if gif_file.endswith('gif'):
gif_clip=VideoFileClip(gif_file,has_mask=True)
else:
gif_clip=ImageClip(gif_file).set_duration(video.duration)
# 读取动态图片
gif_clip = gif_clip.set_position("center",'center')
gif_num=int(video.duration/gif_clip.duration)+1
gif_clips=concatenate_videoclips([gif_clip for i in range(1,gif_num)])
video=CompositeVideoClip([video,gif_clips]).set_fps(24)
# 在视频中插入动态图片
# 保存新视频文件
video.write_videofile("resouces/output_video.mp4")
07-12
124
09-08