【python教程入门学习】拿python生成朋友圈九宫格视频

1. 场景

大家好,欢迎来到公众号:【python教程入门学习】!

如果你经常刷抖音和微信朋友圈,一定看到过这种九宫格短视频:

【python教程入门学习】拿python生成朋友圈九宫格视频_第1张图片

相比传统的视频,这种九宫格视频显得更有新意和个性。

那么除了用剪辑软件可以实现这种效果,是否有其他更加快捷方便的方式,比如:一键生成,批量生成?

本篇文章就将大家使用 Python 一键生成九宫格短视频,优雅地帮你在朋友圈装一次逼!

2.准备

在开始实战之前,使用 pip 安装 2 个依赖,分别是:

1、视频处理依赖 moviepy

2、图片处理依赖 PIL

3.实战一下

在实战之前,先准备一段原始视频素材

下面通过 6 个步骤,将原始视频转换为九宫格视频

1、新建处理文件夹

新建一个临时文件夹和一个视频输出文件夹

2、获取视频的音频文件及视频基础信息

首先,根据原始视频,使用 moviepy 构建一个 VideoFileClip 对象,从而获取到视频的宽、高、帧率、时长等信息

接着,从视频中提取 BGM 音频对象,并写入到文件中

3、处理视频帧

我们使用原始视频 Clip 对象的 iter_frames() 方法,循环获取所有的视频帧图片

需要指出的是,为了保证后面视频合成的便捷性,这里对视频帧的文件名按顺序进行命令

视频每一帧都被裁剪成 9 张图片,我们可以显式指定图片之间的距离,然后计算出新画布的宽和高,最后绘制一个白底背景的图片

接着,获取每一块区域的坐标值,针对横向、纵向第 2、3 个图片区域加上间隔偏移,粘贴到上面新建的图片上即可

4、一篮子图片重新合成视频

把上一步生成的帧图片,按照原视频的帧率转为视频

需要注意的是,为了保证生成的视频不会错乱,最好对帧图片按照名称进行一次排序

5、加入 BGM 背景音乐

将原始视频的音频文件设置到上一步生成的视频文件,然后写入一个新的文件中去

6、删除临时文件

利用 shutil将上面视频处理的临时文件,包含帧图片、临时视频文件删除掉

7、查看效果

以东莞仔、渣哥、乌鸦的一段视频为例,最终处理后的效果如下:

4.最后

通过上面的一系列操作,我们实现了将一段视频处理成九宫格视频

我已经将文中全部源码,包含生成九宫格视频和图片两套代码上传,关注公众号后回复九宫格即可获得全部源码。

你要不要也来试试,用 Python 测测你和女神的颜值差距(仅供娱乐,请勿联想) 如果真的遇到好的同事,那算你走运,加油,抓紧学到手。
python、爬虫技巧资源分享朋友圈:Python7762 包含python,
pythonweb、爬虫、数据分析等Python技巧,以及人工智能、大数据、数据挖掘、自动化办公等的学习方法。
打造从零基础到项目开发上手实战全方位解析!

你可能感兴趣的:(数据分析,数据挖掘,Python,数据挖掘,人工智能,python,编程语言,java)