Deep-Live-Cam 实时AI换脸教程:一张照片,从静态图到摄像头实时
【免费下载链接】Deep-Live-Camreal time face swap and one-click video deepfake with only a single image项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam
Deep-Live-Cam 用一张照片完成换脸:静态图、视频、摄像头实时画面都支持。按看到效果的快慢分三级:图片对图片 1 分钟内出结果,视频换脸输出新 mp4,摄像头实时 10–30 秒出预览。
1. 效果长什么样:3 级速度对应 3 种玩法
在装任何东西之前,先确认你要的是哪一级,因为三级的准备工作完全相同,只有操作路径不同。
- 一级:图片换图片。秒级出图,用来验证环境和挑源脸照片。
- 二级:视频换脸。处理时间以分钟计,输出一段新 mp4。
- 三级:摄像头实时。面向直播和录屏,预览窗口等 10–30 秒出现。
适合的内容创作者、主播、meme 制作者都能覆盖:前两级吃存储和耐心,第三级吃帧率。没有独显也能跑,走 CPU 只是更慢。
图中可以看到换脸后的实时画面跟随原视频的头部姿态和表情,这是仓库 README 里放的主演示。
2. 跑通最小路径:装 4 样东西就能启动
| 项目 | 要求 | 说明 |
|---|---|---|
| Python | 3.11–3.14,推荐 3.14 | onnxruntime 已放弃 3.10;macOS 用brew install python@3.14 |
| ffmpeg | 必须安装 | 缺失时启动即报ffmpeg is not installed. |
| 模型文件 | 约 300MB | 换脸模型 + GFPGAN 增强模型,放入models/文件夹 |
| GPU | 可选 | 没有就走 CPU,功能不受影响 |
先克隆仓库:
git clone https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam再建虚拟环境并装依赖。Windows 执行前两条,macOS/Linux 执行后两条:
python -m venv venv venv\Scripts\activatepython3 -m venv venv source venv/bin/activate两个环境激活后都执行pip install -r requirements.txt,看到Successfully installed ...一长串包名即成功。
模型有两条路:首次启动会自动下载约 300MB;或手动下载换脸模型inswapper_128_fp16.onnx和 GFPGAN 增强模型放入models/(仓库里有models/instructions.txt说明)。增强模型只在你勾选 Face Enhancer 时才必需,缺了它会报model not found,报错里会写明它要的文件名。
最后执行:
python run.py预期结果:终端先打印一行[platform] Windows | python 3.14.x | accelerator: CPU | providers: [...],然后弹出 PySide6 窗口(约 640×820)。这行[platform]日志后面排查问题时要用,记一下你的 accelerator 是什么。
3. 第一级:换一张静态图,先确认环境没问题
图中可以看到源脸区(Source face)、目标区(Target)、Options 开关组、Refinement 滑杆和底部 Start / Destroy / Preview 按钮,这是整个工具的完整操作面板。
最小路径只有三步:
- 点Select a face选一张正面、光线均匀的源脸照片(JPG/PNG/BMP 均可)。旁边有个 🔄 按钮,会随机拉一张 AI 人脸,没照片时可用来测试。
- 点Select a target选一张目标图。
- 点Start,在保存对话框里选输出路径。
成功后状态栏显示Processing to image succeed! (Time: X.XXs),输出文件就是你选的路径。这一步只花几十秒,目的是把"环境能不能跑"这个问题单独验证掉。
4. 第二级:换一段视频,输出保存在哪
图中可以看到目标视频里的人物面部被整体替换,姿态和光照仍然跟随原画面。
操作和一级相同,target 换成 mp4/mkv 视频。两个选项直接影响成片,建议先看一眼:
- Keep fps(默认关):关闭时输出固定按 30fps 生成;开启才跟随原片帧率。
- Keep audio(默认开):音频轨从原片拷回。注意代码里有提示——不 Keep fps 时音频可能漂移,长视频建议两个都开。
输出位置:GUI 模式下在 Start 的保存对话框指定;不带参数走命令行模式时,结果保存在以目标视频命名的目录里。
命令行模式同样好用——只要带了-s参数就不开图形界面:
python run.py -s 源脸.jpg -t 目标视频.mp4 --many-faces跑完后状态栏会打印处理帧率(X.XX fps)和总耗时,这是你衡量性能的第一手数据。
多人场景用Many faces(把画面里每张脸都换掉)加Map faces(手动指定哪张源脸对应哪张目标脸),效果类似图中:
图中可以看到同一个画面里多张脸分别被替换成不同源脸。
5. 第三级:摄像头实时换脸
图中可以看到摄像头画面经过实时换脸后直接可用作直播推流源。
步骤:
- 选好消息源脸(Select a face)。
- 在底部Camera区域下拉框里选摄像头,点Live。
- 等 10–30 秒,预览窗口出现。
三个实用细节:
- 勾选Show FPS,预览上会叠加帧率数字,低于 15 就该去做下一章的加速。
- 想推流:用 OBS 对预览窗口做窗口采集即可,这是 README 的推荐做法。
- 换脸不用重启:Live 运行中重新选一张源脸图片即生效。
顺带交代边界:程序内置内容过滤(基于 opennsfw2),会拒绝处理不当素材;使用他人面部时先取得本人同意,发布换脸内容时标注"AI 生成"——这两条也是 README 使用条款里的原话。
6. 效果不自然的 3 个原因,对应 3 个旋钮
图中可以看到开启 Mouth Mask 后嘴部保留原视频的动作,只对嘴以外的区域换脸。
Refinement 卡片里有三个滑杆,正好对应最常见的三类问题:
| 问题 | 旋钮 | 取值与依据 |
|---|---|---|
| 口型不同步 | Mouth Mask | 0 = 全用换脸的嘴,100 = 暴露原片嘴部直到下巴,默认 0 |
| 脸部发糊、细节丢失 | Face Enhancer 下拉 + Sharpness | 选 GFPGAN 或 GPEN-512(512 更锐但更慢);Sharpness 0–5,默认 0 |
| 边缘像贴上去 | Poisson Blend 开关 + Transparency | 勾选 Poisson Blend 做边缘融合;Transparency 0–100%,调到 0 可直接对比原图 |
摄像头画面偏蓝绿?勾Fix Blueish Cam,它就是给这类摄像头色偏修的。
再快一点:切换执行提供商
图中可以看到处理过程中的性能监控面板。先确认你的[platform]行里 accelerator 是不是 CPU,如果是,按硬件换执行提供商:
| 硬件 | 安装步骤 | 启动参数 |
|---|---|---|
| NVIDIA | 装 CUDA 12.8.0 和 cuDNN 8.9.7,然后执行下方命令 | --execution-provider cuda |
| Apple Silicon | 无需额外安装,requirements 已带 CoreML 版 onnxruntime | --execution-provider coreml |
| 其他 Windows GPU | pip install onnxruntime-directml==1.21.0 | --execution-provider directml |
| 仅 CPU | 无 | 默认 cpu |
pip install -U torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128 pip uninstall onnxruntime onnxruntime-gpu pip install onnxruntime-gpu==1.21.0看到Successfully installed onnxruntime-gpu-1.21.0后,用python run.py --execution-provider cuda启动,[platform]行应显示accelerator: CUDA (NVIDIA)。
两个可调数值:线程数默认 CPU 核数减 2(下限 4、上限 16,CUDA 固定 2),想改就传--execution-threads;内存上限--max-memory默认 16GB(macOS 4GB),内存吃紧时调小。
7. 启动失败对照表:按报错信息查
ffmpeg is not installed.→ 装 ffmpeg,用ffmpeg -version验证输出版本号。Python version is not supported→ 换 3.11+ 重建虚拟环境,推荐 3.14。ModuleNotFoundError: No module named 'xxx'→ 你不在虚拟环境里,或依赖没装全。activate 后重跑pip install -r requirements.txt。... model not found at .../models/xxx→ 报错里写明了它要的文件名,下载后放进models/重试。- 摄像头下拉显示
No cameras found→ 换接口或换台机器试,Windows 上可检查设备管理器里的相机。 - 实时卡顿 → 先排除纯 CPU 运行,再试:关闭 Face Enhancer(增强是每帧额外推理)、降低摄像头分辨率。
你的下一步:现在就执行python run.py,用自己的照片做源脸,对着摄像头按一次Live。帧率低于 15 就回到第 6 章换执行提供商;中间卡住时,把那条[platform]日志连同报错一起带去社区提问——它会直接告诉别人你跑在哪个加速器上。
【免费下载链接】Deep-Live-Camreal time face swap and one-click video deepfake with only a single image项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考