【视频处理】给视频添加开头

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

一、前言

刷过抖音或者其它视频平台的应该都会发现。差不多每个视频都会有一个与平台相关的广告开头,而这个开头不是视频作者手动添加的,而是视频平台自动生成的。那生成这样的开头要怎么做呢?今天我们就来看一下。

二、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函数来实现视频合并,并传入片段的列表。

猜你喜欢

转载自juejin.im/post/7018200842905845773