用AI制作历史解说视频:GPT + MidJourney + PiKa + FunSound + 剪映
1. 项目介绍最近某站看到一个看到利用AI创作视频解说,成品画面很酷炫。对此以初学者视角举行复现,创意来源:用AI制作历史解说视频
https://i-blog.csdnimg.cn/blog_migrate/b022edc4ba08ede0b1ce30b3d18fdc1d.png
2. 开始创作
我们参照原作者展示的内容,对古代人物屈原来天生解说视频。
2.1 故事脚本+分镜 【由GPT-4o支持】
2.1.1 天生分镜
GPT对话:
以屈原人物解说为主题,写一个具有传奇色彩和反差感的人物传记故事脚本,一共涵盖10个分镜(包含画面和旁白)
https://i-blog.csdnimg.cn/blog_migrate/38b80be0e881efa06b1cf102e16751ba.png
2.1.2 细化内容(面向文生图)
GPT对话:
依次对十个分镜天生画面描述,用于midjourney画图,并翻译成英文
https://i-blog.csdnimg.cn/blog_migrate/a76b0d30df50b9a24f40ac0e99015139.png
初步得到优质的画面描述英文版
2.2 文生图【由MidJourney支持】
输入英文描述,
/Imagine promot[描述]
https://i-blog.csdnimg.cn/blog_migrate/1a21d53cc87ba1f8c125ea1a7befc6f5.png
这里得加入景1天生的图片
https://i-blog.csdnimg.cn/blog_migrate/56bba9fd677101b0c639a14b417b2fe5.png
接下来我们需要根据第一张图片确定人物形象风格,来包管后续人物的同等性,获取该图片的链接用于后续场景图片天生的参数https://i-blog.csdnimg.cn/blog_migrate/844676392e1cb4b7c17e0c0bef93c9a7.png
对于后续图片的人物同等性,MidJourney 提供 ”–cref <url>“ 参数举行人物描绘参考
https://i-blog.csdnimg.cn/blog_migrate/0629496da908b36b740994c33660b933.png
挑选了10张
https://i-blog.csdnimg.cn/blog_migrate/4edd4f54d439d593d7f6914872837963.png
2.3 图生视频【由PiKa支持】
上传图片到pika,Strength of motion 设置为2,增长动感
https://i-blog.csdnimg.cn/blog_migrate/4753281c62a8acc1d4192b41b03501c6.png
结果如下https://i-blog.csdnimg.cn/blog_migrate/46a986e8d18e5c4cc5ac483cf03bd6f1.gif
全部视频天生完毕,开始剪辑
https://i-blog.csdnimg.cn/blog_migrate/ae80d800d4ef1207fc0326786c86068c.png
2.4 语音旁白【由Funsound支持】
这里为每个旁边天生语音
https://i-blog.csdnimg.cn/blog_migrate/80c1b82b7652851caa25117302f39eb7.png
https://i-blog.csdnimg.cn/blog_migrate/1a36c69d978173e104720c19d9eebf84.png
2.5 语音视频长度对齐
由于天生的视频和天生的音频长度不对等,这里我们需要保持音频长度不变,对视频帧率举行调解,长度同等后合成,趁便添加中笔墨幕。
参考我另一篇博客 音视频对齐,这里我给出python批量处理处罚脚本
https://i-blog.csdnimg.cn/blog_migrate/29d409202b01f87145dfeff062ab0fe6.png
import os
from av_alignment import sync_audio_video_add_subtitle
def process(audio_dir,
video_dir,
text_file,
output_dir,
output_list_file,
font_path="./NotoSansCJKsc-Regular.ttf"):
if not os.path.exists(output_dir):os.makedirs(output_dir)
if os.path.exists(output_list_file):os.remove(output_list_file)
audio_list = os.listdir(audio_dir)
video_list = os.listdir(video_dir)
text_list = open(text_file,'rt',encoding='utf-8').readlines()
audio_list.sort()
video_list.sort()
i = 1
f = open(output_list_file,'a+')
for audio_file,video_file,text in zip(audio_list,video_list,text_list):
audio_file = os.path.join(audio_dir,audio_file)
video_file = os.path.join(video_dir,video_file)
text = text.strip()
out_file = '%s/%08d.mp4'%(output_dir,i)
print("audio_file:",audio_file)
print("video_file:",video_file)
print("text:",text)
sync_audio_video_add_subtitle(audio_path=audio_file,
video_path=video_file,
subtitle_text=text,
output_path=out_file,
font_path=font_path,
font_size=30, # 设置字体大小
font_color=(255, 255, 255), # 设置字体颜色
subtitle_bottom_margin=80)
i += 1
print(f"{out_file}",file=f)
f.close()
if __name__ == "__main__":
audio_dir = r"C:\Users\60568\Pictures\create\屈原\mp3"
video_dir = r"C:\Users\60568\Pictures\create\屈原\mp4"
text_file = r"C:\Users\60568\Pictures\create\屈原\subtitle.txt"
output_dir = "./sync"
output_list_file="./sync.txt"
output_video_file = "./output.mp4"
# 音视频对齐
process(audio_dir,
video_dir,
text_file,
output_dir=output_dir,
output_list_file=output_list_file)
2.6 视频融合润色【由剪映支持】
将所有片段对齐好后,在剪映上举行对齐并配上bgm,然后导出完备视频
https://i-blog.csdnimg.cn/blog_migrate/97737dfc8d1d0c39d81dde7c4b770417.png
3. 成品展示
写到这终于完成了第一个ai视频的创作,比力粗糙,来看看成品吧:一分钟相识历史人物屈原
欢迎大家提出发起,感谢大家关注,博主会连续更新有趣的技能内容。
4.参考
https://www.bilibili.com/video/BV1im411m7UF/?spm_id_from=333.880.my_history.page.click&vd_source=3f579fa4291151f1bdf85bf803ae2d3f
https://mmmnote.com/article/7e8/03/article-ed3f6a082982ceb0.shtml
https://www.funsound.cn
https://blog.csdn.net/Ephemeroptera/article/details/139553597?spm=1001.2014.3001.5502
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]