可以提高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_nvench264_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依然慢太多。

方式硬件型号编码器参数每秒帧数(FPS)
CPU 软编码(默认)i7-10870libx264241
CPU 软编码i7-10870libx26537
Intel 核显加速i7-10870h264_qsv540
Intel 核显加速i7-10870hevc_qsv185
NVidia 显卡加速移动 RTX-3060h264_nvenc1828
NVidia 显卡加速移动 RTX-3060hevc_nvenc1677

因为我没有A卡,没法测试也不清楚A卡情况。
与此同时,除非谁能送我一块4090显卡😄,否则目前软编码av1看起来也不是很快的样子,导致此处缺少实用性。

  1. CPU软编码(i7-10870):libsvtav1:fps=121

~ this is the end ~


  1. 来自百科:FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。 ↩︎

  2. 网站写道:强烈建议选择 git master 构建;与许多软件不同,release构建主要是为了方便操作系统分销商和包管理器,并不表示更大的稳定性或成熟度。 ↩︎

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 使用DeepFaceLab进行视频换脸需要以下几个步骤: 1. 准备好源视频和目标脸图片。 2. 使用DeepFaceLab的"Extract"功能提取源视频中的人脸。 3. 使用DeepFaceLab的"Convert"功能将目标脸图片转换为适合换脸的格式。 4. 使用DeepFaceLab的"Merge"功能将源视频中的人脸与目标脸图片合并。 5. 使用DeepFaceLab的"Render"功能将合并后的视频渲染成最终视频。 注意: DeepFaceLab是一个开源软件,使用这个软件可能会违反著作权法. ### 回答2: DeepFaceLab是一种基于人工智能技术的视频换脸工具,下面是使用DeepFaceLab进行视频换脸的步骤: 1. 准备素材:选择一个清晰的源视频和目标视频。源视频是希望更换脸部的人物视频,目标视频是希望替换为源视频中人物脸部的视频。确保两个视频中的人物脸部要尽可能保持相似。 2. 下载和配置DeepFaceLab:从官方网站下载DeepFaceLab,并按照相关指引进行配置,包括安装环境、设置GPU等。 3. 数据集准备:使用DeepFaceLab自带的工具将源视频和目标视频中的人脸截取出来,并分别放入对应的文件夹中。可以多截取几个角度和表情以提高换脸效果。 4. 预处理:运行DeepFaceLab中的预处理脚本,对素材进行处理以提高后续处理效果。这一步会进行人脸对齐、抠图、人脸切割等。 5. 训练模型:使用DeepFaceLab的训练脚本来训练模型。这一步需要耐心等待,因为模型的训练需要消耗较长的时间。可以根据自己的需要调整训练的参数。 6. 换脸处理:使用训练好的模型进行换脸处理。通过运行DeepFaceLab提供的命令行操作,将源视频中的人脸替换到目标视频的相应位置,并生成结果视频。可以根据需要调整换脸的精度和速度等参数。 7. 后处理:生成的结果视频可能还有一些不完美的地方,可以使用视频编辑软件进行后期处理,如进一步调整脸部替换的效果、编辑合成等。 需要注意的是,DeepFaceLab是一项技术含量较高的工具,对硬件要求较高,而且使用过程中可能会遇到一些技术问题。因此,初次使用者建议先阅读官方文档并参考相关教程进行学习和实践,以便更好地掌握和使用该工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值