用 AI 托管量产原创娱乐解说视频?没错可以的。
当下自媒体账号中有大部分的娱乐新闻介绍的视频都是机器自动生产的,我也用 python 模拟器百度AI的结构做了一套,这个脚本相比之前的版本优化的很多地方。
对于阅读观看的流量的话来个图说明一下,这个完全看运气了,两边才能质变。
目前版本是1.15版本功能有限,未来会继续在更新算法的基础上更新脚本。这里介绍大体的制作思路和方法和原创你们想要问的问题。
既然正儿八经地讲技术没人看那么就做这么一个好试试吧。
来个演示视频先看看吧,喜欢的话往下看。
视频加载中...
软硬件、技能需求
- CPU最好是I7-8750以上,要不整体制作会非常慢
- Python版本3.6以上
- Moviepy模块暂时不支持GPU,因此显卡好坏无视
- 需要会写爬虫,抓视频素材。
- 需要掌握常规的文章洗稿方法,不然视频内容没法做
- 需要掌握常规的window系统操作,否则剪映某些操作无法完成
- 需要会操作Moviepy模块,不会的看我专栏里的对应介绍和操作方法
- 需要1-N个手机号,用于申请百度AI的免费API使用
- 需要有耐心
基础准备
封面视频制作素材
视频的封面需要自己定制好固定的模板根据自己喜好,图片就行。图片是可以直接做成视频的。
固定的模板,根据你自己的情况自己修改模板封面。
你要问这个咋做的?用PPT就行了。
你会问人像要自己扣么?
不用真不用,一行python代码直接用算法扣了然后放到PPT上。
对就这么简单,怎么做看我专栏的其他文章。
视频背景制作素材
包括视频的开头动画,内容播放片段,自己的水印和片尾视频。
素材准备好了以后开始代码一键出视频啦。
流程与代码
# -*- coding: utf-8 -*-
import librosa
import requests
from gerapy_auto_extractor.extractors import *
import os
import csv
import glob
import urllib.parse
import numpy as np
# from skimage import transform as tf
from moviepy.editor import *
from moviepy.video.tools.drawing import color_gradient
from random import choice
font_path = './font/kaiti.ttf' # 加载字体配置文件
log_path = "logs/生成过内容的记录表单.csv" # 文件保存路径
# 自定义处理数据函数
from EveryWebsitFuction import *
from WordProcess import *
from AudioProcess import *
from ImageProcess import *
from VideoProcess import *
from FileProcess import *
抓取文章基本信息记录
# 需要一键转换的文章链接
Url = "https://haopinang.com/27793.html"
# 提取站点信息用于爬虫脚本
WebSite = urllib.parse.urlsplit(Url).netloc
# 用爬虫extract_detail提取文章的标题
Title = extract_detail(requests.get(Url,headers=headers,proxies=proxies,verify=False).text)["title"]
# 构建文章制作信息日志
data_row = [WebSite,Title,Url]
write_csv(log_path, data_row)
抓取文章的正文、标题、图片
# 访问该页面
response = requests.get(Url,headers=headers,proxies=proxies,verify=False)
# 根据固定的方法获取标题、正文、图片link
if WebSite == "haopinang.com":
title,content,imglist = haopinang(response)
文字需要自己处理一下,避免敏感词汇出现
图片裁剪处理
就是抓取文章中的图片生成素材就行,然后才裁剪成视频的尺寸。
# 判断如果没有该数据的文件夹就创建
dirs = 'materials/' + title + "/web_jpg/"
if not os.path.exists(dirs):
os.makedirs(dirs)
imglist = RequestGetImage(title) + imglist # 将浏览器百度搜索的素材和文章中的素材整理在一起
# 保存图片并按比例裁剪
i = 1
jpg_list = [] # 用于保存图片的文件名成
for url in imglist: #读取并保存到本地
html = requests.get(url,headers=headers,proxies=proxies,verify=False)
# 将抓取的图片保存到web_jpg
with open('materials/'+ title + "/web_jpg/" + str(i) + ".jpg", 'wb') as file:
file.write(html.content)
file.close()
CutImage(i,title) # 裁剪 (与去水印二选一)
# CleanLogo(i,title,240) # 去水印
ChangeImage(i,title) # 裁剪图片
jpg_list.append("{}.jpg".format(i))
i += 1
音频和字幕处理
将 content 用 API 转换成语音方式播放,或者自己念也成。反正我懒。
# 获取字幕行数和字幕
word_len , strs = clean_word(title + content)
# 去除无用的空list避免报错
strs_list = strs.split("\n")
strs_list = [i for i in strs_list if i != ""]
#生成MP3文件
StrToMp3(title,content)
# 获取MP3时长
mp3_duration = librosa.get_duration(filename='materials/'+ title + "/data/" + title + '.mp3')
删减无效图片
可以忽略,有的文章图片像素太低影响片子质量。
生成封面图片、视频
最开始制作的那些封面图片转换成视频。
# 这里要自己选择一张图片改名cover.jpg
MakeCoverImage(title)
素材全部合成
cover_mp4 = "./materials/" + title + "/data/cover.mp4" # 合成的封面
strat_mp4 = "./materials_base/start.mp4" # 自制片头
end_mp4 = "./materials_base/end.mp4" # 自制片尾
logo_path = "materials_base/logo.png" # 自制水印
CompositeVideo(title,mp3_duration,jpg_list,font_path,strs_list,logo_path,cover_mp4,strat_mp4,end_mp4)
Git源码
欢迎大家点星星,支持就是我前进的动力。
目前贡献出来的是1.0版本,点赞超过1000直接放出1.15版本给大家。
#自动化##短视频制作##python入门#