一、前言
刷过抖音或者其它视频平台的应该都会发现。差不多每个视频都会有一个与平台相关的广告开头,而这个开头不是视频作者手动添加的,而是视频平台自动生成的。那生成这样的开头要怎么做呢?今天我们就来看一下。
二、moviepy模块
在之前我们将视频转换成GIF的时候提到了moviepy
,今天我们就来具体使用一下。moviepy
是python中用来处理视频的专业模块,里面包括了视频剪辑、音频添加删除、字幕添加删除等操作。功能非常丰富。
1、安装
moviepy
的安装非常简单,执行下面语句即可:
pip install moviepy 复制代码
在moviepy中有许多子模块,其中editor
是比较常用的一个,导入如下:
from moviepy.editor import VideoFileClip 复制代码
下面我们就可以使用了。这里需要说一句,moviepy需要和ffmpeg工具结合才能发挥其全部作用。本文没有使用到太多功能,因此就不详细介绍ffmpeg的配置。
2、简单使用
我们先来做一些简单的操作:
from moviepy.editor import VideoFileClip # 读取视频文件 clip = VideoFileClip("test.mp4") # 视频剪辑 video = clip.subclip(1, 2) # 保存剪辑后的视频 video.write_videofile("1.mp4") 复制代码
上面我们主要看一下subclip
的使用,它可以实现视频的剪辑,我们传入开始时间和结束时间即可。上面表示从第1秒截取到第二秒。这里还可以用下面的方式来剪辑:
from moviepy.editor import VideoFileClip clip = VideoFileClip("test.mp4") # 视频剪辑 video = clip.subclip((1, 20), (2, 40)) video.write_videofile("1.mp4") 复制代码
这里表示从1分20剪辑到2分40。理解起来也非常直观。
三、给视频添加开头
这里需要用到合并视频的操作,具体操作如下:
from moviepy.editor import VideoFileClip from moviepy.video.compositing.concatenate import concatenate_videoclips # 读取视频 clip1 = VideoFileClip("1.mp4") clip2 = VideoFileClip("2.mp4") # 合并视频 video = concatenate_videoclips([clip1, clip2]) # 保存视频 video.write_videofile("result.mp4") 复制代码
上面我们主要通过concatenate_videoclips
函数来实现视频合并,并传入片段的列表。