comfyUI-MuseTalk的参数设置

news2025/1/23 10:37:52

 comfyUI-MuseTalk的参数设置

目录

comfyUI-MuseTalk的参数设置

一、ComfyUI-VideoHelperSuite

二、comfyUI-MuseV合成的参考视频

2.1、什么时候会用到MuseV?

2.2、MuseV特别消耗系统内存

2.2.1、测试图片序列的像素比

2.2.2、影响运动范围和生成结果的参数

三、comfyUI-MuseTalk参考视频的参数

3.1、造成爆内存的可能情形

3.2、正确的设置,不会造成爆内存

3.2.1、原始参考视频的要求

3.2.1.1、参考视频短边的帧像素比

3.2.1.2、视频像素比、帧率及视频长度对参考视频动作的影响的基本原理

3.2.1.3、museV文生参考视频及拍摄真人视频对参考视频动作的影响程度

四、本期关联技术博文


一、ComfyUI-VideoHelperSuite

这个一个与视频工作流相关的I/O节点。

GitHub - Kosinkadink/ComfyUI-VideoHelperSuite: Nodes related to video workflows

它可以:

  • 加载视频

将视频文件转换为一系列图像

  • 加载图像序列

从子文件夹加载所有图像文件。选项与加载视频类似。

  • 视频合并

将一系列图像组合成输出视频
如果提供了可选的音频输入,它也将被组合到输出视频中。

  • 加载音频

提供一种加载独立音频文件的方法。

存在许多用于管理潜伏数据的实用节点。每个节点都有一个用于处理图像的等效节点。

  • 拆分批次

将潜在变量分为两组。第一组split_index潜在变量进入输出 A,其余组进入输出 B。如果split_index输入的潜在变量少于第一组潜在变量,则所有潜在变量均会传递至输出 A,而输出 B 为空。

  • 合并批次

将两组潜在变量合并为一个输出。输出的顺序是 A 中的潜在变量,然后是 B 中的潜在变量。
如果输入组的大小不同,则节点会在合并之前提供重新调整潜在变量的选项。

  • 选择每 N 个

每个输入中的第一个select_every_nth被传递,其余的被丢弃

  • 获取计数
  • 重复批次
  • 视频预览

加载视频(上传)、加载视频(路径)、加载图像(上传)、加载图像(路径)和视频合并提供动画预览。带有预览的节点在右键单击时提供附加功能。

二、comfyUI-MuseV合成的参考视频

2.1、什么时候会用到MuseV?

当你并非实际拍摄的参考动作视频,而是拍照;或拍摄的参考动作图片需要用其它的视频人物动作来做动作替换;或拍摄的参考动作视频需要更换背景和场景后再次进行处理。

2.2、MuseV特别消耗系统内存

MuseV非常吃系统内存,需要特别配置好运行参数进行调优推理。

2.2.1、测试图片序列的像素比

短边:480    512    640     720    1080   1080  448(test_data_width)
长边:720    768    960   1080    1620   1920  704(test_data_height)

2.2.2、影响运动范围和生成结果的参数
  • video_guidance_scale类似于 text2image控制 cond 和 不控制uncond 之间,影响较大,默认为 3.5。详见2.2所述。
  • use_condition_image:是否使用给定的第一帧进行视频生成, 默认 True
  • redraw_condition_image:是否重新绘制给定的第一帧图像。
  • video_negative_prompt:配置文件中全 negative_prompt 的缩写。默认为 V2

三、comfyUI-MuseTalk参考视频的参数

  • image_load_cap(frame_load_cap帧的读取上限):将返回的最大图像数量。这也可以被认为是最大批次大小。
  • skip_first_images:要跳过多少张图像。通过将此数字增加 image_load_cap,您可以轻松地将一长串图像分成多个批次。
  • select_every_nth:允许在每个返回的帧之间跳过一些图像。
  • crf:描述输出视频的质量。数字越低,视频质量越高,文件大小越大,而数字越高,视频质量越低,文件大小越小。缩放比例因编解码器而异,但视觉无损输出通常在 20 左右,默认值=19。
  • frame_rate:每秒显示多少输入帧。更高的帧速率意味着输出视频播放速度更快且持续时间更短。对于 AnimateDiff,此值通常应保持为 8,或当启用了 Load Video 节点的 force_rate的话,两者应当相等;最终的音视频输出帧率,也应当匹配。

3.1、造成爆内存的可能情形

3.2、正确的设置,不会造成爆内存

3.2.1、原始参考视频的要求
3.2.1.1、参考视频短边的帧像素比

常见的帧像素比例:

短边:480    512    640     720    1080   1080  448(test_data_width)
长边:720    768    960   1080    1620   1920  704(test_data_height)

这些都是符合要求的:

帧率越大,动作越连贯;帧率越小,动作越迟缓; 总帧数和帧率决定了当前配音的时长,是否被截断后输出,它影响到最终合成输入的音视频长度。

3.2.1.2、视频像素比、帧率及视频长度对参考视频动作的影响的基本原理

由于参考视频在拆解视频的每一帧后,需要对其“唇形”,这个过程需要使用系统内存对内存流进行处理,内存流的的对齐是连续的,即:当总视频长度对应的所有帧都必须正确的处理完毕后,将它们在内存中进行流的合并。如果操作系统的内存不够,将会导致错误。

那么,那些因素是影响参考视频”对齐“及“合并”的内存流大小的呢?

一是符合上述像素比的视频的短边的像素值s-px,s-px越大就越消耗内存;二是为了保证动作的连贯性和完整性,“参考视频”需要保证足够的时长,该视频的原始帧率会导致输出到缓存中的帧图片的数量的多少,即总批次数batch-sizes(这里简称bss);三就是可以强制设置输出帧率,并设置分批次batch-size(这里简称bs),用以调整将较长时长(这里简称vl)的参考视频切分成多个批次(这里简称bl)进行处理,bl = vl / bs ,处理完毕后再进行合并。在二和三中,无论哪种方式,所需的内存都不能超过系统内存的可用数。

最后,参考视频的帧率ref-fps,经验值,英伟达显存等于16G的显卡芯片,1帧 <= ref-fps <= 12帧;总帧数除以帧数,应当能够整除;一般帧率数值为1、2、4、8、12。 因此生成的参考视频或拍摄的参考视频,最好用剪映或秒剪进行前期处理,最好秒数为整数。

3.2.1.3、museV文生参考视频及拍摄真人视频对参考视频动作的影响程度

museV文生参考视频,既要处理脸部表情,又要处理随机动作,还要处理唇形对齐,所以按照3.2.1.2中所述的基本原理,它对系统内存的要求更加苛刻;而如果连续动作的参考视频是实拍的,就可以利用bl,每个批次处理1个较短的连续动作(一般 1秒 <= bl <= 4秒,比较适合),再给每个bl进行AI训练推理的配音;最终,将多段视频,在剪映或秒剪中进行视频剪辑的后期处理即可。否则,你将付出的是更大的显卡芯片cuda和系统内存的高昂开销。

四、本期关联技术博文

《ComfyUI-MuseTalk部署依赖mmcv》
《Win10环境将Docker部署到非系统盘》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1978129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无法安装Python包,出现OSError: 拒绝访问错误

无法安装Python包&#xff0c;出现OSError: 拒绝访问错误 在安装Python包时&#xff0c;可能会遇到各种错误&#xff0c;其中“OSError: 拒绝访问”是一个比较常见的问题。这个错误通常表明在安装过程中&#xff0c;Python没有足够的权限去访问某个文件或目录。本文将深入探讨…

【LeetCode】45.跳跃游戏II

1. 题目 2. 分析 很久没有写贪心的题了&#xff0c;在这题上卡了很久时间&#xff0c;我这个还是不会贪心。 核心思想就一句话&#xff1a;维护在到达本次最远位置之前能达到的最远位置。每到边界时就更新步数&#xff0c;便得到正确答案。 3. 代码 class Solution:def jum…

微软商店无法加载,检查你的连接-解决方案

微软商店默认直连国内的服务器。 如果有代理&#xff0c;关闭代理就可以恢复网络了。 但是我就是想用代理&#xff0c;我感觉代理更快&#xff0c; 搜索了很多办法&#xff0c;都没有生效。 然后我在哔哩哔哩的视频下方&#xff0c;看到大家留言&#xff0c;测试了一下&#x…

Qt/C++项目积累: 2.主机监控器 - 2.3 实时数据及其他功能完善

相关链接&#xff1a; 链接1&#xff1a;Qt/C项目积累&#xff1a; 2.主机监控器 - 2.1 项目介绍-CSDN博客https://blog.csdn.net/qq_22122811/article/details/140254896 链接2&#xff1a;Qt/C项目积累&#xff1a; 2.主机监控器 - 2.2 历史功能实现-CSDN博客https://blog.…

ARM 架构硬件新趋势:嵌入式领域的未来

目录 目录 一、ARM 架构概述 二、新趋势一&#xff1a;AI 加速器集成 三、新趋势二&#xff1a;更高效的电源管理 四、新趋势三&#xff1a;安全性增强 五、结语 随着物联网 (IoT) 和边缘计算的发展&#xff0c;ARM 架构在嵌入式系统中的应用越来越广泛。从智能手机到智能…

STM32H7无RTOS应用堆栈机制与检测

摘要&#xff1a;单片机堆栈溢出会引发不可预知的错误。本文探讨了基于STM32CubeIDE设置STM32H7xx堆栈在无RTOS时的使用与检测方法。 一、堆栈的设置 STM32CubeIDE对工程设置堆栈很简单&#xff0c;在CubeMX中设置最小size如下图 堆&#xff08;Heap&#xff09;为0x400&#…

低空经济-低空智联网技术体系白皮书

目录 低空定义 低空政策 低空市场规模 低空应用场景 通信需求 监管需求 低空智联网技术体系 低空定义 低空经济是指在3000米以下&#xff0c;以低空空域为依托&#xff0c;以各种有人和无人驾驶航空器的低空飞行活动为牵引&#xff0c;辐射带动相关领域融合发展的综合性…

【MySQL是怎样运行的 | 第三篇】MySQL的MVCC机制

文章目录 3.MySQL的MVCC机制3.1前言3.2undo log日志3.3三个隐藏字段3.4undo log版本链3.5当前读VS快照读3.6ReadView3.7举例3.7.1RC&#xff08;读已提交&#xff09;3.7.2RR&#xff08;可重复读&#xff09; 3.8扩展&#xff1a;RR能解决幻读问题吗&#xff1f; 4.白云 3.MyS…

【Python系列】深入理解 Python 中的 `nonlocal` 关键字

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

进程状态(二)----- linux 中具体的进程状态(上)

目录 前言1. R 状态2. S 状态3. D 状态 前言 继上一篇文章 进程状态&#xff08;一&#xff09;---- 运行&#xff0c;阻塞&#xff0c;挂起 介绍了操作系统都有的三个进程状态&#xff0c;而这篇文章则是将进程状态具象化&#xff0c;谈论具体到 linux 系统中的进程状态都有哪…

Geoserver源码解读七 插件(二)扩展图层预览界面

系列文章目录 Geoserver源码解读一 环境搭建 Geoserver源码解读二 主入口 Geoserver源码解读三 GeoServerBasePage Geoserver源码解读四 REST服务 Geoserver源码解读五 Catalog Geoserver源码解读六 插件&#xff08;怎么在开发模式下使用&#xff09; 目录 系列文章目录…

vector中 resize()和reserve()

1.resize()改变容器大小 resize除了预留内存以外&#xff0c;还会调用容器元素的构造函数&#xff0c;不仅分配了N个对象的内存&#xff0c;还会构造N个对象。从这个层面上来说&#xff0c;resize()在时间效率上是比reserve()低的。 2.reserve()容器大小管理 用于预留内存。 …

【Linux】shell命令与Linux权限的概念

目录 一、shell命令二、Linux权限的概念2.1 Linux权限的概念2.1.1 用户2.1.2 指令2.1.2.1 su指令2.1.2.2 sudo指令 2.2 Linux权限管理2.2.1 文件访问者的分类&#xff08;人&#xff09;2.2.2 文件类型和访问权限&#xff08;事物属性&#xff09;2.2.2.1 文件类型2.2.2.2 基本…

C++ 中迭代器的first和second

c 里面的map容器的迭代器里面 有个first 和 second&#xff0c;分别指向键值和数值 it.first就是在迭代器中获取map键值&#xff0c;it.second同理 #include<iostream> #include<map> using namespace std;int main(void){map<string, string> m;//新建一个m…

lower_bound函数和upper_bound函数

lower_bound 和 upper_bound 函数都是 C 标准库算法&#xff0c;用于在已排序的范围内查找元素。它们返回的是迭代器&#xff0c;指向满足特定条件的元素位置。 lower_bound(begin, end, val) 功能&#xff1a;返回指向第一个不小于 val 的元素的迭代器。含义&#xff1a;如果…

如何快速下载拼多多图片信息,效率高

图片是电商吸引顾客的关键因素&#xff0c;高质量的商品图片能提升产品吸引力&#xff0c;增强用户购买欲望。良好的视觉展示有助于建立品牌形象&#xff0c;提高转化率。同时&#xff0c;图片也是商品信息的主要传递媒介&#xff0c;对消费者决策过程至关重要。 使用图快下载器…

Linux内核有什么之块设备驱动有什么第七回 —— 邂逅的三个文件系统之二:实际文件系统(4)

接前一篇文章&#xff1a;Linux内核有什么之块设备驱动有什么第六回 —— 邂逅的三个文件系统之二&#xff1a;实际文件系统&#xff08;3&#xff09; 本文内容参考&#xff1a; 《Linux设备驱动开发详解 —— 基于最新的Linux4.0内核》 宋宝华&#xff0c;机械工业出版社 3…

奥运会大规模使用中国AI大模型!

B站&#xff1a;啥都会一点的研究生公众号&#xff1a;啥都会一点的研究生 AI圈最近又发生了啥新鲜事&#xff1f; 巴黎奥运会大规模使用中国 AI 大模型 巴黎奥运会成为一场科技与体育的盛宴&#xff0c;其中包括了大量中国科技的应用。AI 技术将在多个方面发挥作用&#xf…

《计算机网络》(第8版)第7章 网络安全 复习笔记

第 7 章 网络安全 一、网络安全问题概述 1 计算机网络面临的安全性威胁 计算机网络上的通信面临两大类威胁&#xff0c;即被动攻击和主动攻击。 &#xff08;1&#xff09;被动攻击 这是指攻击者从网络上窃听他人的通信内容&#xff0c;通常把这类攻击称为截获。 &#xff08…

2.外部中断(EXTI)

理论 NVIC&#xff1a;嵌套向量中断控制器&#xff08;解释教程&#xff09; 外部通用中断线(EXTI0~EXTI15)&#xff1a;每个GPIO设置成中断模式&#xff0c;与中断控制器连接的线 外部中断触发方式 上升沿触发、下降沿触发、双边沿触发 外部中断触发函数 在stm32f1xx_it.c文件…