近日接触手机端小视频合成业务,发现现有的主流视频合成APP中,能实现“单张图片 + 指定语音”类型的APP屈指可数,ios自带APP“Clips”仅能合成正方形图片,超出正方形部分会自动进行黑色背景补齐。
于是需要一个能在手机端完成的、实现“单张图片 + 指定语音”、视频画面尺寸可自行定制的APP或小程序。
百度之,忽略中间的数据传输部分,发现py有可工厂化的服务器端视频合成模块Moviepy,利用已有 Mac High Sierra + pyCharm + py3.5 进行测试。
一、安装Moviepy
(1) 在pyCharm上搜索模块“moviepy”并安装
注:安装期间报错,更新pip后顺利安装,因依赖模块较多,安装时间较长
(2) 安装 ImageMagick, http://www.imagemagick.org/script/download.php
跳转至Mac部分,下载提示如下:
如图,官方推荐使用 MacPorts 进行 ImageMagick 安装,MacPorts 的pkg下载链接 https://www.macports.org/install.php,按提示进行 pkg 安装后即完成 ImageMagick 安装
(3) 在pyCharm上搜索模块“ffmpeg”并安装(完成视频合成的关键部分)
二、利用 Moviepy 制作视频合成工厂的核心代码部分
视频合成工厂在量少时可以简单设计为队列模式,量多时可设计成并行池模式。这里讨论核心代码部分。代码如下。
#!/usr/bin/env python
# -*- coding:utf-8 -*-