| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 一起用Python做个自动化短视频生成脚本,实现热门视频流水线生产! -> 正文阅读 |
|
[系统运维]一起用Python做个自动化短视频生成脚本,实现热门视频流水线生产! |
前言前几天有粉丝和我说,最近在网上看到一些视频营销号一天能发布几百条短视频, 感觉都是批量生成的,能不能用Python做个自动化短视频生成脚本呢? 今天就带大家一起用Python做个自动化视频生成脚本,实现热门视频批量流水线生产,一起来看看吧~ 直接跳到文末获取源码福利。 一、核心功能设计首先我看了网上那些视频营销号的视频,大多数都是围绕一个主题通过几张图片进行视频轮播展示并添加一些热门歌曲作为背景音乐。 知道了大概的思路,接下来我们可以通过以下几步进行实现:
二、实现步骤1. 图片爬取当然如果小伙伴已经有视频素材了,只想给视频直接添加背景可以直接跳到第四步;如果已经有图片素材不需要爬取了,可以直接跳到第二步。 第一步,我们可以根据需要的视频主题进行关键字图片搜索,对图片进行批量爬取。例如我们以日本动漫《你的名字》作为主题,通过输入关键字,爬取动漫相关的图片。核心代码如下:
至此我们就可以根据关键字将图片爬取下来,并将图片根据数字顺序命名,如下图所示。 2. 图片统一格式大小第二步,我们需要将获取的图片进行大小格式统一,方便后面的视频合成。这里我们可以自己手动筛选部分需要resize统一大小的图片,也可以对爬取的整个文件夹下图片批量统一格式大小。对于图片大小尺寸可以通过代码进行设置,这里我们将所有图片大小统一成600*800的。核心代码如下:
3. 视频合成第三步,我们可以将这些格式大小统一的图片进行视频合成,这里我们可以把整个文件夹中的图片全部合成,也可以自己手动选取部分。合成的时候我们根据图片的数字命名顺序进行一次合并,核心代码如下:
这里如果我们要控制视频每秒钟播放的图片张数,可以根据fps代表的每一秒播放多少张图片对帧数自行设置,从而完成图片的视频合成。 4. 截取背景音乐第四步,在背景音乐截取前,我们首先需要确认视频时长,这样我们才能截取适时的背景音乐。所以我们可以先获取视频的长度,返回的就是以s为单位的视频时长,核心代码如下:
视频时长知道了,接下来我们就要进行背景音乐截取了,之前博主有写过一篇文章,关于如何用Python自制一款炫酷音乐播放器,感兴趣的可以去看看是如何制作的。音乐播放器博主已开放源码,可通过文末公众号获取。 今天我们就使用这款自制的音乐播放器来下载我们需要的音乐。例如我们就以《错位时空》作为背景音乐,我们可以先通过这款音乐播放器将这首歌下载到本地。如下图所示。 歌曲高潮自动截取: 首先我们需要安装下pychorus模块
安装完成后,导入pychorus模块,一行代码调用就可以实现,这里传入的参数t就是上面我们获取的视频时长,这样可以确保截取的背景音乐和视频时长一致,方便视频和音乐合成。 同时我们还需要注意下,一般一首歌曲的时长大概3-4分钟,所以我们传入的t最好不要超过1分钟,否则可能会出现高潮截取失败。核心代码如下:
如下图,我们知道了视频的时长是26s,然后截取背景音乐,自动获取的高潮部分是从2分32秒开始,时长26s。至此我们就可以把当前歌曲的高潮部分截取出来进行最后的视频和音乐合并了。 自定义截取歌曲区间: 如果本身我们的视频长度较长,截取不到歌曲高潮部分怎么办呢?我们可以进行自己定义歌曲截取区间来获取背景音乐,下面就演示下,截取歌曲从20s开始到90s结束,核心代码如下:
5. 视频和背景音乐合并第五步,我们需要把视频和刚刚截取好的背景音乐进行合并,合成一个新的视频,核心代码如下:
至此,整个视频就可以自动生成,实现热门视频流水线生产了!下面我们一起运行下看看自动生成的视频效果如何吧。 源码及数据已上传,关注文末公众号回复【短视频源码】即可获取完整源码
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:27:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |