使用 python 玩转文字类视频
网上有很多那种只有文字的视频,基本是都是一段文字,加上背景音乐,定时显示几个词语;好几次刷到这些视频,想到应该可以使用 python 生成;
基本原理
安装需要用到的库:
安装第三方库的方式有很多种,这里推荐使用 pip;
pip 是 Python 的包安装程序。其实,pip 就是 Python 标准库(The Python Standard Library)中的一个包,只是这个包比较特殊,用它可以来管理 Python 标准库(The Python Standard Library)中其他的包。pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行。
首先需要先安装 pip:
安装 python; 这个是必须安装的;
下载 pip:
官网地址:https://pypi.org/project/pip/#downloads; 下载完毕后,解压
打开命令行窗口,进入到 pip 解压后的目录;执行代码
python3 setup.py install
进行安装,安装完成后,将 pip 加入到系统环境变量中
验证打开命令行窗口,输入 pip list 或者 pip3 list
安装分词库 jieba
jieba 是一款优秀的 Python 第三方中文分词库,支持三种分词模式:
精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据搜索引擎模式:在精确模式的基础上,对长词再次进行切分
jieba 的安装方式比较简单,使用 Ctrl+R 打开命令行窗口,执行命令:
pip install jieba 等待安装成功(需要联网)
验证是否安装成功;打开 python 交互窗口,引入 jieba
import jieba
安装视频处理库:moivepy
MoviePy 是一个用于视频编辑的 python 模块,你可以用它实现一些视频剪辑,视频拼接等基本操作,还可以实现视频合成;MoviePy 使用 ffmpeg 读取、导出视频和音频文件,使用 ImageMagick 生成文本和输出 GIF 文件。Python 的数字库 Numpy 保证了不同媒体的处理。高级效果和增强使用了 Python 的许多图像处理库(PIL、Scikit-image、scipy 等)
安装 moviepy 前先把 Numpy,tqdm,imageio,imageio-ffmpeg 几个包安装符合要求的版本,如遇到版本不够,需要先卸载,在重新安装;
部分 MoviePy 依赖 python 库有也会在安装 MoviePy 的时候自动安装;未安装的库会有提示信息,提醒用户提前安装;
安装 moviepy:使用 pip 方式安装最简单,推荐使用;打开命令行窗口,执行命令:
pip install moviepy 运行以上代码,也会安装所有 movicepy 依赖的库;
编码实现:
实现分词功能函数导入 jieba 库:
import jieba
传入文本文件地址,读取文本内容使用 jieba.lcut()方法就行分词,获取分词列表也可以按行分词,不是 jieba 库;返回分词列表,给调用者
根据分词列表生成文字素材;
主要用到 movirpy 中的 TextClip
合成文字素材(添加音频):
具体参考注释:
执行调用,传递参数,生成 视频
版权声明: 本文为 InfoQ 作者【Geek_bbf276】的原创文章。
原文链接:【http://xie.infoq.cn/article/c26c415ca3e0b83a7fc3fb220】。文章转载请联系作者。
评论