从零开始,用WPS和DeepSeek打造数字人科普视频

为了迎接全国科普日,我决定使用AI数字人来制作一个科普视频,结果发现了一个性价比超高的解决方案。

最近,全国科普日活动到来,学校要求每个部门制作一个有关科普的视频。既然是科普日,一定得有点儿科技含量才好,于是,我想到使用结合AI数字人来制作个科普宣传的视频。

以前自己曾断断续续了解过数字人,但是还没有具体研究过,今天正好有空,我就去搜索了一下。听说讯飞智作不错,我注册进去一看,果然赏心悦目。

讯飞智作提供导入PPT,设置培训、宣传、教育教学等多个场景,几十个形象好、气质佳的数字人可选,同时还可以实现一键配音、自动生成字幕,设置尺寸、分辨率、语音换气、连读和停顿等,科技感满满。但是,使用导出视频功能就得支付319元/月的会员费,而且这个价格还是打过折的价格。

想象很美好,然而现实却很骨感,我被这惊人的价格吓退了,只能另寻它路。终于,探索出来利用DeepSeek+WPS制作出了一个数字人视频,方法如下:

第一步,先去DeepSeek生成文案。输入你的提示词,拟定大模型的身份:科普文案大师、大学教师身份,阐明主题:节能减排、低碳生活,明确具体的要求和限制条件,这样生成的方案才更加精准。

第二步 ,去灵犀http://lingxi.wps.cn,选择它的AI PPT功能,输入以下提示词,让它根据视频文案生成PPT,然后根据提示,选择合适的模板,一个课件雏形就制作好了。

接下来,可以根据自己的实际需求对PPT的封面和内容进行修改和完善。

第三步,这个PPT生成的效果还不错,只是图片搭配一般,此时可以通过WPS------【会员专享】------【全文美化】对PPT的模板、布局进行修改。

还可以通过【插入】------【图片】------【AI生成图片】,输入提示词,设置图片风格、比例,以便生成接近需求的图片。然后,选中PPT中的图片,再选择AI生成的图片,点击【替换】就可以替换原来PPT中的图片。

如果对图片不满意,还可以借助豆包或百度的图片创作功能,生成你想要的风格图片,再插入课件当中。修改完图片,预览无误后可以下载到本地备用

第四步,通过DeepSeek输入提示词,提取文案中的讲解词备用,如下图所示。

第五步,打开刚才制作的PPT,把讲解词拆分,并放到每一页的备注中,如下图所示。

第六步,依次点击【会员专享】------【AI演讲视频】,选择PPT备注作为讲稿,再点下一步,再确认一下每一步的讲稿内容,添加适当的衔接词。

第七步,设置视频框架,选择讲解人,预览效果无误后就可以生成视频了。生成5分钟视频大约要六七分钟的样子。目前,此项功能属于限时免费的状态,大家可以多多尝试一下。

第八步,最后生成的视频都放在桌面的文件夹里,一共有三段,只用合并一下再插入背景音乐就可以了。这里我用人工智能工具生成了视频拼接、插入背景音乐的代码供大家参考。

python 复制代码
#视频合成代码
import os
from moviepy.editor import VideoFileClip,concatenate_videoclips
files = [elm for elm in os.listdir(os.curdir) if elm.endswith(".mp4")]
ls = [VideoFileClip(file) for file in files]
total_clip = concatenate_videoclips(ls)
total_clip.write_videofile("out.mp4")
python 复制代码
#视频插入背景音乐代码
import os
from moviepy.editor import VideoFileClip, AudioFileClip, CompositeAudioClip
# 输入和输出文件
input_video = "out.mp4"
bgm_path = "bgm.wav"
output_video = "merged.mp4"
print("开始处理视频...")
try:
    # 加载已合并的视频
    video_clip = VideoFileClip(input_video)
    video_duration = video_clip.duration
    print(f"视频时长: {video_duration:.2f}秒")
    # 获取原视频的音频(讲解音频)
    original_audio = video_clip.audio
    if original_audio:
        print(f"原视频包含讲解音频,时长: {original_audio.duration:.2f}秒")
    else:
        print("原视频没有音频")
    # 加载背景音乐
    bgm = AudioFileClip(bgm_path)
    bgm_duration = bgm.duration
    print(f"背景音乐时长: {bgm_duration:.2f}秒")
    # 降低背景音乐音量20%
    bgm = bgm.volumex(0.45)
    # 处理背景音乐循环
    audio_segments = []
    current_time = 0
    while current_time < video_duration:
        # 计算当前片段的结束时间
        segment_end = min(bgm_duration, video_duration - current_time)
        # 创建音频片段
        if current_time == 0:
            # 第一个片段:添加淡入效果
            segment = bgm.subclip(0, segment_end).audio_fadein(1.2)
        elif current_time + segment_end >= video_duration:
            # 最后一个片段:添加淡出效果
            segment = bgm.subclip(0, segment_end).audio_fadeout(1.2)
        else:
            # 中间片段:不添加淡入淡出
            segment = bgm.subclip(0, segment_end)
        # 设置片段的开始时间
        segment = segment.set_start(current_time)
        audio_segments.append(segment)
        # 更新当前时间
        current_time += segment_end
    # 合并所有背景音乐片段
    bgm_composite = CompositeAudioClip(audio_segments)
    # 将原视频音频和背景音乐混合
    if original_audio:
        # 原视频音频音量保持100%,背景音乐音量已经降低到80%
        final_audio = CompositeAudioClip([original_audio, bgm_composite])
        print("已混合原视频音频和背景音乐")
    else:
        # 如果原视频没有音频,只使用背景音乐
        final_audio = bgm_composite
        print("只使用背景音乐(原视频无音频)")
    # 设置视频的音频为混合后的音频
    final_clip = video_clip.set_audio(final_audio)
    # 输出文件
    print(f"开始生成最终视频 {output_video}...")
    final_clip.write_videofile(
        output_video, 
        codec="libx264", 
        audio_codec="aac",
        verbose=False,
        logger=None
    )
    print(f"✅ 视频处理完成!")
    print(f"输入文件: {input_video} (保留原文件)")
    print(f"输出文件: {output_video}")
    print("✓ 保留了原视频的讲解音频")
    print("✓ 添加了背景音乐并降低20%音量")
    print("✓ 背景音乐有淡入淡出效果")
except FileNotFoundError as e:
    print(f"❌ 文件未找到: {e}")
except Exception as e:
    print(f"❌ 处理过程中出现错误: {e}")
finally:
    # 清理资源
    if 'video_clip' in locals():
        video_clip.close()
    if 'bgm' in locals():
        bgm.close()
    if 'original_audio' in locals():
        original_audio.close()
    if 'bgm_composite' in locals():
        bgm_composite.close()
    if 'final_audio' in locals():
        final_audio.close()
    if 'final_clip' in locals():
        final_clip.close()
    if 'audio_segments' in locals():
        for segment in audio_segments:
            segment.close()
print("资源清理完成")

最后的成品还不错,虽然不像讯飞那样高端大气,但是基本的数字人效果已经达到了,数字人、音频、字幕都匹配的非常不错,一起来看看效果吧。

最后的话:

说良心话,WPS的会员功能强大,经济实惠,上手非常简单。正如一位翻译技术方面的专家所说,WPS是唯一她愿意支付费用的工具,还等什么快去WPS官网,体验一下它强大的数字人功能吧。

相关推荐
Dxy12393102168 小时前
python如何通过链接下载保存视频
python·spring·音视频
东风西巷8 小时前
K-Lite Mega/FULL Codec Pack(视频解码器)
前端·电脑·音视频·软件需求
爱吃牛肉的大老虎20 小时前
FFmpeg和ZLMediaKit 实现本地视频推流
ffmpeg·音视频
wwwzhouhui1 天前
85-dify案例分享-不用等 OpenAI 邀请,Dify+Sora2工作流实测:写实动漫视频随手做,插件+教程全送
人工智能·音视频·sora2
揭老师高效办公1 天前
Word和WPS文字表格内的文字无法垂直居中?这样设置
word·wps
【ql君】qlexcel1 天前
wps word添加水印
word·wps·水印·图片水印·多行水印
SongYuLong的博客2 天前
ubuntu24.04 实现DLNA音频推送
音视频
浮生如梦_2 天前
图片转视频
图像处理·人工智能·计算机视觉·音视频
胡耀超2 天前
音频降噪技术:从原理到工具的完整指南(scipy librosa noisereduce soundfile pedalboard)
音视频·音频·scipy·降噪·soundfile·noisereduce·pedalboard