Deep-Live-Cam:一张照片实时换脸,3步跑通全流程
【免费下载链接】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 是一个开源的实时换脸工具:给它一张人脸照片,就能把这张脸换到摄像头画面或视频里,逐帧输出。做直播特效、电影换脸、群像换脸,它都直接可用,不用自己拼模型管线。
左为原始画面,右为 Deep-Live-Cam 逐帧换脸后的实时效果
动手前先核对这四项
| 项目 | 最低要求 | 推荐 |
|---|---|---|
| 系统 | Windows 10+、macOS(M1–M5)、Linux | Windows 11 / macOS 13+ |
| Python | 3.11(onnxruntime 已放弃 3.10) | 3.14 |
| 内存 | 8GB | 16GB |
| 磁盘 | 5GB 可用(模型合计约 300MB) | SSD |
| GPU | 无也行,纯 CPU 可跑 | NVIDIA / AMD / 核显 / Apple 芯片 |
装 ffmpeg 是硬性前提,视频拆分合帧全靠它。
从克隆到第一次换脸成功
- 拉代码:
# 浅克隆,只要最新代码 git clone --depth 1 https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam- 把两个模型放进
models/文件夹:inswapper_128_fp16.onnx(换脸主模型)和GFPGANv1.4.onnx(增强模型),两者合计约 300MB,缺一不可。 - 建虚拟环境并装依赖:
# Windows python -m venv venv venv\Scripts\activate # macOS & Linux python3 -m venv venv source venv/bin/activate # 三个平台通用:安装依赖 pip install -r requirements.txtmacOS 的 Apple 芯片额外执行brew install python-tk@3.14,否则界面起不来。
- 启动:
python run.py- 点 "Select a face" 选照片 → 点 "Select a target" 选视频或图片 → 点 "Start"。
先把四个按钮用熟
Start:离线批处理一段视频
选一个.mp4或.mkv当目标,点 Start。输出视频会存到以目标视频同名的文件夹里。两个默认行为要注意:音轨默认保留(Keep audio 默认开)、帧率默认跟随原片(Keep fps 默认开),要改就在 Options 区关掉对应开关。
Live:摄像头实时换脸
Camera 区下拉框选摄像头,点 Live,等 10–30 秒出预览。推流用 OBS 对这个预览窗口做屏幕捕获即可;想中途换脸,直接重选源图,不用重启。
Preview 和 Destroy
Preview 弹出一个独立小窗,处理中随时看结果,不用等文件落盘;Destroy 停止处理并退出程序,卡死时用它兜底。
界面主体:上方选源脸和目标,中部是 Many faces、Mouth Mask 等开关与滑杆,底部一排操作按钮
选项区最值得动的三个
- Many faces:默认只换主脸,打开后画面里每张脸都会换,适合群像。
- Mouth Mask(0–100 滑杆):0 用换后嘴;数值拉高,从原口部一路到下巴的区域恢复原样,口型同步问题基本就靠它解决。
- Face Enhancer下拉:None / GFPGAN / GPEN-512 / GPEN-256,四个档位见下一节。
开启 Mouth Mask 后,换脸画面里嘴唇动作与说话人保持一致
⚡ 卡顿时按这个顺序调
- 先把目标降到 720p,这是收益最大的一步。
- 开硬件加速,按你的显卡装对应的执行提供程序:
# NVIDIA:先装 CUDA 12.8 + cuDNN 8.9.7,再把 cuDNN 的 bin 目录加进 PATH pip uninstall onnxruntime onnxruntime-gpu pip install onnxruntime-gpu==1.21.0 python run.py --execution-provider cuda # AMD / Intel(Windows) pip install onnxruntime-directml==1.21.0 python run.py --execution-provider directml # Intel 核显/独显 pip install onnxruntime-openvino==1.21.0 python run.py --execution-provider openvino # Apple 芯片:requirements.txt 自带 CoreML 版 onnxruntime,无需额外安装 python3 run.py --execution-provider coreml- 增强档位按画质需求选:纯换脸速度优先选 None;要清晰度选 GPEN-256;画质优先且 GPU 够强再上 GFPGAN 或 GPEN-512。
- Mouth Mask 拉得越高开销越大,Live 模式先设 0 跑通再往上加。
- 打开 Show FPS 开关观察帧率,口型不同步时优先加 Mouth Mask,再考虑动 Poisson Blend(边缘融合)和 Fix Blueish Cam(修摄像头偏色)。
运行中的资源面板,可对照帧率判断瓶颈在 CPU 还是 GPU
🎬 三个立即可做的玩法
直播表演
Live 模式 + OBS 屏幕捕获,就能在直播里以另一张脸出镜。换人只需重选源图,观众侧看到的是无剪辑的实时画面。
直播场景下,摄像头画面被实时替换为目标人物的脸
边看电影边换脸
挑一部 MP4 当目标,Start 处理,也可以 Live 思路配合播放器预览。输出在视频同名文件夹,保留原音轨,直接拿去做二创素材。
电影播放画面中,角色脸部被实时替换
群像批量换脸
开 Many faces,一张源图套到画面里所有人。如果想让不同目标对应不同脸,再打开 Map faces,按界面提示手动指派"哪张源脸对应哪张目标脸"。
多人同框时逐人脸替换,每个人映射到不同源脸
跑不通时先查这五条
- 现象:启动即报
ModuleNotFoundError。原因:venv 没激活,或依赖装残了。解法:重新激活虚拟环境后pip install -r requirements.txt,确认终端提示符前有(venv)。 - 现象:提示模型加载失败。原因:两个 onnx 文件没放进
models/,或下载不完整。解法:核对文件名是inswapper_128_fp16.onnx和GFPGANv1.4.onnx,大小合计约 300MB,缺哪个补哪个。 - 现象:Live 模式帧率低于 15。原因:分辨率过高,且走了纯 CPU。解法:降到 720p + 上一节的 GPU 加速;再不行就把 Face Enhancer 调成 None。
- 现象:macOS 报
_tkinter相关错误。原因:缺 python-tk。解法:brew install python-tk@3.14,多版本 Python 冲突时清掉旧版本。 - 现象:换完的脸偏蓝偏绿。原因:部分摄像头白平衡偏色。解法:打开 Fix Blueish Cam 开关。
一页看懂它在干什么
每一帧的流水线:抽帧 → insightface 做人脸检测 → inswapper ONNX 模型完成换脸 → 可选 GFPGAN/GPEN 增强 → Mouth Mask 把原口唇区域贴回 → 合帧、套回音轨输出。
Deep-Live-Cam/ ├── modules/ │ ├── core.py # 主流程调度 │ ├── ui.py # PySide6 界面 │ ├── face_analyser.py # 人脸检测 │ ├── video_capture.py # 摄像头捕获 │ └── processors/frame/ # 帧级处理器 │ ├── face_swapper.py # 换脸 │ ├── face_enhancer.py # GFPGAN/GPEN 增强 │ └── face_masking.py # 口唇遮罩 ├── models/ # 放 onnx 模型的目录 └── run.py # 入口五条红线记住就够
用真人脸必须拿到本人同意;对外发布时明确标注这是 AI 生成内容;不用于冒充、诈骗、诽谤;不处理违法违规素材。程序内置了对不当内容的过滤拦截,但拦截不是护身符,责任在使用者自己。
跑通之后做什么
- 用
-s和-t参数走 CLI 模式,把换脸写进批处理脚本。 - 直播推流搭配 OBS Studio,把 Live 预览窗捕获走。
- 输出质量不满意时,CLI 里还有
--video-quality(0–51,越小越清晰)可微调编码。
现在就可以跑第一条视频;跑完后把目标降到 720p 再跑一遍,对比两次的处理速度,你会立刻知道瓶颈在哪。
【免费下载链接】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),仅供参考