全网首创Python算法自动剪辑视频,中
?用AI托管量产原创科普类短视频,没错1个月能做个。
你没看错1个月做1万个科普短视频,其他编程语言和工具能不能做我不知道,但是用Python的MoviePy模块是可以做到的。
19年我还在学校的时候领导安排让我用pr做一个中医药的药材的科普短视频,那个玩意我实在搞不来,后来用爬虫抓了一下中医药网的中药材数据,发现数据都是固定的格式,既然是重复的工作那么用Python脚本就应该能批量生产了。
成品的案例,制作耗时全自动5分钟左右。可以扩展思路类似这种科普类的视频都可以量产,如果有兴趣的话往下看实现方法。
软硬件、技能需求CPU最好是I7-以上,要不整体制作会非常慢
Python版本3.6以上
Moviepy模块暂时不支持GPU,因此显卡好坏无视
PyEcharta模块的地图制作和图片渲染,因为视频要用到
常规的数据清洗处理操作,不然视频内容没法做
需要会用PPT制作素材,图片和视频这种
需要会写爬虫基础的就行Scrapy框架用不上
需要会操作Moviepy模块,不会的看我专栏里的对应介绍和操作方法
需要1-N个手机号,用于申请百度AI的免费API使用
需要有耐心,很多地方需要微调
数据获取做视频的内容文稿自然是要有数据了,这种视频的数据是公开的,在药智数据上可以找到。
数据在这里,具体抓取方法很简单,Python写个爬虫脚本就搞定了,这个整体耗时1个钟头吧。最后的数据长这样,才发现咱们国家中药材居然有+种,真实开眼了。
红色字体部分是通过excel表单提取的药材生长所在省市的名称、对应数据访问的网址页面。暂无数据的部分是原数据部分空白抓取后自动填充,这个后面会用到。
基础素材准备视频封面素材,固定模板的视频封面。这个东西用PPT做就行了,很简单。然后把制作好的保存成jpg图片。
水印制作,用图片工厂做一个也比较简单。记得保存成png格式。
其他通用素材图片,比如说处方、汤药的图片,毕竟中药的汤药熬制出来都差不多。
这些图片素材都放到material_jpg\base目录下。
视频模板,这个也用PPT做就行了,然后保存成一段循环播放的视频,后面用代码切。然后将这个视频的模板切分成转场和部分2个。如果需要片尾视频自己搞一个就行了。
文字合成语音的API,随便拿个手机号申请百度AI的接口服务就行。不怕贵的话可以使用科大讯飞的。自行选择,代码会根据接口进行微调。自己不会的仔细看API文档,这点耐心要没有的话后面也不用看了。
流程与代码了解业务处理制作流程有助于理解代码,或者流程了解了代码就很容易。
先看一下整体的工程目录。
项目总体执行文件
TCM_MakeMovie.py
#coding:utf-8__author__=Mr.数据杨__explain__=文件目录说明:\data:用于存放视频中生成内容的excel表格数据,以及AI抠图的日志文件\font:用于存放字体文件\material_base:用于存放视频素材片头、片尾、片中、过场的MP4\material_everypart:根据不同的内容存放算法生成的无语音part素材和封面\material_jpg:用于存放视频用使用的水印、封面、不同的内容按照规则生成的图片\material_mp3:用于存放百度AI生成的MP3文件\material_result:用于存放最终视频生成的结果文件,如果生成同样的内容需要将源文件删除\material_video:根据不同的内容存放算法生成的合成语音后part素材和封面、总合成的结果\备份脚本:该项目Debug的过程\\使用说明:\1.在material_jpg中创建内容的文件夹,名称为对应pic_name的名称\2.在互联网上采集对应内容的图片,改名pic_name.jpg格式\3.无脑启动脚本等material_result出结果\4.代码行处,根据material_jpg的base的文件夹下fuyong、zhongzhi进行随机切换图片生成不同的内容,素材自行搞定\5.水印根据material_jpg的base下的logo.png进行更换\6.封面根据material_jpg的base下的cover.pptx进行操作生成base.jpg进行更换#加载使用的三方安装包importpandasaspd#加载自定义py方法fromconfigsimport*#工程配置数据fromready_workimport*#工程启动准备工作fromprocess_imagesimport*#处理工程需要的图片数据fromprocess_audioimport*#处理工程需要的音频数据fromprocess_videoimport*#处理工程需要的视频数据if__name__==__main__:#读取基础Excel数据基础信息df=pd.read_excel("data/data.xlsx")#选择Excel中第num个数据进行制作,起始数据是2num=3#设置索引数字row=num-1#提取需要制作的行数据,并重置索引df=df.loc[row:row,:]df.reset_index(drop=True,inplace=True)#提取本次制作内容的主题药材名称pic_name=df["药材名称"][0].replace("?","")print("本次制作内容:",pic_name)#加载配置文件#提取使用的字体路径font_path#中英文对应的数据列名字典column_en2cn_dict\column_cn2en_dictfont_path,column_en2cn_dict,column_cn2en_dict=config()#重命名列位英文好处理df=df.rename(columns=column_cn2en_dict)#删除数据的无用字段df.drop(["_id"],inplace=True,axis=1)df.drop(["url"],inplace=True,axis=1)#用replace替换掉数据中已经发现的无用部分,发现即追加df["QYFB"][0]=df["QYFB"][0].\replace("","").\replace("生态环境","").\replace("资源分布","")#填充无数据的部分内容df=df.fillna("暂无数据")#创建单词视频会使用的制作目录,对应目录以药材名称pic_name为顶级目录#1.单条视频每个部分素材的目录material_everypart#2.合成每个部分素材的目录以及素材全部合并的目录material_video#3.单条视频使用的图片素材的目录material_jpg#4.单条视频使用的音频素材的目录material_mp3MakeMaterialDir(pic_name)#避免重复制作素材数据发生错误,每次都清空原有旧的数据#1.清空单条视频每个部分素材目录material_everypart#2.清空合成每个部分素材目录material_video#3.清空单条视频使用的音频素材目录material_mp3CleanFiles(pic_name)#从百度百科抓取图片,如果错误需要更换#未来尝试再wiki百科抓取RequestGetImage(pic_name)#抓取的药材图片用算法自动去背景扣图CutoutJPG(pic_name)#使用基础的背景图片合成抠图的影像合成图片到封面CompositeCoverJPG(pic_name)#音频文件数据处理#使用API接口生成字幕对应的音频文件保存到material_mp3的对应的目录下ChangeWordsToMp3(df)time_name_dict=Mp3Info(df)#正文部分1-6try:FirstPart(pic_name,df,time_name_dict,column_en2cn_dict)except:passtry:SecondPart(pic_name,df,time_name_dict,column_en2cn_dict)except:passtry:ThirdPart(pic_name,df,time_name_dict,column_en2cn_dict)except:passtry:FourthPart(pic_name,df,time_name_dict,column_en2cn_dict)except:passtry:FifthPart(pic_name,df,time_name_dict,column_en2cn_dict)except:passtry:SixthPart(pic_name,df,time_name_dict,column_en2cn_dict)except:pass#合成封面MP4文件MakeCoverMp4(pic_name)#拼接视频合成背景音乐StitchingVideo(pic_name)
几个重要py文件。
configs.py#工程配置数据
process_audio.py#处理工程需要的音频数据
process_images.py#处理工程需要的图片数据
process_text.py#处理工程需要的文字数据
process_video.py#处理工程需要的视频数据
ready_work.py#工程启动准备工作
按照上面的思路执行后会生成对应中药材的制作文件。
material_everypart
material_jpg
material_mp3
material_video
最终合成的结果视频是result.mp4。
预览时标签不可点收录于话题#个上一篇下一篇转载请注明:http://www.sonphie.com/lcbx/16173.html