用AI制作历史解说视频:GPT + MidJourney + PiKa + FunSound + 剪映

1. 项目介绍

最近某站看到一个看到利用AI创作视频解说,成品画面很酷炫。对此以初学者视角进行复现,创意来源:用AI制作历史解说视频


2. 开始创作

我们参照原作者展示的内容,对古代人物屈原来生成解说视频。

2.1 故事脚本+分镜 【由GPT-4o支持】

2.1.1 生成分镜

GPT对话:

以屈原人物解说为主题,写一个具有传奇色彩和反差感的人物传记故事脚本,一共涵盖10个分镜(包含画面和旁白)

2.1.2 细化内容(面向文生图)

GPT对话:

依次对十个分镜生成画面描述,用于midjourney绘图,并翻译成英文

初步得到优质的画面描述英文版

2.2 文生图【由MidJourney支持】

输入英文描述,

/Imagine promot[描述]

这里得到场景1生成的图片

接下来我们需要根据第一张图片确定人物形象风格,来保证后续人物的一致性,获取该图片的链接用于后续场景图片生成的参数

对于后续图片的人物一致性,MidJourney 提供 "--cref <url>" 参数进行人物描绘参考

挑选了10张

2.3 图生视频【由PiKa支持】

上传图片到pika,Strength of motion 设置为2,增加动感

效果如下

全部视频生成完毕,开始剪辑

2.4 语音旁白【由Funsound支持】

这里为每个旁边生成语音

2.5 语音视频长度对齐

因为生成的视频和生成的音频长度不对等,这里我们需要保持音频长度不变,对视频帧率进行调整,长度一致后合成,顺便添加中文字幕。

参考我另一篇博客 音视频对齐,这里我给出python批量处理脚本

python 复制代码
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,然后导出完整视频

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

相关推荐
لا معنى له几秒前
学习笔记:目标跟踪内涵、方法及经典模型
人工智能·笔记·学习·计算机视觉·目标跟踪
WJSKad1235几秒前
基于YOLOv10n的子宫与医疗工具智能检测系统AIFIRep实现与应用分析
人工智能·yolo·目标跟踪
张萌杰1 分钟前
深度学习的基础知识(常见名词解释)
人工智能·深度学习·机器学习·1024程序员节
Sinokap3 分钟前
Gemini 3 Flash:在速度、成本与前沿智能之间的平衡
大数据·人工智能
波动几何3 分钟前
强制联网:当AI助手沦为搜索引擎的“提线木偶”
人工智能
阿正的梦工坊4 分钟前
使用豆包多模态API(doubao-seed-1-8模型)分析小红书视频内容pyhton代码
人工智能·音视频
格林威4 分钟前
工业零件表面粗糙度评估:非接触式测量的 7 项核心技术,附 OpenCV+Halcon 实战代码!
人工智能·深度学习·数码相机·opencv·机器学习·计算机视觉·视觉检测
CoookeCola5 分钟前
新一代 AI 模型与多模态 Agent 项目(2026/01/14近期)
人工智能·计算机视觉·ai作画·开源·音视频
阿标在干嘛7 分钟前
从“信息平台”到“决策模拟器”:科技大数据服务的下一站猜想
人工智能·科技
JicasdC123asd8 分钟前
YOLO11-C2TSSA-DYT-Mona-EDFFN改进模型_基于深度学习的起重机与吊载物检测识别研究
人工智能·深度学习