之前小帅b在网上看到一个营销号文案生成器,把我给乐的:
其实这个用 Python 实现非常简单,根据用户输入的内容,简单替换一下关键字就可以了,我随手写了一下生成方法:
调用一波:
是不是老小编了?但是这样还不够好玩,我们直接用 Python 整成一个彻底的营销号视频,把生成的营销文案转为语音,通过主体关键词去网上扒一些相关的图片,再把它们合成视频输出,那才叫一个酸爽啊。
那么如何使用 Python 实现一个视频营销号生成器呢?接下来就是:
学习 Python 的正确姿势
首先,我们接收到输入的主体关键词:
拿到关键词的时候,开一个线程去百度搜索下载相关的图片:
可以先到百度图片那里搜索一下,获取请求的 URL 和 解析规则,我们先来百度图片里面搜一下罗永浩吧:
可以看到请求的地址是:
打开控制面板,重新请求一下,可以看到图片的具体地址:
根据图片的地址信息,我们去第一个请求搜一下:
可以发现,每个图片的具体地址都定义在了 ObjURL 之下,那么可以通过 re 对它进行匹配。
根据关键词获取图片下载地址列表:
开始下载图片:
这里就先下载前 14 张图就好了,毕竟营销号嘛~
下载图片的线程就让它去跑吧,我们继续把刚刚收到的关键词生成文案:
调用它:
拿到营销文案之后,让它发声:
还记得当时的 Niubility 么?我们还是用那个好骚的声音:
我们先来运行一波看看效果:
可以看到老罗的图片给扒下来了:
再来听听生成的营销声音:
恩恩,有点内味了!
现在图片也有了,音频也有了,接下来就是合成视频了。
不过有一点,如果到时图片还没下载完,就去合成视频,岂不是 GG?所以最好先 join 一下线程:
将我们刚刚下载的图片合成一个视频,可以用下 opencv 的 write 方法:
简单说下这段代码吧:
这里是通过文件夹获取我们刚刚下载的所有图片地址:
这里定义了我们要合成的视频属性,比如帧数,视频像素等,其中我设置的 0.3 主要是让视频不要太快:
最后将每张图片都写进去:
那么,最后还要把刚刚生成的音频加入到视频中去,可以用下 FFmpeg:
这样,我们得到的 output.mp4 就是我们想要的营销号视频了,来执行一波:
ok,这时候当前目录下就会有这个视频了:
打开看看吧:
【营销号警告】老罗直播卖货https://www.zhihu.com/video/1235990859754934272
哈哈哈,也许加个 BGM 更有味,我好像突然发现了什么商机了,我们下回见,peace!