这次转化的视频还比较安稳,先给我们看下作用。
这儿传不了视频,还是放到盘盘了: www.aliyundrive.com/s/5mzfjLViy…
书接上文,在上一篇文章中,咱们首要运用 TemporalKit 提取了视频的关键帧图片,然后运用 Stable Diffusion 重绘了这些图片,然后又运用 TemporalKit 补全了重绘后的关键帧图片之间的序列帧,并拼合出了视频。
本文咱们将运用一个新的东西 EBSynth 来补全重绘后的关键帧图片之间的序列帧,其它过程还是持续运用原来的办法,不过相关参数上要做些调整,请看我渐渐道来。
之所以要运用EBSynth这个东西,是由于很多人介绍的都是这个办法,而不是我上一篇文章提到的办法,所以我也来体验下,做一个对比。
插件的装置这儿就不提了,请看前一篇文章。咱们从提取关键帧开端。
提取关键帧
为什么要提取关键帧?提取关键帧便是把视频中动作改变比较大的画面转成图片,下一步便是对这些图片进行重绘。假如不提取关键帧,而是把视频的每一帧都重绘,一是作业量大,二是重绘的每张图片或许都有点不一样,画面或许闪烁比较严重。
在SD WebUI的主页签中找到 Temporal-Kit,点击打开。然后接着点击“Pre-Processing”,在视频区域这儿上传待处理的视频,这是我从抖音上截取的一段(文章最终会供给这个视频的下载地址)。不要立刻点击“运转”,还有一些设置,请持续看下文。
在视频下方能够看到这些设置,这些都是针对提取图片的设置:
Sides:生成的1张图片的边包括几张视频帧。假如是2就代表4个视频帧,也便是 22;假如是3就代表9个视频帧,也便是 33;最小设置为1,也便是1张图包括1个视频帧。这个要结合后边的 Height Resolution一同设置。
Height Resolution:生成图片的高度的像素值,主张是:视频的高度 * Sides ,比如我这个视频是 1080720,单个视频帧的高度便是720,可是前边Sides设置的2,所以便是7202=1440。可是这个公式不是肯定的,你也能够写个720,或许写个2048。这个值需求考虑显卡的性能,假如显卡不太行,不要设置的太高。
frames per keyframe:多少视频帧抽取一个关键帧,关键帧越密动作衔接越流通,可是或许重绘的改变越多,导致画面闪烁。
EBSynth Model:由于咱们后边要运用EBSynth来处理,所以这儿勾选上它,生成的文件名会有一定的格局。
fps:视频每秒包括几帧,在电脑上查看视频详情一般能够获取到。
Target Folder:关键帧图片的输出位置,实际会输出到这个目录下创建的一个input文件夹,后续各种处理的中间文件都在这个文件夹下,相当于一个项目目录,所以主张为每个视频的不同处理创建不同的文件夹。留意假如是云端,这儿需求是服务器上的目录。
Batch Settings:由于咱们这儿需求处理整个视频,所以需求把这个Batch Run勾选上。
EBSynth Settings:由于EBSynth能够处理的视频时间比较短,所以要把视频分割成几段来处理。
参数设置完毕之后,点击页面右侧的“运转”。
关键帧图片都被提取后,图像这个区域应该显现提取的首张图片,可是我这儿没显现,不知道是不是通信原因,我们留意观察处理进度。
- 假如这儿显现了图片,直接点击“图生图”去重绘。
- 假如这儿没有显现图片,能够去文件目录中看看,找到榜首张下载下来,然后在“图生图”中手动上传。
转化风格
现在进入“图生图”界面。
这儿运用的大模型:toonyou,这是一个漫画风模型,也不必调配Lora模型。能够在文章最终获取下载地址。
再贴出来我的提示词,便利仿制。
提示词:a man, epic scene, a poster, flat color,
反向提示词:easy_negative,beard
然后是一些参数设置,我们依据实际情况来吧,作用不好就调整下。
留意两点:
- 图片的宽高:一般依照实际设置就好,假如数字太大,主张先调小一点,然后再用超分高清化扩大。
- 重绘强度:这儿开到了最大。上一篇文章说不要太大,由于重复起伏大,图片相互之间改变或许就大,拼合出来的视频就或许比较闪烁。不过实测发现重绘起伏对 toonyou 这个模型的影响好像比较小,我们能够依据自己的实际情况试试,不必彻底一样。
- 生成种子:先设置为-1,直到出了满足的图。
下面持续运用ControlNet控图,防止重绘的改变太大,尽量安稳画面。我这儿挑选的还是Tile模型,我们也能够试下SoftEdge、Canny、Lineart等绘线的模型。
然后便是抽卡了,不断的生成图片,直到你满足。
留意记录下满足图片的生成种子,立刻就要用到批量生成中。
将图生图切换到“批量处理”,填写两个目录:
- 输入目录:提取关键帧过程中输出图片的目录。
- 输出目录:重绘图片的保存目录,固定值output,填上就行了。
把满足图片的生成种子填写到这儿,不过一个种子很难安稳输出图片中的各种元素,我们能够自己体会下。
最终便是点击“生成”按钮,等候批处理完成。
在图片输出区域的下方看到这句话,基本就处理完成了。WebUI的进度有时候更新不及时,我们留意看控制台或许shell的输出。
EBSynth处理
预处理
在之前提取视频关键帧时,咱们将原视频分割为了几个子视频。预处理便是将每个子视频中的原视频帧和关键帧单独提取出来,并放到相关文件夹中。
在SD WebUI的主页签中找到 Temporal-Kit,然后接着点击“Ebysynth-Process”。这儿的操作次序要留意下,依照图上标的就行。
在“Input Folder”中输入项目目录,然后点击“read_last_settings”,视频和大部分参数都能主动加载出来。
在“output resolution”中输入视频的分辨率,这个不会主动加载。
最终点击按钮“prepare ebsynth”进行处理。
子视频的文件夹便是这个几个:
打开一个子视频文件夹,能够看到这些内容,其中 frames 和 keys 目录中的图片便是本次处理后写入的,下一步咱们将运用EBSynth持续处理这些图片。
假如你的SD WebUI运转在云端,需求先下载到本地,由于EBSynth这个东西需求在本地运转。能够运用下边的命令先打包成zip文件(留意替换成自己的项目目录):
zip -q -r dehua2.zip /root/autodl-tmp/webui_outputs/temporal-kit/dehua2
然后再通过平台支持的办法进行下载。
生成序列帧
这一步就需求EBSynth这个软件出马了,官方供给了WIndows和Mac版别,不过我在Mac上运转的时候会直接退出,没有研究什么原因,直接换到Windows环境就好了。
软件下载地址:ebsynth.com/ ,点击 Download 按钮,弹出的窗口中点击最下方的“just start the download”,网站会主动识别操作系统,下载对应版别的程序文件。
启动EBSynth后,咱们只需求以下操作:
把子视频的 frames 目录拖到 Video 输入框;
把子视频的 keys 目录拖到 keyframes 输入框;
这时要处理的图片使命就会在软件下面的部分主动展现出来。
最终点击软件最下面的 “Run All”,开端这个子视频的处理。
这个处理过程比较长,我们耐性等候。每个子视频都需求这样处理。
所有子视频都处理完毕后,就能够进入组成视频的阶段了。
假如你的SD WebUI运转在云端,需求上传上去。能够先在本地打包成zip文件,然后通过云平台供给的办法上传上去,然后解压覆盖到项目目录,参考下边这个命令:
unzip -o /root/autodl-tmp/root.zip -d /
-o 后边是zip文件的目录,-d 后边是要解压到的目录,由于我这个zip文件中榜首级目录是root,所以这儿用了斜杠,留意替换你的zip文件途径和要解压到的目录。
组成视频
现在又进入激动人心的视频组成环节了,回到 SD WebUI 中的 Temporal-Kit 页面。
这一步操作很简单,点击按钮“recombine ebsynth”,然后等着视频生成就行了。正常情况下,速度很快,由于视频需求的帧图片都处理好了。
之前运用Batch-Warp时,它还需求先生成一堆帧图片,所以其时比较慢;在本文的办法中这个作业交给了EBSynth处理。
相关下载
本文介绍的相关模型、插件和资料,我们能够依照文中提到的办法自行下载装置,也能够通过运用我准备好的,办法是关注公/众\号:萤火遛AI(yinghuo6ai),回复:视频风格转化,即可获取下载地址。