可以提高DeepFaceLab(DeepFake)合成最终视频速度的方法
Posted 若苗瞬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以提高DeepFaceLab(DeepFake)合成最终视频速度的方法相关的知识,希望对你有一定的参考价值。
DeepFaceLab相关文章
一:《简单介绍DeepFaceLab(DeepFake)的使用以及容易被忽略的事项》
二:《继续聊聊DeepFaceLab(DeepFake)不断演进的2.0版本》
三:《如何翻译DeepFaceLab(DeepFake)的交互式合成器》
四:《想要提高DeepFaceLab(DeepFake)质量的注意事项和技巧(一)》
五:《想要提高DeepFaceLab(DeepFake)质量的注意事项和技巧(二)》
六:《友情提示DeepFaceLab(DeepFake)目前与RTX3080和3090的兼容问题》
七:《高效使用DeepFaceLab(DeepFake)提高速度和质量的一些方法》
八:《支持DX12的DeepFaceLab(DeepFake)新版本除了CUDA也可以用A卡啦》
九:《简单尝试DeepFaceLab(DeepFake)的新AMP模型》
十:《非常规的DeepFaceLab(DeepFake)小花招和注意事项》
文章目录
(一)合成最终视频
合成所有帧图片后,可以选择:
8) merged to avi.bat
8) merged to mov lossless.bat
8) merged to mp4 lossless.bat
8) merged to mp4.bat
我通常都用的是8) merged to mp4.bat
,
输入目标码率,将合成后的图片帧加原始视频的音频,合成最终的视频。
如果视频需要进一步处理,则可以在这里输入非常大的码率。
至于不用lossless
是因为试过但结果视频有些问题。
(二)合成视频加速
相对整个学习过程,以及对比合成目标图片帧的速度,合成视频这步并不算慢。但蚊子肉也是肉,依然可以加速⭕️。
(2.1)取消遮罩视频合成
合成最终视频时,其实还合成了一个遮罩视频。
如果用不到,可以注释掉这部分内容,或者存入一个新的批处理(需要时再执行)。
也就是将8) merged to mp4.bat
下半部分语句前面加上@REM
注释掉,如下:
@echo off
call _internal\\setenv.bat
"%PYTHON_EXECUTABLE%" "%DFL_ROOT%\\main.py" videoed video-from-sequence ^
--input-dir "%WORKSPACE%\\data_dst\\merged" ^
--output-file "%WORKSPACE%\\result.mp4" ^
--reference-file "%WORKSPACE%\\data_dst.*" ^
--include-audio
@REM "%PYTHON_EXECUTABLE%" "%DFL_ROOT%\\main.py" videoed video-from-sequence ^
@REM --input-dir "%WORKSPACE%\\data_dst\\merged_mask" ^
@REM --output-file "%WORKSPACE%\\result_mask.mp4" ^
@REM --reference-file "%WORKSPACE%\\data_dst.*" ^
pause
(2.2)视频编码用硬件加速
对于合成MP4视频这一步,DeepFaceLab使用的是🔗ffmpeg 1 的命令行(当然)。
目前最新的🔗DFL版本:DeepFaceLab_NVIDIA_RTX3000_series_build_11_20_2021.exe
(此处例子是RTX3000以上版本),
用的是🔗https://www.gyan.dev/构建的Windows版本ffmpeg(release 构建 v5.0)。
我更新成了最新的 git master 2 构建。但瞟了眼编译参数,似乎不更新也行。
可能作者考虑到并不是所有人都在用N卡吧,使用的视频编码方式是软编码。
因此我们可以改为硬件加速的编码方式,节约时间。
(2.2.1)NVIDIA显卡
找到并编辑【%DFL所在目录%\\_internal\\DeepFaceLab\\mainscripts\\VideoEd.py
】,
参考下图中高亮的部分,把libx264
改为hevc_nvenc
或h264_nvenc
。
至于lossless
那边也顺手改了,我不明白cq=0
是指【最高画质】还是【自动】,所以实测后改为cq=1
了。
(2.2.2)Intel核显
确定有人用Intel核显玩DFL么……
管它的,理论也可以对比一下。
同理如上图,把libx264
改为h264_qsv
。
PS:这里如果改为h265编码(hevc)的qsv,在我的笔记本上比较慢。而我的台式机没有Intel核显,测不了。
PS2:我也不清楚最新的Intel独显Arc系列会有怎样的效果。
(三)速度对比
可以看出3060显卡硬件加速效果明显(7-8倍)。
厉害的是N卡的硬件加速,对于编码为h264
/ h265
的效率差异不会太大。
而Intel方面Arc独显没有条件测试,核显有一定的加速效果,但h265
依然慢太多。
- CPU软编码(i7-10870):libx264:fps= 241 (默认)
- CPU软编码(i7-10870):libx265:fps= 37
- Intel核显(i7-10870):h264_qsv:fps= 540
- Intel核显(i7-10870):hevc_qsv:fps= 185
- N卡(移动RTX-3060):h264_nvenc:fps= 1828
- N卡(移动RTX-3060):hevc_nvenc:fps= 1677
因为我没有A卡,没法测试也不清楚A卡情况。
与此同时,除非谁能送我一块4090显卡😄,否则目前软编码av1
看起来也不是很快的样子,导致此处缺少实用性。
- CPU软编码(i7-10870):libsvtav1:fps=121
~ this is the end ~
Deepfacelab换脸时间
参考技术A 这个是个软件,换脸没有时间限制,成功了就一直在。DeepFaceLab是一个换脸软件,你打开用的时候可以直接换脸,没有时间限制,而且如果是换脸成功,导出照片就可以,也是跟时间没有关系的。都是及时的
DeepFaceLab是一款使用起来非常简单的智能AI换脸软件,用户无需掌握任何的编程知识就可以进行操作,加入想要换的人脸图片,一键即可换脸且契合度非常高,看不出一点瑕疵。。但使用该软件需要搭配GTX1080以上的显卡哦。、人脸图片使用JPG保存,节省空间提高效率。可以并行提取,并行转换。还支持手动提取,更精确的脸部区域,更好的结果,支持MTCNN,DLIBCNN,S3FD等多种提取器。
以上是关于可以提高DeepFaceLab(DeepFake)合成最终视频速度的方法的主要内容,如果未能解决你的问题,请参考以下文章