Deep-Live-Cam 实时换脸上手指南:1 张照片、3 次点击,约 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 主打的就是实时换脸:只需 1 张照片,把视频、电影甚至摄像头画面里的人脸当场替换掉。普通电脑约 10 分钟装完,摄像头模式下 10–30 秒出预览画面,你敲完安装命令的时间还没到它跑起来的时间。
30 秒搞懂:它凭什么能"实时"
Deep-Live-Cam 对每一帧只做三件事:先用人脸检测模型找到画面里的脸,再用一张源脸照片把身份替换上去(表情、姿态、光照都跟原画走),最后把结果混合回画面。摄像头模式下这套流程在后台循环跑,前面给你开一个实时窗口,所以"换"发生在显示之前,而不是导出之后。
开工前 60 秒自检:我的机器跑得动吗
对照下表 6 项,1 分钟出结论:
| 项目 | 最低(能跑) | 推荐(流畅) |
|---|---|---|
| 操作系统 | Windows 10 / macOS 11 / 主流 Linux | Windows 11 / macOS 12+ |
| Python | 3.11 | 3.14(3.11–3.14 均可) |
| 内存 | 8GB | 16GB |
| 显卡 | 无,CPU 模式可跑 | NVIDIA RTX 3060+ / Apple M 系 |
| 磁盘空闲 | 10GB(依赖 + 约 300MB 模型) | 20GB |
| FFmpeg | 已安装且在 PATH 中 | 最新稳定版 |
"最低"与"推荐"的差距基本都体现在帧率上:CPU 模式跑得动但偏慢,GPU 模式才是真·实时。项目自带一段普通 PC 的性能演示,先有个心理预期再动手:
跟着做:从零到第一个换脸结果
4 个里程碑,每个 1 条核心命令 + 1 个验收点。
里程碑 1:克隆仓库并建虚拟环境
用意是隔离依赖,避免这个项目的包污染系统 Python。
git clone https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam python -m venv venvWindows 激活用venv\Scripts\activate,macOS / Linux 用source venv/bin/activate。
验收点:终端提示符前出现(venv)。
里程碑 2:一条命令装完依赖
pip install -r requirements.txt这条命令会把 OpenCV、ONNX Runtime、insightface 人脸库、GUI 框架一次装齐(见 requirements.txt)。首次运行时程序还会自动下载约 300MB 的换脸与增强模型,也可以提前把inswapper_128_fp16.onnx和GFPGANv1.4放进 models/ 文件夹,说明在 models/instructions.txt。
验收点:执行pip show onnxruntime能打印出版本号。
里程碑 3:GUI 三次点击,出第一支换脸视频
python run.py在弹出的窗口里:① 选源脸照片(谁的清晰正脸照就换谁,对应-s);② 选目标图片或视频(对应-t);③ 点 Start。验收点:输出保存在以目标文件命名的文件夹里,打开就能看到换好的脸。
想直接试实时效果:选源脸 → 选摄像头 → 点 Live,等 10–30 秒预览画面就会出现,想换人随时重选一张源脸。
里程碑 4:命令行一键出片
习惯终端的话,一条命令等价于上面的点击流程:
python run.py -s face.jpg -t clip.mp4验收点:终端进度条走完后,目标同名文件夹里生成换脸成片。
常用能力开关:你想要什么效果,就开哪个
按"想要的效果"分组,每行一句话,够抄即用(完整定义见 命令行参数解析)。
想更自然(说话口型不穿帮)
| 开关 | 说明 | 典型值 |
|---|---|---|
--mouth-mask | 遮罩嘴部,保留原口型,说话类视频效果最明显 | 开关 |
想一次换多张脸 / 不同人换不同的脸
| 开关 | 说明 | 典型值 |
|---|---|---|
--many-faces | 处理画面里每一张脸(默认只换 1 张) | 开关 |
--map-faces | 把不同主体分别映射到不同源脸 | 与--many-faces配合 |
想画质更好、文件更对味
| 开关 | 说明 | 典型值 |
|---|---|---|
--frame-processor | 按书写顺序执行处理管线,默认只有face_swapper | 追加face_enhancer/face_enhancer_gpen256/face_enhancer_gpen512 |
--video-encoder | 输出编码器,默认libx264 | libx265(更小)/libvpx-vp9 |
--video-quality | 编码质量 0–51,越小越清晰 | 18(默认) |
--keep-fps | 保留原始帧率,播放更顺 | 开关 |
--keep-audio | 保留原音轨 | 默认开启 |
想稳住内存与内容安全
| 开关 | 说明 | 典型值 |
|---|---|---|
--max-memory | 内存上限,单位 GB | 8 |
--nsfw-filter | 不当内容过滤,公开发布前建议开着 | 开关 |
把效果调到位:按硬件直接抄
不用懂原理,照抄你那一档:
| 档位 | 照抄命令 | 预期 |
|---|---|---|
| 够用档(纯 CPU) | python run.py --execution-provider cpu --execution-threads 8 --max-memory 8 | 片段控制在 1 分钟内,720P 足够 |
| 进阶档(NVIDIA 显卡) | python run.py --execution-provider cuda | 1080P 舒适区;依赖里已含 CUDA 版 ONNX Runtime |
| 进阶档(Apple Silicon) | python run.py --execution-provider coreml | 官方 onnxruntime 已内置 CoreML,零额外安装 |
| 拉满档(Intel / AMD 核显) | 先pip install onnxruntime-openvino==1.21.0(Intel)或pip install onnxruntime-directml==1.21.0(AMD/Windows),再分别用--execution-provider openvino/directml启动 | 比纯 CPU 明显更快,分辨率可再往上抬 |
前两档目标"跑得动不卡",后两档追求"更高分辨率 + 人脸增强",高端显卡可顺手加--frame-processor face_swapper face_enhancer。
卡住了?按症状对号入座
看到什么:一启动就提示找不到 FFmpeg,直接退出。通常是:FFmpeg 没装,或它的 bin 目录不在 PATH 里。一句话解:装好 FFmpeg 并把 bin 目录加入 PATH,重开终端后用
ffmpeg -version验证。看到什么:加了
--execution-provider cuda却报 cuDNN / cuBLAS 错误,退回 CPU。通常是:CUDA 运行时缺失或版本不配套(官方验证组合为 CUDA 12.8 + cuDNN 8.9.7)。一句话解:按该组合安装两者,把 cuDNN 的 bin 目录加进 PATH 后重启程序。看到什么:处理长视频到一半,内存飙高、程序卡死。通常是:帧与中间结果一直驻留内存。一句话解:启动时加
--max-memory 8(或更小值),仍爆就先降分辨率。看到什么:点了 Live,预览半天不出现。通常是:首次要加载并预热约 300MB 模型,10–30 秒属正常;超过 30 秒还不动,查摄像头权限或换一个摄像头索引。一句话解:再等等;不行就检查系统相机权限设置。
下一步:往哪里深挖
- 想看参数默认值怎么算(线程数、内存上限、后端探测):modules/core.py 里的
suggest_*系列函数 - 想改画质:整条帧处理管线都在 modules/processors/frame/,
face_swapper.py是换脸本体,face_enhancer.py系列是增强器 - 想搞懂"脸是怎么被找到的":modules/face_analyser.py
- 想手动管理模型下载与校验逻辑:modules/model_downloader.py
- 想自己压测管线性能:benchmark_pipeline.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),仅供参考