用 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入門#