python如何添加有透明通道的gif动画图片

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")
  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值