AI 绘画Stable Diffusion 研究(十四)SD 图生图+剪映制作人物说话视频
大家好,我是风雨无阻。
前一篇,我们详细介绍了使用 SadTlaker制作数字人视频案例,感兴趣的朋友请前往查看:AI 绘画Stable Diffusion 研究(十三)SD数字人制作工具SadTlaker使用教程。
对于没有安装 SadTlaker 插件的朋友,可以查看这篇文章:AI 绘画Stable Diffusion 研究(十二)SD数字人制作工具SadTlaker插件安装教程 。
想必用过 SadTlaker 的朋友都知道,目前使用 SadTlaker插件制作数字人说话的视频,有两个不太理想的地方:
(1)、 生成视频消耗的时间比较长。尤其是显卡和显存比较低的朋友,想要制作一个长时间的视频,效率更低。
笔者亲测:使用3060 12G显卡,制作一段15s 左右的视频,需要10分钟左右。
(2)、目前的SadTlaker 图片人物只能使用正面照,这样给人的感觉比较突兀。
那有没有其他方法制作数字人视频,既能达到让数字人张嘴说话的效果, 效率又更高,还可以使用非正面图的方式呢?
答案是有的,那就是今天的主题: SD 图生图制作人物张嘴说话图+剪映制作说话视频。
一、SD制作人物张嘴说话图
1、切换到SD 图生图->局部重绘界面 ,上传一张人物图片
2、反推正向提示词
3、改写正向提示词,让人物张嘴
没安装提示词插件的朋友,请查看这篇文章AI 绘画Stable Diffusion 研究(六)sd提示词插件,有详细安装步骤。
(1)、我们使用提示词插件, 在提示词处,先输入中文: 张嘴
提示词插件会自动将中文转换英文提示词。
如图:
(2)、为了让人物张嘴效果更明显,不被sd 忽略,我们需要增加张嘴提示词的权重
选择张嘴提示词, 会弹出权重操作按钮,然后我们点击三次,增加权重图标按钮,此时提示词输入框内会自动增加提示词的权重。
如图:
(3)、涂选重绘区域
在局部重绘界面,右侧选择画笔,ctrl+鼠标滚轮可调整画笔粗细。
(4)、调整重绘尺寸
(5)、启用controlnet ,保存人物姿势不变
- 启用controlnet
- 控制类型选择:openpose
- 预处理器:openpose_full
- 模型:control_v11p_sd15_openpose
(6)、点击生成,即可获得人物张嘴的图片
对比图如下:
上面我们已经获得了人物张嘴的图片,那么接下来,我们使用剪映,加上配音和字幕,即可制作人物开口说话视频了。
二、剪映制作人物开口说话视频
1、准备工作
-
安装剪映,具体的安装步骤这里就不再细说,很简单,请自行安装。
-
准备好人物张嘴和闭嘴的两张图
-
准备好音频文件
2、打开剪映点击开始制作
3、导入音频和图片
如图:
qyDT-1692773049806)(assets/image-20230823003231110.png)]
4、将音频拖入下方音频轨道
5、生成字幕
依次点击菜单栏上“文本”按钮,再点击左侧“智能字幕”按钮,接着点击“开始识别”按钮,生成字幕
字幕生成如下:
6、将图片拖入轨道,然后切换嘴型
(1)、怎么切换嘴型,使其看上去像说话的效果呢?
用过剪映的朋友肯定知道,剪映 1s 是30帧 。
那么正常人说话,大约1s 5 -6 个字。
因此我们可以计算出来大概 5帧 一个嘴型。
因此我们先使用闭嘴的图,然后在5帧的地方,切换张嘴的图即可实现。
(2)、制作步骤
-
step 1: 将张嘴的图和闭嘴的图分别导入到图片两个轨道上
-
step 2:将右侧轨道缩放拖到最右侧,可以清晰看见轨道上的帧数 ,如1f \2f\4f\6f
如图:
step 3: 将定位线移到 5帧处,然后点击分割按钮,将张嘴和闭嘴图都分割开
如下:
step 4:处理闭嘴的图, 分割后,我们删除,前5帧,不用的闭嘴图
如下:
step 5: 继续往后数5帧,再分割
step 6: 删除张嘴、闭嘴图 多余的部分
step 7: 将张嘴、闭嘴拖入同一轨道,并且打组
选中两个片段,然后鼠标右键,新建复合片段,打组
现在的效果,就是闭嘴、张嘴的一个片段 。
打组后如图:
step 8: 复制粘贴多个片段,直到一句说完话为止
然后将图片末尾和字幕对齐。
如图:
step 9: 没说话的时候,使用闭嘴的图
注意:将图片末尾和空白处末尾对齐
如下:
step 10: 继续处理后面说话的部分, 重复步骤step 8,直到每句话处理完毕
step 11: 调整视频比例,9:16 再导出视频
右上角导出按钮,导出即可。
好了,这个视频制作就到此结束,看看效果吧:
SD 图生图+剪映制作人物说话视频
说实话,这个视频只是张嘴闭嘴的效果,没有脸部表情变化,确实显得比较生硬。
不过这里重点在于介绍制作思路和剪辑方法, 对于感兴趣的朋友可以尝试玩一下。
相关文章:

AI 绘画Stable Diffusion 研究(十四)SD 图生图+剪映制作人物说话视频
大家好,我是风雨无阻。 前一篇,我们详细介绍了使用 SadTlaker制作数字人视频案例,感兴趣的朋友请前往查看:AI 绘画Stable Diffusion 研究(十三)SD数字人制作工具SadTlaker使用教程。 对于没有安装 SadTlaker 插件的朋友…...

ProPlot 基本语法及特点
文章目录 简介多子图绘制处理共享轴标签“跨度”轴标签多子图序号的绘制 更简单的颜色条和图例更加美观的颜色和字体 简介 科研论文配图多图层元素(字体、坐标轴、图例等)的绘制条件提出了更高要求,我们需要更改 Matplotlib 和 Seaborn 中的…...
element-template-admin get请求正常 post请求超市问题
最近搞全栈,想写个增删改查连接element-template-admin框架,postman测get和post请求都正常,到框架里直接超时,看网络请求一直是padding状态,后来经查阅资料,发现是这个template框架的问题 解决方案&#x…...

Promise.all和promise.race的应用场景举例
Promise.all( ).then( )适用于处理多个异步任务,且所有的异步任务都得到结果时的情况。 <template><div class"box"><el-button type"primary" plain click"clickFn">点开弹出框</el-button></div> &…...

go学习-指针 标识符
指针,以及标识符 1.指针 (1).基本介绍 1)基本数据类型,变量存的值,也叫值类型 2)获取变量的地址用&,比如 var num int ,获取num的地址:&num 3)指针类型&…...

LeetCode--HOT100题(42)
目录 题目描述:108. 将有序数组转换为二叉搜索树(简单)题目接口解题思路代码 PS: 题目描述:108. 将有序数组转换为二叉搜索树(简单) 给你一个整数数组 nums ,其中元素已经按 升序 排列…...

YOLOv8教程系列:三、K折交叉验证——让你的每一份标注数据都物尽其用(yolov8目标检测+k折交叉验证法)
YOLOv8教程系列:三、K折交叉验证——让你的每一份标注数据都物尽其用(yolov8目标检测k折交叉验证法) 0.引言 k折交叉验证(K-Fold Cross-Validation)是一种在机器学习中常用的模型评估技术,用于估计模型的性…...
leetcode算法题--表示数值的字符串
原题链接:https://leetcode.cn/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof/description/?envTypestudy-plan-v2&envIdcoding-interviews 题目类型有点新颖,有限状态机 // CharType表示当前字符的类型 // State表示当前所处的状态 type State…...

Docker安装及Docker构建简易版Hadoop生态
一、首先在VM创建一个新的虚拟机将Docker安装好 更新系统:首先打开终端,更新系统包列表。 sudo apt-get update sudo apt-get upgrade下图是更新系统包截图 安装Docker:使用以下命令在Linux上安装Docker。 sudo apt-get install -y docker.i…...

使用Burp Suite进行Web应用渗透测试
使用Burp Suite进行Web应用渗透测试是一种常见的方法,可以帮助发现Web应用程序中的安全漏洞和弱点。 步骤: 准备工作: 首先,确保已经安装了Burp Suite,并配置浏览器以使用Burp Suite作为代理。 配置代理:…...

Github的使用指南
首次创建仓库 1.官网创建仓库 打开giuhub官网,右上角点击你的头像,随后点击your repositories 点击New开始创建仓库 如下图为创建仓库的选项解释 出现如下界面就可以进行后续的git指令操作了 2.git上传项目 进入需上传项目的所在目录,打开…...

mongodb 添加加点 stateStr 停在 STARTUP
解决办法 PRIMARY 节点是的host 是否是内网IP,如果是内网IP 需要切换成外网IP 即可;...

c语言中编译过程与预处理
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、c语言的编译与链接1、编译与链接概述2、编译与链接详解 二、c语言预处理1.c语言中内置的预定义符号2、#define定义标识符3、#define定义宏4、#define 替换规…...

TP-LINK 路由器设置内网穿透
TP-LINK 路由器设置内网穿透 开发中经常遇到调用第三方软件回调调试的情况,例如微信开发,支付回调等测试,用内网穿透是一种简单的方式也是偷懒的方式。 以TP-LINK路由器为例实现内网穿透 登录路由器 2.找到路由器虚拟服务器,添加…...

A 题国际旅游网络的大数据分析-详细解析与代码答案(2023 年全国高校数据统计与调查分析挑战赛
请你们进行数据统计与调查分析,使用附件中的数据,回答下列问题: ⚫ 问题 1: 请进行分类汇总统计,计算不同国家 1995 年至 2020 年累计旅游总人数,从哪个国家旅游出发的人数最多,哪个国家旅游到达的人数最多…...

《深入理解Java虚拟机》读书笔记: 类加载器
类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。 类加载器可以说是Java语言的一项创新&…...

宝塔计划任务读取文件失败
想挂计划任务 相关文章【已解决】计划任务读取文件失败 - Linux面板 - 宝塔面板论坛 对方反馈的是执行下面的命令 chattr -ai /var/spool/cron 后来发现直接没有这个文件夹,然后通过mkdir命令创建文件夹,成功在宝塔创建了计划任务 后面发现任务虽然添…...
Python操作sql,备份数据库
1、批量执行sql import pymysql# 执行批量的 SQL 语句 def executeBatchSql(cursor, sqlStatements):for sql in sqlStatements:try:cursor.execute(sql)print(Executed SQL statement:, sql)except Exception as e:print(Error executing SQL statement:, e)# 创建数据库连接…...

Linux线程 --- 生产者消费者模型(C语言)
在学习完线程相关的概念之后,本节来认识一下Linux多线程相关的一个重要模型----“ 生产者消费者模型” 本文参考: Linux多线程生产者与消费者_红娃子的博客-CSDN博客 Linux多线程——生产者消费者模型_linux多线程生产者与消费者_两片空白的博客-CSDN博客…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...