10 秒视频克隆你的脸和声音:本地部署数字人 Duix.Avatar 完整教程
【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar
Duix.Avatar 是一款完全开源、可以本地部署数字人的离线视频合成工具:你上传一段 10 秒左右的真人视频,它就能克隆出你的形象和声音,之后输入文案或上传音频,就能自动产出口型对得上的播报视频。适合想批量做口播内容、录课、拍产品介绍的普通电脑用户,全程不联网,素材不用上传到任何云端。本文带你从硬件清单、环境准备,一路搭到生成第一条数字人视频,并附上排错表和 API 用法。
动手前准备:硬件与环境前置清单
部署前先把下面这张清单核对一遍,任何一项不满足都会在后面卡住:
| 项目 | 要求 |
|---|---|
| 显卡 | 必须有 NVIDIA 显卡(本项目所有算力走本地 CUDA,没有它服务起不来) |
| 显存 | 建议 12GB 及以上 |
| 内存 | 32GB 及以上,16GB 勉强可用但启动偏慢 |
| CPU | 第 13 代 i5 级别(如 i5-13400F)或同级 |
| 磁盘 | 镜像和数据约 100GB,数字人与作品存储另留 30GB 以上(Windows 下建议数据放 D 盘) |
| 系统 | Windows 10 19042 及以上,或 Ubuntu 22.04 |
| 软件 | Windows 需装好 WSL2 与 Docker Desktop;Ubuntu 需 Docker 与 NVIDIA Container Toolkit |
| 网速 | 首次拉取镜像约 70GB 流量、半小时左右,建议连 WiFi |
注意:客户端是桌面程序,服务端是三个 Docker 容器,两者缺一不可,后面会分别装。
第一次跑通:从零到生成第一条视频
👇 以下按顺序执行,每步都告诉你执行后会看到什么。
第 1 步:检查 WSL
wsl --list --verbose列出子系统说明已装好;如果提示不存在,执行wsl --install安装并设置用户名密码,装完用wsl --update更新一次内核。
第 2 步:装好 Docker Desktop
首次启动时接受用户协议、跳过登录,进入 Docker 设置确认 WSL 后端正常。C 盘空间不足 100GB 时,在 设置 → Resources → Advanced 里把镜像存储目录挪到别的盘:
第 3 步:获取项目代码
git clone https://gitcode.com/GitHub_Trending/he/Duix-Avatar执行后得到 Duix-Avatar 目录,服务端配置都在deploy/里。
第 4 步:启动三个服务容器
cd deploy docker-compose up -d首次执行会拉取 ASR、TTS、视频合成三个镜像,耗时约半小时。想省显存可以改用轻量版:docker-compose -f docker-compose-lite.yml up -d(只有一个Duix.Avatar-gen-video服务)。拉取经常卡在 Docker Hub 连接超时,此时按排错表第 1 条配置国内镜像源再重试。
第 5 步:确认服务全部 Running
docker ps你会看到duix-avatar-asr、duix-avatar-tts、duix-avatar-gen-video三个容器状态均为 Running,分别对外暴露 10095、18180、8383 端口:
第 6 步:安装并启动客户端
从项目 Releases 下载对应系统安装包(Windows 是 exe,Ubuntu 是 AppImage,双击即可用),启动后确认"我的数字人"页面能正常加载,加载成功说明客户端已连上本地服务。
第 7 步:创建你的第一个数字人
准备一段 10–15 秒的正面讲话视频(必须有声音,光线均匀、脸部占画面 60% 以上),点击 Create Avatar 上传,几秒到半分钟内处理完,"My Avatars" 列表里就会出现这张数字人卡片:
第 8 步:生成第一条视频
在 Create Video 里选中刚建好的数字人,输入一段文案(或上传音频),点击生成,等待 1–3 分钟后得到口型对齐的口播视频。到这里,本地数字人系统就跑通了。
深入使用:克隆、生成、看日志三件套
功能一:创建数字人(克隆外貌 + 声音)
- 能做什么:一段带声的短视频,同时克隆出"脸"和"声",之后这个人就能替你说任何文案。
- 怎么操作:
- 录制 10–15 秒正面视频,单一背景、光线充足,全程对着镜头说话;
- 首页点 Create Avatar,上传视频并起个名字;
- 等待处理完成(客户端会自动分离音频轨道,声音部分走 TTS 服务克隆);
- 在 My Avatars 列表确认卡片出现。
- 预期效果:上传一段 10 秒视频,得到一个可随时复用的数字人;换文案不用重新训练。
功能二:生成数字人视频(文字驱动口型)
- 能做什么:给文案或给音频,输出人物开口说话的视频,本地完成语音合成与口型对齐。
- 怎么操作:
- 点 Create Video,从列表选一个数字人;
- 输入文本(走 TTS 合成语音),或直接上传现成音频(走原声驱动);
- 点击生成,等待渲染;
- 在 My Works 里预览并保存成片。
- 预期效果:1 分钟文案大约 3–5 分钟出片;客户端内置 8 种语言(中、英、日、韩、法、德、阿、西)脚本,配合多模型管理,可以建多个形象做系列内容。
功能三:查日志定位问题
- 能做什么:创建或生成失败时,先分清是客户端问题还是服务问题。
- 怎么操作:
- 客户端点右上角设置菜单 → Open Log,打开客户端日志;
- 服务端问题则在 Docker Desktop 里点进对应容器,复制 Logs 面板内容;
- 对照 常见问题文档 里的报错样例比对。
- 预期效果:日志里
Connection refused、file not exists这类关键字,能直接对应到下面排错表里的条目。
排错速查表:五个高频问题
| 现象 | 原因 | 解法 |
|---|---|---|
docker-compose up -d拉镜像超时,报request canceled/Client.Timeout | Docker Hub 官方源连接不稳定 | 在 Docker 设置 Docker Engine 里加registry-mirrors镜像源后 Apply & restart,再重新执行拉取 |
| 三个容器起不来或反复重启 | 没有 NVIDIA 显卡或驱动没装对 | 执行nvidia-smi确认能显示显卡信息,装好驱动后重启 Docker 再试 |
| 新增模特报错,提示文件不存在 | 上传的视频没有声音或没人在说话 | 换一段全程说话的 10 秒以上视频重新上传 |
定制模特时Connection refused | ASR 服务启动慢还没就绪,或内存不足 16GB | 服务启动后等几分钟再操作;内存小的机器升级内存 |
| 渲染时 CUDA 显存不足 | 其他程序占着显存 | 关掉占 GPU 的程序,或降低输出分辨率 |
配置镜像源的位置长这样,在 Docker Engine 配置 JSON 里加一段registry-mirrors:
进阶扩展:用 API 把数字人接进自己的系统
服务端起来后会在本地暴露 HTTP 端口,你可以在自己程序里按"克隆语音 → 合成音频 → 合成视频"三步调用,不用走客户端界面。举两个最常用的:
- 语音克隆合成:
POST http://127.0.0.1:18180/v1/invoke,请求体传要合成的text,以及克隆阶段返回的reference_audio/reference_text,返回一个 wav 文件路径。 - 视频生成:
POST http://127.0.0.1:8383/easy/submit,传上一步得到的audio_url、数字人对应的video_url和一个唯一code;再GET http://127.0.0.1:8383/easy/query?code=xxx轮询进度,完成后拿到成片。
客户端里这些调用的完整参数写法,可以直接参考 src/main/service/ 目录下的 model.js、video.js、voice.js,照抄参数即可。
写在最后
数字人克隆、语音合成、视频渲染全部发生在你的机器上,意味着素材不落地云端,跑通之后搭一条"文案进、成片出"的自动化内容流水线只是时间问题。更多报错样例和截图,直接翻 常见问题 即可。
【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考