本文开始前先送上 ebsynth
的官网[ebsynth]
0. 原理
传统的转绘流程是将视频里的所有画面进行逐帧转绘,意思是每一帧都绘制,这就好像要做一部动画,但是每一帧都是手工绘制出来的。这必然会花费很多时间,还需要很强大的电脑。但是在 EbSynth
当中,它会将动作幅度变化比较大的几幅作为关键帧,然后再猜这一个关键帧与上一个关键帧之间发生了什么。缺点也很明显,这么做的话其实计算机是不知道这其中发生了什么的,它只能够去猜,如果关键帧间隔过大,他猜不出来也是有可能的。
1. 安装
首先,我们登录到官网,点击下载
下载完成之后,将压缩包解压我们就会得到一个文件夹,这个软件我们最后才会用到,所以先不管它
接下来是安装 EbSynth
在 WebUI
中的一个扩展插件 Ebsynth Utility
,我们的整个流程都将围绕这个插件来进行,地址[ebsynth_utility],下载完成后解压放到 SD
的 extensions
文件夹即可
接下来我们打开 SD
,只要看见 Ebsynth
这个标签就说明安装成功了
接下来装 FFmpeg
,它是一款轻量级的用于视频编解码的工具,官网[ffmpeg]
将下载的压缩包解压到一个文件夹中备用。
右键计算机,选择 属性
选择 高级系统设置
环境变量
在 系统变量
中选择 Path
,添加 G:\ffmpeg-2024-10-02-git-358fdf3083-essentials_build\bin
(你的 ffmpeg\bin
的路径)
重启,在开始菜单中选择 命令提示符
输入 ffmpeg -version
输出版本号,就代表成功了
最后,我们需要安装一个 transparent background
,网址[transparent background]
在 命令提示符
中输入刚才复制的代码
运行后出现以下字样,即可视为安装成功,如果需要升级,它会提示你升级,但是现在我们先不要管它[notice] A new release of pip available: 22.3.1 -> 23.3.1
[notice] To update, run:
如果你报错了,可能是因为 SD
的 python
是独立的,此时只需要进入 SD
的根目录,找到 python
文件夹
删除上面的文件夹路径,输入 CMD
,再次运行刚才的命令即可
2. 视频分帧与关键帧提取
选一段视频,不要太长,在工程目录中输入路径,原始视频路径就是视频所在的位置,工程目录就是制作的地方,建议用空文件夹,大视频的话建议手动填写路径
选择插件设置,将 帧宽度
和 帧高度
设置为 -1
( -1
表示与原视频相同), 透明背景
选项设置为 0
,如果你需要把人物抠出来,请把 透明背景
里的 蒙版阈值
和 CLIpseg
里的 蒙版阈值
调高,比如,可以设置为 0.04
( 透明背景
)和 0.4
( CLIpseg
), 0
代表等一下转绘的时候背景也一起参与,点击步骤一,生成
步骤二,提取关键帧,可以在插件设置-步骤二里降低关键的间隔,这样生成出来的视频会更加地流畅,相应地会增加时间,默认最小关键帧是 10
帧,最大关键帧是 300
帧
点击步骤二,生成
步骤三,图生图,上传关键帧 video_key
中你觉得比较好的一张图片到图生图
标签可以来到标签器这里进行反推然后发送到图生图
点击下面那个三角形,将重绘尺寸和图片尺寸一致,可以使用 controlnet
,可以只生成一张图片,觉得好的话点击下面那个绿色的图标,这样会使你生成出来的视频更加稳定
点击脚本,选择 ebsynth_utility
,在工程目录路径中输入在步骤一输入的工程目录路径,点击生成,生成会生成 controlnet_input
和 img2img_key
两个文件夹
步骤三是颜色校正,可以减少闪烁,步骤四是超分,但是我们是用原生分辨率重绘的,所以不用管他,点击步骤五,生成
会生成多个 ebs
文件,这里要说一下,这里面每一个 ebs
文件都必须要运行,可以多个同时运行,能够同时运行多少个请自行探索,现在,就该我们之前下载的 ebsynth
软件登场了,右键这些 ebs
文件,选择打开方式,选择刚才下载的 ebsynth
软件,成功之后,他们左边的图标就会变成 ebsynth
的图标
点击 run all
,如果你没有使用蒙版的话,记得将 mask
改为 off
,不然会报错
全部运行完之后,就来到了步骤七,回到 SD
,选择步骤七,生成,等完成后,视频就做好了
最终效果
步骤八,换背景(可选),输入背景源地址,点击生成即可
3. 好了,本次教程就到此结束了
Enjoy it!