Deep-Live-Cam 快速上手:如何用 1 张照片搞定实时换脸
【免费下载链接】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 是一款开源实时换脸工具:给一张清晰人脸照片,视频、电影或摄像头画面里的人脸会被实时替换,成片直接可用。完整流程只有 3 条命令装完、3 次点击出第一支换脸视频。适合想跑起来、看到效果的新手和普通用户。
一张表自检:确认机器能跑实时换脸
跑之前只需确认三样东西:Python、FFmpeg、磁盘空间。
| 项目 | 最低标准 | 怎么确认 | 不达标时的替代方案 |
|---|---|---|---|
| 操作系统 | Windows 10 / macOS 11 / 主流 Linux | 系统设置页查看版本 | 三平台任选其一安装 |
| CPU | 4 核 | 任务管理器 / 活动监视器 | 换 CPU 模式跑,接受低帧率 |
| 内存 | 8GB | 系统设置 /free -h | 启动加--max-memory 4压上限 |
| 显卡 | 无(CPU 模式可跑) | 设备管理器 /nvidia-smi | 加--execution-provider cpu |
| 磁盘空闲 | 10GB(依赖 + 约 300MB 模型) | 磁盘属性 /df -h | 清理旧文件,模型预先放进models/ |
| Python | 3.11(3.11–3.14 均可) | python --version | 安装 3.11 并只为该项目使用 |
| FFmpeg | 已安装且加入 PATH | ffmpeg -version | 安装 FFmpeg 并把 bin 目录加入 PATH |
最低标准达标就能跑,与更高端配置的唯一差距是帧率。项目自带普通 PC 的性能演示,先有个预期:
三步装完跑通:拿到第一支换脸视频
最短路径是 3 步,前两步各一条命令,第三步按显卡选做。
第 1 步:克隆仓库并建虚拟环境,隔离依赖,不污染系统 Python。
git clone https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam && cd Deep-Live-Cam && python -m venv venv && source venv/bin/activate确认生效:提示符前出现(venv)。Windows 把最后一条换成venv\Scripts\activate。
第 2 步:一条命令装完依赖,包含 OpenCV、ONNX Runtime、insightface 等全部组件。
pip install -r requirements.txt确认生效:pip show onnxruntime能打印版本号。首次运行时程序还会自动下载约 300MB 的换脸与增强模型,也可以提前把inswapper_128_fp16.onnx和GFPGANv1.4放进models/文件夹。
第 3 步(可选):按显卡换加速后端。NVIDIA 用户跳过,依赖里已带 GPU 版,运行时加--execution-provider cuda即可;AMD 与 Intel 各换一条 pip 命令;Apple Silicon 什么都不用装。
pip install -U onnxruntime-directmlIntel 用户把包名换成onnxruntime-openvino,启动时对应加--execution-provider directml或--execution-provider openvino。确认生效:启动后不再报 provider 相关错误。
跑通的最短命令:
python run.py -s face.jpg -t clip.mp4终端出现逐帧进度条,跑完后生成一个以目标文件命名的文件夹,打开里面的视频,人物脸已换成 face.jpg,口型与光线保持原样。想要界面版就运行python run.py:① 选源脸照片 ② 选目标视频或图片 ③ 点 Start。想上摄像头实时效果则点 Live,10–30 秒出预览画面,可用 OBS 推流:
照抄参数:能力与常用开关速查
跑通之后只需记几个开关:换脸是默认管线,其余都是可选增强。
| 核心能力 | 怎么开启 | 能看到什么效果 | 适合什么场景 |
|---|---|---|---|
| 单视频换脸 | python run.py -s face.jpg -t clip.mp4 | 以目标文件命名的文件夹里出现成片 | 第一支换脸视频 |
| 摄像头实时换脸 | python run.py,界面点 Live | 10–30 秒出预览,可 OBS 推流 | 直播、视频通话 |
| 换掉画面里每张脸 | 加--many-faces | 无一张脸被落下 | 群像、meme 素材 |
| 不同人用不同的脸 | 加--map-faces --many-faces | 每张目标脸按序对应一张源脸 | 多角色画面 |
| 保留原口型 | 加--mouth-mask | 只换脸,嘴部保持原始运动 | 说话类视频 |
| 提升脸部清晰度 | --frame-processor face_swapper face_enhancer | 换脸后追加一步增强 | 追求画质 |
嘴部遮罩在说话头类视频上效果最明显:
| 常用参数 | 作用 | 典型值 |
|---|---|---|
-s/--source | 源脸照片,只需 1 张 | 清晰正脸照 |
-t/--target | 目标图片或视频 | 本地文件路径 |
-o/--output | 输出文件或目录 | 默认按目标文件建文件夹 |
--keep-fps | 保留原始帧率 | 开关,不加则固定 30fps |
--keep-audio | 保留原音轨 | 开关,默认开启 |
--video-encoder | 输出编码器 | libx264(默认)/libx265/libvpx-vp9 |
--video-quality | 编码质量,0–51 越小越清晰 | 18(默认) |
--max-memory | 内存上限,单位 GB | 8(纯 CPU 档) |
--execution-provider | 加速后端 | cuda/coreml/directml/cpu |
--execution-threads | 执行线程数 | CPU 核数的一半 |
--live-mirror | 实时窗口镜像成前置视角 | 开关 |
--nsfw-filter | 不当内容过滤 | 开关 |
参数的完整定义在 命令行参数解析 里,一行一个开关。这些参数组合起来就能让电影实时换脸:
按硬件选档调参,避开 3 个常见坑
帧率由硬件决定,照抄你那一档即可。
| 档位 | 推荐参数组合 | 该档追求的目标 |
|---|---|---|
| 纯 CPU | --execution-provider cpu --execution-threads 8 --max-memory 8 | 跑得动不卡:片段控制在 1 分钟内,720P 足够 |
| 中端 NVIDIA(RTX 3060 级) | --execution-provider cuda | 1080P 舒适区 |
| 高端 NVIDIA(RTX 4090 级) | --execution-provider cuda --frame-processor face_swapper face_enhancer | 4K + 人脸增强仍实时 |
| Apple Silicon(M 系) | --execution-provider coreml | 官方 onnxruntime 自带 CoreML,零额外安装 |
前两句档的目标是"跑得动",后两档追求"更高分辨率 + 更多增强"。
- 现象:一启动提示
ffmpeg is not installed直接退出 →原因:FFmpeg 没装或 bin 目录不在 PATH →解决:安装 FFmpeg 并加入 PATH,重开终端用ffmpeg -version验证。 - 现象:加
--execution-provider cuda报 cuDNN / cuBLAS 找不到 →原因:CUDA 运行时缺失或版本不配套(官方组合为 CUDA 12.8 + cuDNN 8.9.7)→解决:按该组合安装两者,cuDNN 的 bin 目录加进 PATH 后重启。 - 现象:长视频处理到一半内存飙高、程序卡死 →原因:帧与中间结果一直驻留内存 →解决:启动时加
--max-memory 8(或更小值),仍爆就先降分辨率。
四个换脸与增强处理器的实现都在 modules/processors/frame/,想改画质管线从这里挖起;下一步建议先换一支 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考