阿里云

Python实现视频裁剪添加水印功能

今天来实现一个利用Python的moviepy类库裁剪视频的功能。写这个功能的初衷是想批量的裁剪一下视频,下面一起来看一下代码吧!


c2e7a8708bcf44569830a9df09246329.jpg


目前我们实现的是将单独一个视频进行裁剪。本次我们将目前视频截取一小段内容,并为其添加一个水印图片。

我们使用python的moviepy类库,首先安装moviepy类库,使用pip进行安装,命令如下:

pip install moviepy

简短的介绍一下,MoviePy是一个用于视频编辑的python模块,可以用它实现一些基本的操作(比如视频剪辑,视频拼接,插入标题),还可以实现视频合成,还有视频处理,或用它加入一些自定义的高级的特效。总之,它的功能还是蛮丰富的。此外,MoviePy可以读写绝大多数常见的视频格式,甚至包括GIF格式!是不是很兴奋呢?基于Python2.7以上的版本,MoviePy可以轻松实现跨平台,Mac/Windows/Linux统统没问题,这也以意味着,MoviePy项目可以部署到服务端,在服务端进行视频处理。真是非常的厉害!

一起来看一下代码

1、引入类库

from moviepy.editor import *

2、编写主要方法

def main(in_file, out_file):

我们设置两个参数,输入文件路径和输出文件路径。

3、对输入文件进行加载、控制剪切时间、添加掩码操作

clip = VideoFileClip(in_file, audio=False).subclip(5, 10).add_mask()

4、选定图片,添加水印

image_clip = ImageClip('./file/logo.jpg').set_start(0).set_duration(5)

5、设置水印图片位置

# 设定图片位置 左上

image_clip.set_position(("left", "top"))

6、合并操作

final = CompositeVideoClip([clip, image_clip])

7、写入视频资源

final.write_videofile(out_file)

共计7个步骤,就可以完成一个视频的裁剪工作。还是非常方便的,后续准备进行视频的批量裁剪工作。欢迎大家关注。



喜欢就点个赞吧