今天来实现一个利用Python的moviepy类库裁剪视频的功能。写这个功能的初衷是想批量的裁剪一下视频,下面一起来看一下代码吧!
目前我们实现的是将单独一个视频进行裁剪。本次我们将目前视频截取一小段内容,并为其添加一个水印图片。
我们使用python的moviepy类库,首先安装moviepy类库,使用pip进行安装,命令如下:
代码语言:javascript复制pip install moviepy
简短的介绍一下,MoviePy是一个用于视频编辑的python模块,可以用它实现一些基本的操作(比如视频剪辑,视频拼接,插入标题),还可以实现视频合成,还有视频处理,或用它加入一些自定义的高级的特效。总之,它的功能还是蛮丰富的。此外,MoviePy可以读写绝大多数常见的视频格式,甚至包括GIF格式!是不是很兴奋呢?基于Python2.7以上的版本,MoviePy可以轻松实现跨平台,Mac/Windows/Linux统统没问题,这也以意味着,MoviePy项目可以部署到服务端,在服务端进行视频处理。真是非常的厉害!
一起来看一下代码
1、引入类库
代码语言:javascript复制from moviepy.editor import *
2、编写主要方法
代码语言:javascript复制def main(in_file, out_file):
我们设置两个参数,输入文件路径和输出文件路径。
3、对输入文件进行加载、控制剪切时间、添加掩码操作
代码语言:javascript复制clip = VideoFileClip(in_file, audio=False).subclip(5, 10).add_mask()
4、选定图片,添加水印
代码语言:javascript复制image_clip = ImageClip('./file/logo.jpg').set_start(0).set_duration(5)
5、设置水印图片位置
# 设定图片位置 左上
代码语言:javascript复制image_clip.set_position(("left", "top"))
6、合并操作
代码语言:javascript复制final = CompositeVideoClip([clip, image_clip])
7、写入视频资源
代码语言:javascript复制final.write_videofile(out_file)
共计7个步骤,就可以完成一个视频的裁剪工作。还是非常方便的,后续准备进行视频的批量裁剪工作。欢迎大家关注。