python 利用moviepy覆盖视频中某区域画面

处理视频时,会遇到想要遮住某一区域的问题,比如去除视频中的logo,二维码,某一段时间出现的场景等等......

 方法一、利用ColorClip成颜色块覆盖

def hide(src, dst):
    video = VideoFileClip(video_src)
    mask = (ColorClip((220, 200), (255, 255, 255))
            .set_positon((1300, 500))
            .set_duration(video.duration)
            )
    CompositeVideoClip([video, mask]).write_videofile(dst)

src:原视频地址

dst:修改后生成新视频地址

(220,200):生成颜色块的大小220*200

(255,255,255):白色,RGB

.set_positon((1300, 500)): 将颜色块放在需要覆盖的位置(1300,500)
.set_duration(video.duration):video.duration是原视频的时长。将颜色块放置的时长设置为视频时长,这样整个视频过程中指定画面都被覆盖。也可以指定具体的时间段,如:

.set_start(start_time).set_end(end_time)

 方法二、利用图片覆盖

def hide(video_src, dst):
    video = VideoFileClip(video_src)
    mask = (ImageClip(image_PATH)
            .set_duration(video.duration) 
            .resize((220,200)) 
            .set_pos((1300, 500))) 
    CompositeVideoClip([video, mask]).write_videofile(dst)

调用ImageClip模块生成一个clip, image_path 为图片位置

resize:更改图片大小

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值