DeepFaceLive_Zha
Real-Time Face Swap, Reborn

换脸,就该这么简单流畅

基于 DeepFaceLive 深度优化:TensorRT 推理加速、虚拟摄像头直连、DirectML 老显卡支持、流水线防卡死。同样的硬件,跑出更爽的体验。

TRT
推理加速
直连
虚拟摄像头
兼容
老显卡/A卡/I卡
防卡
流水线超时
SCROLL
User Experience First

用户真正在乎的,我们全押对了

不再被复杂参数劝退,不再为一次更新提心吊胆。DeepFaceLive_Zha 把技术细节藏进后台,只把简单、稳定、高质量的体验交到你手里。

TensorRT 推理加速

RTX 显卡自动启用 TensorRT,推理速度提升 1.5-3 倍。引擎加密缓存,二次启动秒级就绪。

🎥

虚拟摄像头直连

内置 OBS Virtual Camera 和 UnityCapture 支持,一键输出到直播软件。无需额外配置,即连即用。

🎯

老显卡也能跑

DirectML 后端支持,GTX 550 Ti 等老 N 卡、A 卡、核显都能用 GPU 推理,不再强制降级 CPU。

🛡️

流水线防卡死

30 秒超时保护机制,下游停止时自动恢复,避免长时间运行后界面卡死。直播更稳定。

🎨

美颜 + 动态保留

新增 9 维度美颜面板(瘦脸/大眼/美白等),加上眼/嘴/牙动态保留,换脸更自然。

📱

竖屏直播支持

30 种分辨率档位含 13 种竖屏,YY开播/OBS/采集卡专项适配,黑屏自动重连。

Deep Optimizations

每一处优化,都是为了让你用得更爽

我们把底层复杂的工程问题逐个解决,同时对用户看得见摸得着的环节下足功夫。

TensorRT 加速
TensorRT Acceleration

TensorRT 推理加速

原版仅支持 CUDA 和 DirectML。DeepFaceLive_Zha 新增 TensorRT 支持,RTX 20 系及以上显卡自动启用,推理速度提升 1.5-3 倍。

  • RTX 显卡自动检测并启用 TensorRT FP32
  • 引擎加密缓存,首次构建后秒级启动
  • 多进程构建串行化,避免显存爆炸
  • 输出 NaN/Inf 校验,防止花屏
虚拟摄像头
Virtual Camera

虚拟摄像头直连

原版需要额外配置虚拟摄像头,DeepFaceLive_Zha 内置 OBS Virtual Camera 和 UnityCapture 支持。选择后端、点开始,直接输出到直播软件。

  • 支持 OBS Virtual Camera 和 UnityCapture
  • UnityCapture 驱动自动安装
  • FPS 可选(AUTO/25/30/45/60),自适应调整
  • 推送失败自动退避重试,不中断直播
硬件兼容
Broad Hardware Support

老显卡也能跑

原版仅支持 CUDA。DeepFaceLive_Zha 新增 DirectML 后端,GTX 550 Ti 等老 N 卡、A 卡、I 卡都能用 GPU 推理。自动选择最佳后端,无需手动折腾。

  • CUDA 优先 → DirectML → CPU 自动降级
  • 多 GPU 自动选择性能最强的设备
  • RTX 50 系列 / CUDA 12 驱动版本检测
  • 设备变更后自动修复失效配置
动态保留
Dynamic Preservation

美颜 + 动态保留

原版只有基础的面具融合。DeepFaceLive_Zha 新增 9 维度美颜面板(美白/瘦脸/大眼/下巴/颧骨/额头等)和眼睛/嘴巴/牙齿动态保留,换脸更像"本来就是你"。

  • 9 维度美颜,CUDA 加速,故障自动回退 CPU
  • 五官自动保护,瘦脸不扭曲眼睛嘴巴
  • 动态保留眼睛眨动、嘴巴说话、牙齿细节
  • 独立羽化与缩放参数,边缘过渡更柔和
Comparison

为什么 DeepFaceLive_Zha 比原版更好用

保留原版优秀推理能力的同时,把用户每天会遇到的痛点逐个修掉。

你关心的
原版 DeepFaceLive
DeepFaceLive_Zha
推理加速
仅支持 CUDA / DirectML
新增 TensorRT,RTX 显卡提速 1.5-3 倍
显卡兼容
仅 CUDA 显卡可用
DirectML 支持 A卡/I卡/老N卡,自动选最佳后端
虚拟摄像头
无,仅推流/窗口预览
内置 OBS/UnityCapture,一键直连直播软件
摄像头分辨率
7 种横屏档位
30 种档位含 13 种竖屏,适配手机直播
画质自然度
基础面具融合
9 维美颜 + 眼/嘴/牙动态保留
运行稳定性
长时运行 OpenCL kernel 反复重编译
kernel 保持 warm + 30 秒超时保护
推流延迟
同步阻塞写入
异步推流 + 帧替换 + flush_packets
错误提示
英文堆栈,图标变红
中文弹窗,显存/CUDA/DirectML 明确指引
FPS 显示
数值虚高约一倍(30fps 显示 60fps)
真实 FPS + 单调时钟抗跳变
音画同步
麦克风→扬声器延迟 0-10s,平滑过渡
Source Code Verified

技术修改详情

基于官方原版 DeepFaceLive_NVIDIA_build_05_04_2023 与 DeepFaceLive_Zha 实际源码逐文件对比,仅列出面向最终用户可感知的差异点。开发侧的 BUG 修复、代码重构、类型注解等不在此列。

已核对 backend 全部 12 个模块 + xlib 核心库 + 前端 QDFLApp 界面层
8
大维度系统增强
30+
面向用户的实质改进
3
新增功能模块
5
推理性能优化

一、推理性能优化

xlib/onnxruntime · avecl · backend
新增 性能

TensorRT 推理加速

原版仅支持 CUDA 和 DirectML 两种执行提供者。DeepFaceLive_Zha 新增 TensorRT 后端,RTX 20 系及以上显卡自动启用 TRT FP32 推理,实测换脸帧率提升 1.5-3 倍。

来源: xlib/onnxruntime/InferenceSession.py(35 行 → 1201 行) 新增: xlib/onnxruntime/trt_cache.py(347 行)
实现细节
  • 自动启用:检测 RTX 显卡 + Compute Capability ≥ 7.5(Turing 架构及以上)
  • Workspace 分档:8GB 卡分配 1GB / 12GB 卡 2GB / 16GB 卡 3GB / 24GB 卡 4GB
  • 引擎加密缓存:按模型 SHA256 + GPU 名称 + 显存 + TRT 版本组合键,首次构建 30-180 秒,后续秒开
  • 多进程串行化:Windows 文件锁(msvcrt.locking),防止多 worker 并发构建导致显存爆炸
  • 输出校验:TRT FP16 偶发 NaN/Inf 时自动提示切换 FP32/CUDA,避免花屏
  • 失败回退:TRT 不可用 → CUDA → CPU,不会因 TRT 问题无法启动
原版 InferenceSession_with_device
def InferenceSession_with_device(onnx_model, device_info):
    device_ep = device_info.get_execution_provider()
    ep_flags = {}
    if device_ep in ['CUDAExecutionProvider']:
        ep_flags['device_id'] = device_info.get_index()
    sess = rt.InferenceSession(onnx_model,
        providers=[(device_ep, ep_flags)])
    return sess
DeepFaceLive_Zha Provider 链
providers = [
    ('TensorrtExecutionProvider', trt_options),
    ('CUDAExecutionProvider', cuda_options),
]
if allow_cpu_fallback:
    providers.append(
        ('CPUExecutionProvider', {}))
# TRT 失败自动回退 CUDA → CPU
性能

CUDA EP 配置优化

原版 CUDA EP 仅设置 device_id,使用默认配置导致显存浪费和首次启动慢。DeepFaceLive_Zha 精细调优 CUDA EP 参数。

来源: xlib/onnxruntime/InferenceSession.py
优化项
  • arena_extend_strategy=kSameAsRequested:按需扩展 arena,避免大块预分配浪费显存
  • cudnn_conv_algo_search=HEURISTIC:启发式算法选择,跳过 EXHAUSTIVE 长时间基准测试
  • cudnn_conv_use_max_workspace=0:限制 cuDNN workspace 显存占用
  • 关闭 mem_pattern 和 cpu_mem_arena:DFM 静态图无收益,反而浪费显存
性能

DFM 固定 IOBinding

原版每帧 sess.run() 都会分配/释放 CUDA 输入输出缓冲区。DeepFaceLive_Zha 新增 _FixedIOBinding 类,复用预分配缓冲区,避免每帧 cudaMalloc/cudaFree 开销(约 0.5-2ms/帧)。

来源: xlib/onnxruntime/InferenceSession.py(_FixedIOBinding 类,约 145 行)
实现细节
  • 为每个输入/输出预分配 CUDA OrtValue,每帧仅 update_inplace
  • 支持 dfm / xseg / marker 三种角色,marker 动态 batch 按 size 缓存最多 8 个 binding
  • 长期运行显存碎片化降低,高帧率场景推理更稳定
性能

OpenCL 高斯模糊可分离卷积

原版使用 NxN 二维核做高斯模糊。DeepFaceLive_Zha 改为两次 1D 卷积(水平 + 垂直),运算量大幅降低。以 sigma=5(kernel size=21)为例,从 441 次/像素降至 42 次/像素,约 10 倍运算量降低。

来源: xlib/avecl/_internal/op/gaussian_blur.py(39 行 → 58 行)
原版:2D 卷积
def gaussian_blur(input_t, sigma):
    kernel_t = Tensor.from_value(
        _make_gaussian_kernel(sigma))  # NxN 二维核
    return depthwise_conv2D(
        input_t, kernel_t)
# 21x21 = 441 次/像素
DeepFaceLive_Zha:可分离卷积
kernel_1d = _make_gaussian_kernel_1d(sigma)
kernels = (
    Tensor.from_value(kernel_1d.reshape((1,-1))),  # 1xN
    Tensor.from_value(kernel_1d.reshape((-1,1)))) # Nx1
intermediate = depthwise_conv2D(input_t, kernels[0])
return depthwise_conv2D(intermediate, kernels[1])
# 21+21 = 42 次/像素
性能

FaceMarker 多脸批处理

原版对每一张人脸单独调用关键点模型推理(串行)。DeepFaceLive_Zha 把同一帧里的多张人脸堆叠成 batch 一次性推理,多人同框直播场景帧率更稳。默认开启,可用环境变量 DFL_MARKER_BATCH=0 关闭。

来源: backend/FaceMarker.py
用户影响
  • 单人直播:走单张分支,体验与原版一致
  • 多人同框(连麦/群播):FaceMesh / InsightFace_2D106 批量推理,帧率更稳
  • 失败自动降级:批处理异常时静默回退逐张,用户不会看到报错
  • :OpenCV LBF 走 CPU,仍逐张处理
🎥

二、输出与直播

backend/StreamOutput · xlib/streamer · FaceSoundPicture
新增

虚拟摄像头输出(OBS / UnityCapture)

原版仅支持窗口预览、保存序列、RTMP 推流,无虚拟摄像头支持。DeepFaceLive_Zha 基于 pyvirtualcam 实现 OBS Virtual Camera 和 UnityCapture 双后端,直播平台直接选择虚拟摄像头即可。

来源: backend/StreamOutput.py
实现细节
  • 双后端:OBS Virtual Camera(driver='obs')+ UnityCapture(driver='unitycapture')
  • UnityCapture 驱动自动安装:选择时若未安装自动弹出 UAC 提示安装
  • FPS 选择:AUTO / 25 / 30 / 45 / 60,AUTO 模式跟随实际处理帧率
  • 自适应 FPS:实际 FPS 偏差超 25% 且距上次打开 >6s 时自动重开
  • 失败退避:推送失败 5 秒退避后自动重试,不中断直播
原版 StreamOutput
# 仅支持窗口/推流/保存
cs.source_type.set_choices(SourceType)
# 无 virtualcam_backend 控件
# 无 pyvirtualcam 导入
DeepFaceLive_Zha 新增
class VirtualCamBackend(IntEnum):
    NONE = 0; OBS = 1; UNITYCAPTURE = 2
class VirtualCamFPS(IntEnum):
    AUTO = 0; FPS_25 = 25; FPS_30 = 30
    FPS_45 = 45; FPS_60 = 60
import pyvirtualcam
优化 稳定

异步推流 + 帧替换策略

原版推流为同步阻塞写入,ffmpeg stdin 写入阻塞会卡住合成线程,异常被静默吞掉。DeepFaceLive_Zha 重写为独立 writer 线程 + latest-frame 帧替换策略。

来源: xlib/streamer/FFMPEGStreamer.py(52 行 → 194 行)
改进项
  • 异步写入:独立 writer 线程消费 pending,主线程立即返回,不阻塞合成
  • latest-frame 策略:上一帧未写出就被新帧替换,旧帧标记 'superseded',保证观众看到接近实时画面
  • -flush_packets 1:立即刷新包,降低端到端延迟
  • 移除 -re:不再按墙钟限速,配合实时帧源
  • 结果反馈:poll_results() 返回每帧 frame_id、成功状态、写入耗时、detail(written/superseded/stopped/write_failed)
  • fps 自适应:fps_hint 参数(1-240)允许动态调整 ffmpeg 输入帧率
新增

音画同步模块(FaceSoundPicture)

原版无音画同步功能。DeepFaceLive_Zha 新增 FaceSoundPicture 模块,解决直播换脸场景下"声音比口型快/慢"的音画不同步问题。视频帧直接透传,仅处理音频延迟。

来源: backend/FaceSoundPicture.py(原版无此文件)
实现细节
  • 延迟范围:0-10000ms,步进 10ms,默认 2500ms
  • 平滑过渡:延迟变化时按 10ms/block 步进逼近目标值,避免爆音
  • 交叉渐变:延迟减少时丢弃少量帧并做 linspace(0,1) 交叉淡入淡出
  • 大跳变硬切换:延迟变化 >500ms 时直接重置,避免长时间杂音
  • 设备独占锁:_BC_OUT_LOCK 保证同一时间只有一个模块向 bc_out 写入,避免并发闪烁
  • 采样率:48000Hz,256 帧 block(约 10ms 颗粒度)
📷

三、摄像头输入

backend/CameraSource.py
新增

30 种分辨率档位(含 13 种竖屏)

原版仅 7 种横屏分辨率。DeepFaceLive_Zha 扩展到 30 种,新增 13 种竖屏分辨率(如 1080x1920),手机竖屏直播用户可直接选择,无需手动旋转。

来源: backend/CameraSource.py
新增档位
  • 横屏细分:480x270、640x360、854x480、960x540、1024x576、1152x648、1440x810、1600x900、1680x945、1792x1008
  • 竖屏整列:270x480、360x640、480x854、540x960、576x1024、648x1152、720x1280、768x1366、810x1440、900x1600、945x1680、1008x1792、1080x1920
新增 稳定

摄像头打开失败自动降级 + 黑屏自动重连

原版单次打开失败即放弃,掉线后画面卡死。DeepFaceLive_Zha 新增多重后备机制和黑屏检测自动重连。

来源: backend/CameraSource.py
后备机制
  • 多 API 后备链:主 API → MSMF → CAP_ANY → DSHOW
  • 分辨率逐档降级:同方向分辨率不匹配时自动降级到相近档位
  • FFMPEG dshow 兜底:全部失败再用 FFMPEG dshow 抓取
  • 黑屏检测:连续 20 帧(约 1 秒)无画面触发自动重连
  • USB 掉线恢复:直播过程中摄像头 USB 掉线、虚拟摄像头重启等自动恢复
兼容

YY开播 / OBS / 采集卡专项适配

原版无特殊设备识别。DeepFaceLive_Zha 专门适配直播常见设备,自动选择最稳定的抓取方式。

来源: backend/CameraSource.py
适配项
  • YY开播:强制 DSHOW + 横屏 1920x1080 / 竖屏 1080x1920
  • C100 采集卡 / OBS / 虚拟摄像头 / Webcast:优先 FFMPEG dshow 抓取(避免 OpenCV 黑屏问题)
  • 高分辨率 MJPG:1080p 及以上自动启用 MJPG 编码(USB 2.0 带宽下比 YUY2 节省一半,不卡顿)
  • 非 DSHOW 设备名:MSMF / GStreamer 驱动也能显示摄像头名称,不用盲猜序号
🎨

四、画质与合成

backend/FaceBeautifier · FaceMerger
新增

FaceBeautifier 美颜模块(9 维度)

原版无美颜功能。DeepFaceLive_Zha 新增完整实时美颜模块,基于人脸关键点 + 图像变形 + LAB 颜色空间调整实现,相当于把抖音/快手的美颜面板嫁接到 DFLive。

来源: backend/FaceBeautifier.py(原版无此文件)
9 个参数控件
  • 美白(0-100):LAB 颜色空间提亮 L 通道,比简单 BGR 增亮更自然
  • 瘦脸 / 大眼 / 瘦下颌 / 下巴形状 / 颧骨宽度 / 额头高度 / 下巴长度 / 脸部长度(各 0-100/150)
计算后端
  • CUDA 加速:CuPy 在 GPU 上预分配变形网格,每帧只更新变形量
  • 故障回退:CUDA 单次失败 5 分钟自动重试,连续 3 次永久锁定 CPU
  • 五官保护:基于 landmark 自动构建眼/鼻/嘴保护区高斯遮罩,瘦脸不扭曲五官
  • DirectML 兼容:老显卡环境用 NumPy CPU 后端,逻辑相同
新增

FaceMerger 动态保留(眼/嘴/牙 8 个控件)

原版 FaceMerger 只有基础面具融合参数。DeepFaceLive_Zha 新增眼睛、嘴巴、牙齿动态保留机制,换脸结果保留原始眨眼、说话、笑容等动态细节。

来源: backend/FaceMerger.py + 前端 QFaceMerger.py
新增控件
  • 动态保留眼睛(开关)+ 保留眼睛缩放(0.75-1.55)+ 眼睛边缘羽化(0-50)
  • 动态保留嘴巴(开关)+ 嘴巴边缘羽化(0-50)
  • 动态保留牙齿(开关)+ 牙齿缩放 + 牙齿边缘羽化(0-50)
:原版遮罩羽化范围(face_mask_erode -400~400,face_mask_blur 0~400)两版一致,未扩展。动态保留是真正的新增能力。
🔧

五、硬件兼容性

xlib/onnxruntime/runtime.py · device.py
新增 兼容

DirectML 老显卡支持

原版仅支持 CUDA。DeepFaceLive_Zha 新增统一 ORT 后端选择层,支持 CUDA / DirectML / CPU 三种后端自动选择。GTX 550 Ti 等老 N 卡(CUDA CC < 6.0)、A 卡、I 卡都能用 GPU 推理。

来源: xlib/onnxruntime/runtime.py(新增,485 行)
自动后端选择策略
  • 主流 NVIDIA → CUDA
  • 老显卡(GTX 550 Ti 等)+ 驱动 < 528.33 → DirectML
  • RTX 50 系列 → 强制 CUDA(避免 50 系驱动兼容问题)
  • 无 NVIDIA GPU → DirectML 探测可用则用,否则 CPU
  • DirectML sidecar 包独立探测(用随包 FaceMesh.onnx 实测可用性)
新增

多 GPU 自动选择

原版仅按设备索引顺序排列。DeepFaceLive_Zha 新增综合算力评分,自动选择性能最强的 GPU 作为默认。同时插 1660Ti + 4070Ti 会自动选 4070Ti。

来源: xlib/onnxruntime/device.py(188 行 → 431 行)
选择逻辑
  • 评分公式:SM 数 × 频率 × 核心数 + 显存带宽(通过 cuDeviceGetAttribute 采集)
  • 空闲显存感知:默认要求 ≥1.5GB 空闲,避免选到被占满的 GPU
  • TensorRT 优先:Turing+ RTX 设备优先,防止老 Pascal 卡占用主设备位置
  • DirectML 去重:同一 GPU 在 CUDA + DirectML 路径下会被枚举两次,按名称归一化去重
  • 失效配置修复:设备变更/驱动重装后,resolve_device_info 在可用列表里重新匹配
🛡️

六、稳定性与可靠性

xlib/avecl · backend · DeepFaceLiveApp
稳定

OpenCL kernel 保持 warm(避免周期性卡顿)

原版每次显存接近目标值都会触发 OpenCL kernel 重新编译(单次 100ms-1s),导致周期性卡顿。DeepFaceLive_Zha 仅释放缓冲池,kernel 保持 warm,仅在真实分配失败时才销毁 kernel。

来源: xlib/avecl/_internal/backend/Device.py(560 行 → 580 行)
原版:每次达标都销毁 kernel
def _keep_target_memory_usage(self):
    if targ != 0 and total >= targ:
        self.cleanup_cached_kernels()  # ⚠ 销毁所有
        self._release_random_pooled_buffers()
# 下帧需重新编译 kernel: 100ms-1s
DeepFaceLive_Zha:仅释放缓冲池
def _keep_target_memory_usage(self):
    if targ != 0 and total >= targ:
        # Keep compiled kernels warm
        self._release_random_pooled_buffers()
# 仅真实分配失败才销毁 kernel
稳定

流水线防卡死 + 启动/关闭保护

多维度稳定性保护,覆盖运行、启动、关闭全流程。

来源: backend/FaceMerger.py / FrameAdjuster.py / DeepFaceLiveApp.py
保护机制
  • 流水线 30 秒超时:下游停止时上游自动退出阻塞,避免界面卡死
  • 启动顺序恢复:模块按队列逐个恢复,前一个空闲后才恢复下一个,避免 CUDA OOM
  • 关闭超时保护:2 秒内退出,不被 TRT 冷构建阻塞
  • 模块恢复等待动画:恢复期间显示蓝色 loading + "等待恢复" tooltip,避免误点
  • FileSource/CameraSource 互斥:启动一个自动停止另一个,避免管线冲突
🔍

七、诊断与故障排查

QBackendPanel · CSWBase · xlib/time
新增 诊断

GPU/模块错误中文弹窗

原版模块崩溃时只会"图标变红、面板隐藏",用户完全不知道发生了什么。DeepFaceLive_Zha 自动从异常堆栈中提取关键信息,弹出标题为"模块运行错误"的中文对话框。

来源: ui/widgets/QBackendPanel.py + xlib/mp/csw/CSWBase.py(get_last_error_message)
识别的错误类型
  • 显存不足:提示"关闭占用显存的程序、降低检测窗口/分辨率,或改用显存更大的 GPU"
  • CUDA 失败:提示"确认 NVIDIA 驱动不低于 528.33,检查显存是否足够"
  • DirectML 失败:提示"更新显卡驱动;仍失败时改用 CUDA 或 CPU"
  • TensorRT 失败:提示"确认 TRT 运行时与定制 ORT 版本匹配"
  • 敏感信息脱敏:自动遮蔽 64 位 hex(密钥/哈希)和 UUID
新增

TensorRT 首次运行中文提示

启动 300ms 后检测显卡是否支持 TensorRT,若支持且未确认过,弹出 Information 弹窗:"显卡支持 RTR 优化,首次加载模型需要转换 1-3 分钟。"避免新用户误以为程序卡死。

来源: DeepFaceLiveApp.py(_show_tensorrt_first_run_notice)
优化

FPS 显示修正

原版 FPSCounter 用 N 个采样点除以时间差(len/div),多算一帧,30fps 实际显示约 60fps。DeepFaceLive_Zha 修正为 (len-1)/div,并使用 time.perf_counter() 单调时钟,NTP 校时不再导致 FPS 跳变。

来源: xlib/time/time_.py(85 行 → 87 行)
原版:数值虚高一倍
def step(self):
    steps.append(datetime.now().timestamp())
    if len(steps) >= 2:
        return len(steps) / div  # ⚠ 多算 1
# 30fps 显示 60fps
DeepFaceLive_Zha:真实 FPS
def step(self):
    steps.append(time.perf_counter())  # 单调时钟
    if len(steps) >= 2:
        return (len(steps)-1) / div
# 30fps 显示 30fps
🖥️

八、交互与界面

DeepFaceLiveApp.py · QBackendPanel
优化

启动流程与界面细节

多项界面交互改进,提升用户操作体验。

来源: DeepFaceLiveApp.py + QBackendPanel.py
改进项
  • 启动进度中文文字:原版 Splash LOGO 画面改为外部启动器读取进度文件显示中文进度
  • 新增"工具"菜单:RVC 一键启动 + 自动下载/退出时自动安装更新开关
  • QFaceSwapDFM 集成外部遮罩:换脸面板内即可启用 FaceXSeg,无需到 Merger 面板
  • 模型分辨率自动同步:加载新 dfm 模型后自动同步 FaceAligner 分辨率
  • loading 颜色:黄色 → 品牌蓝(#4A90D9)
  • 模块布局:列宽 256 → 270,第 3 列重组为美颜+帧调整+音画同步+换脸
📋

诚实告知:功能变化

以下变化需用户知悉
变化

模型加密授权(.zha 格式)

原版使用 .dfm 明文模型,可自由共享。DeepFaceLive_Zha 改为 .zha 加密格式 + HWID 硬件绑定 + 在线授权,必须通过官方启动器登录授权后才能加载模型。

来源: modelhub/DFLive/DFMModel.py + zha_model_crypto.py
  • 对正版用户:版权保护,防止模型被盗用、二次分发
  • 对老用户:不能再自由使用网上下载的 .dfm 模型,必须使用官方授权模型
  • 需保持联网:长时间(>24 小时)不联网会逐步降帧(最低 2 FPS)
移除

移除 FaceAnimator 模块

原版有 FaceAnimator 模块(基于音频驱动口型开合、驱动表情动画)。DeepFaceLive_Zha 已移除该模块,不再支持表情动画驱动。如需口型对齐,可用 FaceSoundPicture 做被动音频延迟对齐。

来源: backend/ 目录下无 FaceAnimator.py,前端无 QFaceAnimator.py
移除

移除 target_delay 控件

原版 StreamOutput 有 target_delay 控件(0-5000ms 输出缓冲延迟,用延迟换稳定性)。DeepFaceLive_Zha 移除该控件,追求最低延迟(适合实时直播),但失去了用延迟换稳定的选项。

来源: backend/StreamOutput.py
Ready to Try

现在就体验一下差距

DeepFaceLive_Zha 把 DeepFaceLive 从"发烧友工具"进化成"拿来就能直播的生产力工具"。