Deep-Live-Cam 实战教程:一张照片搞定实时换脸直播,10 分钟跑通首跑
【免费下载链接】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 的实时换脸覆盖三类场景,玩法逻辑各不相同:
- 换脸直播 / 视频通话:选好人脸照片,点 Live,再用 OBS 截取预览窗口推流;加
--live-mirror可得到前摄视角的镜像画面。 - 视频换脸 离线:整段素材整体替换面孔,输出保留原音轨与原帧率。
- 群像批量:画面里多个人物分别绑定不同的源脸,逐一对应处理。
离线换脸的命令如下:
python run.py -s face.jpg -t clip.mp4 --keep-audio --keep-fps执行完成后,成品保存在与目标视频同名的目录中。
📦 Deep-Live-Cam 安装教程:环境核对、四行命令、首次启动
Deep-Live-Cam 安装教程的第一步是核对环境。要求很轻,对照下表逐项确认:
| 项目 | 要求 |
|---|---|
| 系统 | Windows、macOS、Linux 均可 |
| Python | 3.11–3.14,推荐 3.14 |
| 基础工具 | git + pip + ffmpeg,缺一不可 |
| 硬件 | 纯 CPU 可跑,NVIDIA 独显或 Apple 芯片明显更快 |
| Windows 注意 | 需安装 Visual Studio 2022 运行库 |
环境就绪后,按顺序执行这四行命令:
git clone --depth 1 https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam python -m venv venv pip install -r requirements.txtvenv 建好后先激活:Windows 执行venv\Scripts\activate,macOS/Linux 执行source venv/bin/activate,再装依赖。models/目录里需要两份模型文件:inswapper_128_fp16.onnx和GFPGANv1.4.onnx,下载地址写在 models/instructions.txt;不手动放置也行,首跑会自动下载约 300MB。
首次启动:
python run.py窗口分三栏:最左是源脸照片,中间是目标(摄像头或视频文件),最右有 Live 和 Start 按钮。点下 Live,10–30 秒后预览画面出现。
🚀 按硬件选执行后端:实时换脸提速配置表
想让实时换脸更流畅,关键在--execution-provider参数,它指定推理跑在哪块芯片上。不装任何额外驱动时,程序会自动挑当前环境里最优的后端。
- 核显 / 纯 CPU:无额外步骤,直接默认启动。
- 中端 NVIDIA 卡:先装 CUDA Toolkit 12.8.0 与 cuDNN v8.9.7(把 cuDNN 的 bin 目录加进 PATH),再执行
pip install onnxruntime-gpu==1.26.0,随后加--execution-provider cuda启动。 - 高端 NVIDIA 卡:在 cuda 基础上加
--execution-threads 2,CUDA Graph 自动生效,还能开启 face_enhancer。 - Apple M1–M5:执行
brew install python@3.14 python-tk@3.14,CoreML 后端已随 requirements.txt 就绪,用python3.14 run.py --execution-provider coreml运行。 - Intel 平台:安装
onnxruntime-openvino==1.21.0,启动加--execution-provider openvino。 - Windows 上 AMD 核显:安装
onnxruntime-directml==1.21.0,启动加--execution-provider directml。
预期表现(按 720p 直播预览的量级感受):
| 硬件 | 命令要点 | 预期表现 | 建议分辨率 |
|---|---|---|---|
| 集成显卡 / 纯 CPU | 默认python run.py | 勉强实时 | 480p–720p |
| 中端 NVIDIA 独显 | --execution-provider cuda | 流畅 | 720p |
| 高端 NVIDIA 独显 | cuda + face_enhancer +--execution-threads 2 | 接近摄像头原生帧率 | 1080p |
| Apple M 系列 | --execution-provider coreml | 流畅 | 720p |
🔍 换脸原理:一帧画面如何走完四步流水线
换脸原理并不复杂,每一帧画面都按同一条流水线走四步:
buffalo_l 检测画面人脸 → 提取 bbox、106 点关键点与身份向量 源照片身份向量 + 目标脸结构 → inswapper 合成 128x128 新脸 椭圆羽化软掩膜 + alpha 混合 → 把新脸贴回原帧 可选 face_enhancer(GFPGAN)→ 找回五官细节buffalo_l 出自 InsightFace 项目,负责定位人脸、提取身份向量与 106 个关键点;inswapper 再按源照片身份与目标脸结构合成一张 128×128 的新脸;椭圆羽化软掩膜让贴上去的脸与周围自然过渡,不露拼接痕迹;最后由 GFPGAN 把糊掉的细节补回来。这些模块你无需改动,知道位置便于日后查源码:
| 职责 | 文件路径 |
|---|---|
| 人脸检测与分析:找脸、算身份向量与 106 点关键点 | modules/face_analyser.py |
| 换脸执行:合成新脸并贴回原帧 | modules/processors/frame/face_swapper.py |
| 人脸增强:GFPGAN 提升换脸后清晰度 | modules/processors/frame/face_enhancer.py |
| GPU 加速算子:模糊、缩放、锐化走 GPU | modules/gpu_processing.py |
| 视频捕获与帧处理:摄像头读取、抽帧、编码 | modules/video_capture.py |
| 命令行与入口:参数解析、流水线调度 | modules/core.py |
🎭 换脸调优:--mouth-mask 与多人脸换脸
让换脸结果更像"本人",调优方向有三个:
- 嘴部保留:在 GUI 拖动 Mouth Mask 滑块,或命令行加
--mouth-mask。源脸与你的嘴型不一致时,换过去的嘴会与原音轨对不上;这个选项保留你自己的嘴部区域,说话口型自然一致。
- 多人脸换脸:
--many-faces会把画面中每一张脸都换掉,适合群像;--map-faces支持按人指定对应关系,程序依据特征向量对目标视频中的人物聚类分组,每个人可绑定不同源脸。
- 源照片质量:正脸、光线均匀、脸上无遮挡、人脸占比大。侧脸或逆光会让检测不稳,口罩、手、浓重贴纸都会干扰提取。
换脸排错速查:五个常见问题的定位与修复
排错遵循固定套路:先对症状,再找原因,最后给解法,直接查表:
| 症状 | 原因 | 解法 |
|---|---|---|
窗口打不开,报_tkinter | macOS 端未装 tkinter | brew reinstall python-tk@3.14 |
提示ffmpeg is not installed | ffmpeg 未安装或 PATH 里没有 | 装好 ffmpeg,用ffprobe -version验证 |
| 启动时找不到换脸模型 | models/里缺 inswapper 模型 | 等首次自动下载完成,或手动放入文件 |
| 有 GPU 却退回 CPU 运行 | cuDNN 不在 PATH,或 onnxruntime-gpu 版本不符 | 按 cuDNN v8.9.7 +onnxruntime-gpu==1.26.0重装 |
| 直播预览掉帧明显 | 内存/显存吃紧,或增强模块开着 | 调低--max-memory,或暂时关闭 face_enhancer |
🛡️ 实时换脸使用红线:同意、标注与内容过滤
实时换脸能力很强,使用红线要先划清:
- 换脸对象限自己,或已明确取得本人同意的人
- 成品公开前,标注"AI 合成 / deepfake"
- 不得用于冒充、诽谤、诈骗等恶意用途
- 远离战争画面、隐私场景等敏感素材
- 程序内置 opennsfw2 内容过滤:GUI 提供 NSFW Filter 勾选框,命令行对应
--nsfw-filter,概率超标会拒绝处理
README 同时声明会遵守法律要求;极端情况下项目可能暂停,或给输出加水印。
参与 Deep-Live-Cam 贡献:三步流程与关键资源
向 Deep-Live-Cam 提贡献,按三步走:
- 新建分支,命名如
feature/your-change - 按 CONTRIBUTING.md 清单自测:增强开/关各跑一次换脸、Map Faces 开/关都覆盖、FPS 不下降、GPU 压测至少 15 分钟
- 分支先推到
premain,稳定后才合入main
git checkout -b feature/your-change git push origin feature/your-change关键资源(均为仓库内相对路径):
- 项目说明与完整参数列表:README.md
- 模型放置说明:models/instructions.txt
- 贡献规范与测试清单:CONTRIBUTING.md
- 多语言文案:locales/
- 新特性与问题跟进:关注仓库 Issues 页
从克隆仓库到 Live 按钮亮起,全程通常在十几分钟内完成。挑一张正脸照片,跑通首次启动命令;想让效果更稳,就先加上--mouth-mask再试一轮。
【免费下载链接】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),仅供参考