news 2026/9/18 21:36:30

Deep-Live-Cam 实时换脸快速上手指南:一张照片,十分钟开播

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Deep-Live-Cam 实时换脸快速上手指南:一张照片,十分钟开播

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 是一个开源的实时换脸工具:给它一张人脸照片,就能在摄像头画面或任意视频里即时替换面孔——对着摄像头做一场换脸直播,或把一个视频整体转成另一张脸,原片音轨保留。本文带你从零装好环境、跑通第一次 Live 预览,再讲清楚常用参数、硬件加速和排错方法,全程只依赖仓库自带文件,不用改一行代码。

先说效果:三下鼠标就换完

不用看参数文档,先看它实际长什么样。整个界面只有三个动作:Select a face(选源脸)→ Select a target(选摄像头或视频)→ 点 Live 或 Start。下面的演示就是完整的操作过程:

点 Live 后等 10–30 秒,预览窗口会亮起来,换脸就开始实时运行。摄像头里的人,变成了你照片里的人。

十分钟装好:最小安装路径

环境要求很轻,对照这张表自查即可:

项目要求
系统Windows / macOS / Linux
Python3.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 # Windows 激活: venv\Scripts\activate ;macOS/Linux: source venv/bin/activate pip install -r requirements.txt

关于模型(换脸核心的两个文件):

  • 手动放置:把inswapper_128_fp16.onnxGFPGANv1.4.onnx放进 models/ 目录,下载地址写在 models/instructions.txt 里;
  • 不手动放置也行,首次运行python run.py会自动下载(约 300MB,耐心等第一次启动)。

按硬件选推理后端

--execution-provider决定推理跑在哪块芯片上。什么都没装额外驱动的机器直接python run.py,程序会自动挑当前环境里最好的可用后端。

你的硬件安装步骤启动命令量级感受(直播预览)建议分辨率
纯 CPU / 核显python run.py勉强实时,够用480p–720p
NVIDIA 中端独显CUDA Toolkit 12.8.0 + cuDNN v8.9.7(bin 目录加进 PATH),再pip install onnxruntime-gpu==1.26.0python run.py --execution-provider cuda流畅720p
NVIDIA 高端独显同上python run.py --execution-provider cuda --execution-threads 2,可开 Face Enhancer接近摄像头原生帧率1080p
Apple M 系列brew install python@3.14 python-tk@3.14,requirements 已带 CoreML 支持python3.14 run.py --execution-provider coreml流畅720p
Intel 平台pip install onnxruntime-openvino==1.21.0--execution-provider openvino视 CPU 而定480p–720p
Windows + AMD 核显pip install onnxruntime-directml==1.21.0--execution-provider directml视显卡而定480p–720p

下面这段是真实跑起来的预览窗口,左上角能看到实时 FPS 读数,可以用来直观验收自己的硬件表现:

第一次换脸:Live 与 Start 两条路

启动后就是前面演示过的 GUI,两种模式:

实时模式(Webcam)python run.py→ 选源脸 → 点Live→ 等预览亮起来。之后想换脸,直接重新选一张源图即可。要推流直播,用 OBS 之类工具截取预览窗口;加--live-mirror可得到镜像预览,更像前置摄像头。

离线模式(视频文件):两条路都行——

  • GUI:选源脸 → 选目标视频 → 点Start,输出保存在以目标视频命名的目录里;
  • 命令行(带-s参数即进入 CLI 模式):
python run.py -s face.jpg -t clip.mp4 --keep-fps

几个常用 CLI 参数(完整列表见python run.py -h):

参数作用
-s/-t/-o源照片 / 目标视频 / 输出路径
--keep-fps/--keep-audio保留原帧率 / 原音轨(音轨默认保留)
--many-faces/--map-faces处理画面里每张脸 / 按人指定"谁换谁"
--mouth-mask嘴部保留,口型不失真
--frame-processor face_swapper face_enhancer指定处理链,face_enhancer即 GFPGAN 增强
--live-mirror/--live-resizable镜像预览 / 预览窗口可缩放
--max-memory内存上限(GB),掉帧时可下调
--nsfw-filter开启不当素材过滤(基于 opennsfw2 模型)
--video-encoder/--video-quality输出编码器(libx264 等)/ 质量 0–51

三个开关,让结果更自然

嘴部保留(Mouth Mask)——说话的人最容易在嘴部穿帮。源脸的嘴型和你的嘴型对不上,直接全换会导致口型错位。打开 GUI 里的 Mouth Mask 开关或加--mouth-mask,程序会把下半张脸的嘴部区域留给你自己,说话时口型自然一致:

多人脸映射(Many Faces + Map Faces)——画面里有多个人时,--many-faces处理每一张脸;再加--map-faces,程序用特征向量聚类把目标视频里的人自动分组,每人绑定不同的源脸,而不是全换成同一张:

源照片质量——三条就够:正脸、光线均匀(别用侧脸或逆光);脸上无遮挡(口罩、手、贴纸);人脸在照片里占比大一些,检测更稳。

离线整段视频换脸的效果参考:

看懂每一帧是怎么生成的

不需要改代码,但知道流水线在哪,出问题好定位。每一帧走同一条路:

检测目标帧里的人脸(buffalo_l:检测 + 身份特征 + 106 点关键点) → 用源照片身份 + 目标脸结构,合成 128×128 新脸(inswapper) → 椭圆羽化软掩膜 + alpha 混合贴回原帧,避免方形边界露馅 → 可选 face_enhancer(GFPGAN)补回被糊掉的五官细节
环节源码位置
人脸检测与分析(找脸、算特征向量与关键点)modules/face_analyser.py
换脸执行(合成新脸、椭圆掩膜贴回)modules/processors/frame/face_swapper.py
GFPGAN 面部增强modules/processors/frame/face_enhancer.py
GPU 加速算子(模糊、缩放、锐化)modules/gpu_processing.py
视频捕获与帧处理modules/video_capture.py
参数解析与流水线调度modules/core.py
多人脸聚类映射modules/cluster_analysis.py

一个细节值得留意:modules/processors/frame/face_swapper.py 里掩膜是基于换脸自身的仿射变换生成的并带缓存,而不是逐帧重新检测关键点——这避免了直播时人脸边缘"抖动"的常见瑕疵。

常见坑速查

症状原因解法
窗口打不开,报_tkintermacOS 缺 tkinterbrew reinstall python-tk@3.14
提示ffmpeg is not installedffmpeg 没装或不在 PATH安装后用ffprobe -version验证
状态栏找不到 inswapper 模型models/ 里缺换脸模型等首次自动下载完成,或按 models/instructions.txt 手动放入
有 GPU 却退回 CPUcuDNN 不在 PATH,或 onnxruntime-gpu 版本不符按上文装 cuDNN v8.9.7 +onnxruntime-gpu==1.26.0
直播预览掉帧明显内存/显存吃紧或开了增强下调--max-memory、关掉 Face Enhancer
macOS 装了多个 Python,行为怪异python指向了旧版本一律用python3.14命令启动

想给项目贡献代码:从仓库拉功能分支,跑一遍 tests/ 下的测试(如 test_core_map_faces_fallback.py),对照 CONTRIBUTING.md 清单自测(实时换脸开/关增强、Map Faces、FPS 不掉、GPU 压测 ≥15 分钟),然后提 Pull Request(先走premain分支,稳定后才进main)。

安全底线:只换该换的脸

README 开宗明义:这是给 AI 内容创作用的生产力工具,但使用责任在用户。

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

程序内置了一层内容检查:用 opennsfw2 模型过滤不当素材(GUI 勾选 NSFW Filter 或加--nsfw-filter),项目方也声明会遵守法律要求,必要时关停项目或给输出加水印。


从克隆仓库到 Live 按钮亮起,通常只需要十几分钟。挑一张正脸照片,把python run.py跑起来,等预览窗口亮起来的那一刻——你会亲眼看到摄像头里那张脸,正在变成你选的那张。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 21:30:17

Oh My Zsh 的 kn 插件:为 Knative CLI 一键启用 Zsh 自动补全

Oh My Zsh 的 kn 插件:为 Knative CLI 一键启用 Zsh 自动补全 【免费下载链接】ohmyzsh 🙃 A delightful community-driven (with 2,500 contributors) framework for managing your zsh configuration. Includes 300 optional plugins (rails, git, mac…

作者头像 李华
网站建设 2026/9/18 21:29:46

拆迁台账系统如何避免失控:建模与状态机设计

简介:这是一份关于征地拆迁与房屋安置管理系统的设计文档,面向政务信息化开发人员、项目经理及相关专业学生。文档从系统设计全过程切入,详细梳理了业务流程图,并重点分析了两类需求:功能性需求涵盖系统设置、征地拆迁…

作者头像 李华
网站建设 2026/9/18 21:29:46

PNR指令速查:从建单到BSP自动出票的完整操作指南

简介:这份PDF面向民航订座、票务代理及BSP自动出票岗位的学习者,系统梳理PNR(旅客订座记录)日常操作中最常用的指令要点,帮助读者快速掌握订座与出票环节的核心操作逻辑。资源包共1个PDF文件,约244KB&#…

作者头像 李华
网站建设 2026/9/18 21:29:28

MySQL局域网连接失败的根源:bind-address配置详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华