开源实时换脸指南:Deep-Live-Cam 三步让摄像头变成照片里的人
2026/9/18 22:36:16 网站建设 项目流程

开源实时换脸指南:Deep-Live-Cam 三步让摄像头变成照片里的人

【免费下载链接】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 是一个开源换脸工具:给它一张正脸照片,就能在摄像头画面或任意视频里实时替换面孔,输出视频还保留原片音轨。本文面向没装过此类项目的初学者,带你完成开源换脸工具安装,看懂画面为什么会变,并绕开黑窗、掉帧这类最常见的坑。

一、它适合谁,机器要满足什么

一句话原理:程序每帧先"认出"画面里的脸,再把照片里那张脸的身份"画"回去,最后可选地做一遍清晰度增强。整个过程在本地完成,不依赖在线服务。

能做的事

  • 摄像头实时换脸:你本人出镜,画面里变成照片里的人,可配合 OBS 推流
  • 视频离线换脸:整段视频批量处理,保留音轨和帧率
  • 多人脸映射:群里每个人绑不同的源脸

环境要求

项目要求
系统Windows / macOS / Linux 均可
Python3.11–3.14,推荐 3.14
必装依赖git、pip、ffmpeg(缺了它视频处理直接报错)
硬件纯 CPU 就能跑,NVIDIA 显卡或 Apple 芯片更快
Windows 额外项Visual Studio 2022 运行库

没有独显也别担心:CPU 模式下 480p–720p 勉强能实时,够你用。

二、从零安装开源换脸工具并打开主窗口

1. 拿到代码

git clone --depth 1 https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam

2. 建虚拟环境并装依赖(强烈建议用 venv,避免污染系统 Python)

python -m venv venv # Windows: venv\Scripts\activate ;macOS/Linux: source venv/bin/activate pip install -r requirements.txt

3. 模型文件(可选)

inswapper_128_fp16.onnx(换脸)和GFPGANv1.4.onnx(增强)放进models/目录,下载地址写在 models/instructions.txt 里。不放也行——首次运行会自动下载约 300MB 模型,只是第一次要等一会儿。

4. 启动

python run.py

窗口打开后布局很简单:上方左边选源人脸照片、右边选目标(视频文件)或选摄像头;中间一排开关(Keep audio、Many faces、Face Enhancer 等);下方是 Start、Live 两个按钮。macOS 用户注意两点:用brew install python@3.14装对应 Python,再brew install python-tk@3.14补图形库,缺了会报_tkinter错误。

三、摄像头实时换脸:标准流程三步走

步骤 1:选一张源人脸照片。要求就三条——正脸、光线均匀、脸上无遮挡(口罩、贴纸、逆光都会拖累检测),人脸在画面里占比大些更稳。

步骤 2:选摄像头。窗口里选好要用的摄像头即可,程序会自己挑最快的推理后端,你不用管。

步骤 3:按 Live。首次加载要等 10–30 秒,预览出来换脸就开始生效。要换人?重新选一张源照片就行。

直播推流:用 OBS 等工具对预览窗口做窗口捕获推出去;预览默认是镜像的(像前置摄像头),如果推出去的画面方向不对,加--live-mirror调一下。

四、视频文件换脸:一条命令批量出片

不想开窗口,直接命令行跑整段视频:

python run.py -s face.jpg -t clip.mp4 --keep-audio --keep-fps
  • -s/-t:源脸照片、目标视频
  • --keep-audio:保留原片音轨(默认开启,写上更保险)
  • --keep-fps:保持原始帧率

处理完的输出会存进一个以目标视频命名的文件夹,这是新手最常找不到的地方。

五、画面为什么自然:一帧的旅程

不用读源码,知道这一条流水线就够了:

  1. 检测:buffalo_l 模型包在目标帧里找脸,算出边界框、关键点和身份向量(可以理解成这张脸的"指纹")
  2. 生成:inswapper 模型以 128×128 尺寸,把源照片的身份"合成"进目标脸的结构上
  3. 贴回:用椭圆羽化软掩膜做 alpha 混合,把新脸贴回原帧,避免硬方形边界露馅
  4. 增强(可选):GFPGAN 把换脸后糊掉的五官细节补回来

想查源码时,直接对号入座:

模块职责路径
人脸检测与分析找脸、特征向量、106 点关键点modules/face_analyser.py
换脸执行合成新脸、椭圆掩膜贴回modules/processors/frame/face_swapper.py
人脸增强GFPGAN 提升清晰度modules/processors/frame/face_enhancer.py
GPU 加速算子模糊/缩放/锐化走 GPUmodules/gpu_processing.py
摄像头读取抽帧、编码modules/video_capture.py
命令行入口参数解析、流水线调度modules/core.py

知道它们在哪即可,普通使用完全不需要改。

六、掉帧、黑窗、模型缺失怎么排查

普通 PC(无独显)上的实际表现参考下图,CPU/GPU 占用和预览窗口都在画面里,可对照自己的机器预期:

按硬件选推理后端--execution-provider决定算在哪个芯片上,不写任何参数时程序自动选当前环境里最好的后端,新手直接python run.py即可。

平台做法
无独显 / 核显什么都不加,python run.py
NVIDIA 显卡装 CUDA Toolkit 12.8.0 + cuDNN v8.9.7(bin 目录加进 PATH),再pip install onnxruntime-gpu==1.26.0,然后加--execution-provider cuda
Apple M1–M5依赖里已含 CoreML 支持,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

高频故障对照表

症状原因解法
打不开窗口,报_tkintermacOS 缺 tkinterbrew reinstall python-tk@3.14
提示 ffmpeg 缺失ffmpeg 没装或不在 PATH装好后用ffprobe -version验证
状态栏找不到 inswapper 模型models/ 缺文件等首次自动下载完,或手动放入
有 GPU 却退回 CPU 跑cuDNN 不在 PATH 或 onnxruntime-gpu 版本不对按上表装 cuDNN v8.9.7 +onnxruntime-gpu==1.26.0
预览明显掉帧内存吃紧或增强开着--max-memory,关掉 Face Enhancer
预览方向反了摄像头镜像习惯不同--live-mirror

七、进阶玩法:嘴部保留与多人脸映射

Mouth Mask:说话口型不穿帮

源脸和你本人嘴型不一样,整脸替换后口型对不上原画面。打开 Mouth Mask(GUI 滑块或--mouth-mask),程序会把下半张脸的嘴部区域留给你自己,只换其余部分——说话时口型自然一致,效果见下图:

Many Faces + Map Faces:群里每人换不同的脸

  • --many-faces:处理画面里每一张脸,适合群像
  • --map-faces:在"谁换谁"上按人指定。程序先用特征向量聚类把目标里的人自动分组,你再做绑定
python run.py -s face.jpg -t group.mp4 --many-faces --map-faces

八、使用之前必须知道的边界

换脸工具能力越大,边界越要清楚,记住四条即可:

  • 只换自己、或已明确取得本人同意的脸
  • 公开发布时标注"AI 合成 / deepfake"
  • 不用于诈骗、冒充、诽谤等任何欺骗目的
  • 不处理战争画面、隐私场景等敏感素材

程序自身也内置了 opennsfw2 内容过滤(GUI 勾选 NSFW 或--nsfw-filter),会自动拦截不当素材;CONTRIBUTING.md 里也写明了项目的合规立场。


现在就可以动手:把git clonepip install -r requirements.txt两条命令跑完,放一张自己的正脸照片进窗口,点 Live 等 30 秒——你的第一段实时换脸预览马上就会出现在屏幕上。想继续深入,就从 README.md 的完整参数列表和 models/instructions.txt 开始看。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询