当前位置: 首页 > news >正文

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( )适用于处理多个异步任务&#xff0c;且所有的异步任务都得到结果时的情况。 <template><div class"box"><el-button type"primary" plain click"clickFn">点开弹出框</el-button></div> &…...

go学习-指针 标识符

指针&#xff0c;以及标识符 1.指针 &#xff08;1&#xff09;.基本介绍 1&#xff09;基本数据类型&#xff0c;变量存的值&#xff0c;也叫值类型 2&#xff09;获取变量的地址用&&#xff0c;比如 var num int ,获取num的地址&#xff1a;&num 3)指针类型&…...

LeetCode--HOT100题(42)

目录 题目描述&#xff1a;108. 将有序数组转换为二叉搜索树&#xff08;简单&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;108. 将有序数组转换为二叉搜索树&#xff08;简单&#xff09; 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xf…...

leetcode-49.字母异位词分组-day20

...

YOLOv8教程系列:三、K折交叉验证——让你的每一份标注数据都物尽其用(yolov8目标检测+k折交叉验证法)

YOLOv8教程系列&#xff1a;三、K折交叉验证——让你的每一份标注数据都物尽其用&#xff08;yolov8目标检测k折交叉验证法&#xff09; 0.引言 k折交叉验证&#xff08;K-Fold Cross-Validation&#xff09;是一种在机器学习中常用的模型评估技术&#xff0c;用于估计模型的性…...

leetcode算法题--表示数值的字符串

原题链接&#xff1a;https://leetcode.cn/problems/biao-shi-shu-zhi-de-zi-fu-chuan-lcof/description/?envTypestudy-plan-v2&envIdcoding-interviews 题目类型有点新颖&#xff0c;有限状态机 // CharType表示当前字符的类型 // State表示当前所处的状态 type State…...

Docker安装及Docker构建简易版Hadoop生态

一、首先在VM创建一个新的虚拟机将Docker安装好 更新系统&#xff1a;首先打开终端&#xff0c;更新系统包列表。 sudo apt-get update sudo apt-get upgrade下图是更新系统包截图 安装Docker&#xff1a;使用以下命令在Linux上安装Docker。 sudo apt-get install -y docker.i…...

使用Burp Suite进行Web应用渗透测试

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

Github的使用指南

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

mongodb 添加加点 stateStr 停在 STARTUP

解决办法 PRIMARY 节点是的host 是否是内网IP&#xff0c;如果是内网IP 需要切换成外网IP 即可&#xff1b;...

c语言中编译过程与预处理

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

TP-LINK 路由器设置内网穿透

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

A 题国际旅游网络的大数据分析-详细解析与代码答案(2023 年全国高校数据统计与调查分析挑战赛

请你们进行数据统计与调查分析&#xff0c;使用附件中的数据&#xff0c;回答下列问题&#xff1a; ⚫ 问题 1: 请进行分类汇总统计&#xff0c;计算不同国家 1995 年至 2020 年累计旅游总人数&#xff0c;从哪个国家旅游出发的人数最多&#xff0c;哪个国家旅游到达的人数最多…...

《深入理解Java虚拟机》读书笔记: 类加载器

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

宝塔计划任务读取文件失败

想挂计划任务 相关文章【已解决】计划任务读取文件失败 - Linux面板 - 宝塔面板论坛 对方反馈的是执行下面的命令 chattr -ai /var/spool/cron 后来发现直接没有这个文件夹&#xff0c;然后通过mkdir命令创建文件夹&#xff0c;成功在宝塔创建了计划任务 后面发现任务虽然添…...

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语言)

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

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...