Duix.Avatar:10秒视频克隆数字人,从部署到出片全记录
【免费下载链接】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 秒左右带人声的视频,就能克隆你的形象和声音,之后输入文案或上传音频,自动生成口型同步的口播视频,全程离线,素材不出机器。
🧩 它到底是什么
Duix.Avatar 是硅基智能开源的数字人工具箱,开源协议支持全球免费商用(用户量超 10 万或年营收超 1000 万美元的企业需签商业许可协议,仓库根目录有协议 PDF)。核心能力一句话:一段 10 秒视频完成形象 + 声音克隆,文案驱动生成口播视频。形态上,客户端是 Electron 桌面应用,服务端是 Docker 拉起的三个本地服务,算力全部在自己机器上。
- 10 秒视频克隆形象与声音
- 文字、音频两种驱动方式
- 全离线,素材不上传
- 8 种界面语言
- Docker 一键起服务端
- 开放本地 API 可二次集成
🏃 跟我做一次
先对一下硬件要求,后面全用得上:Windows 10(19042.1526 及以上)或 Ubuntu 22.04,NVIDIA 显卡(30/40/50 系列均可)+ 已装好驱动,内存 32G,磁盘留 100G 以上,首次拉镜像约 70G 流量。
拿到代码只需一行:
git clone https://gitcode.com/GitHub_Trending/he/Duix-Avatardeploy目录里放好了四份 docker-compose:Windows 用默认的docker-compose.yml,Ubuntu 用docker-compose-linux.yml,RTX 50 系显卡用docker-compose-5090.yml,只想要视频合成那一个服务(跳过声音克隆)就用docker-compose-lite.yml。进目录执行:
cd deploy docker-compose up -d剩下就是等,半小时上下,Docker 会把三个服务(TTS、ASR、视频合成)的镜像拉下来跑起来。Windows 用户留意一点:C 盘要装得下 100G 的镜像文件,空间不够就去 Docker Desktop 的 Settings → Resources → Disk image location,把镜像目录挪到别的盘再 Apply:
服务端就绪后,从项目 Releases 下载对应系统的客户端安装包,Windows 双击 exe 安装,Ubuntu 直接运行 AppImage(root 用户需加--no-sandbox)。打开客户端点 Create Avatar,上传那段 10 秒视频,克隆完成后你的第一个数字人就在 My Avatars 里了。接着点 Create Video,输入文案或上传音频,生成结束,第一条口播视频出现在 My Works 列表中。
🎬 看看效果
生成完成后,My Works 里按时间排列着所有作品,支持关键词搜索和分页浏览,点开就能播放、下载或基于同一模特重做。右上角 Setting 菜单里可以切换界面语言,共支持中文、英文、日、韩、法、德、阿拉伯、西语 8 种,文案跟着界面语言走。
两种驱动方式的差别很直接:文字驱动时,系统先用克隆的声音把文案读成音频再驱动口型,适合批量出稿;音频驱动则直接拿你上传的音频对口型,适合已有配音、不想重新合成的情况。
🔍 拆开看看
如果你打开源码目录,客户端的后端逻辑集中在src/main/service/下,三个文件各管一段:
- model.js:新增模特。用 ffmpeg 把上传视频转成 h264、分离音轨,音频送去做声音克隆,形象模型写入本地 SQLite。
- voice.js:声音克隆与合成。先调 ASR 接口拿到参考音频的文本,之后把文案发给 TTS 服务,用克隆音色合成语音。
- video.js:成片组装。把音频和模特视频提交给 8383 端口的合成接口,轮询进度并更新作品列表。
整条数据流四步走:
- 视频拆轨:ffmpeg 提取音轨,ASR 识别出参考文本
- 声音克隆:参考音频 + 文本入库,建立音色
- 语音合成:文案 → 克隆音色的 wav
- 视频合成:wav + 模特视频 → 口型同步成片
不想走客户端,Docker 起来后所有能力都以本地 API 暴露:合成任务提交到http://127.0.0.1:8383/easy/submit,用/easy/query?code=xxx查进度;声音侧是 18180 端口的/v1/preprocess_and_tran(克隆)和/v1/invoke(合成)。参数样例都写在上面三个源码文件和 README 的 API 一节里,照着请求即可。
⚠️ 你可能撞上的坑
拉镜像超时,报 request canceled。Docker Hub 官方源对国内网络不稳定。解法:在 Docker 配置里加registry-mirrors配国内镜像源,改完 Apply & restart 再重新docker-compose up -d:
新增模特直接报错。最常见原因是上传的视频里没有声音或没有人说话——程序要用这段声音做声音克隆。重拍一段 10–20 秒、人脸清晰且在说话的视频再传。
定制模特报 Connection refused。ASR 服务启动比较慢,服务端刚拉起就点克隆会连不上。等几分钟再操作;另外 16G 内存的机器可能根本拉不起这套服务,32G 是实打实的要求。
卡在某个进度不知道查哪。客户端日志在 Setting 菜单的 Open Log,本地是 logs 目录下的 main.log;服务端日志去 Docker 里点对应容器的 Logs 页签,生成卡 20% 这类问题基本能在 TTS 容器的日志里看到音频路径报错:
⚖️ 适合谁 / 不太适合谁
适合:
- 手上有 NVIDIA 独显机器,想不出镜批量做口播、教学、宣传视频
- 素材涉隐私或商业机密,要求全离线处理
- 开发者,想通过本地 API 把数字人生成接进自己的产品
- 需要多语言内容,用 8 种界面语言分别产出不同语种版本
不太适合:
- 没有 NVIDIA 显卡或内存不足 32G,三个服务跑不起来
- 希望五分钟跑起来,接受不了半小时拉镜像和 70G 的磁盘占用
- 追求广播级的口型精度,本地版官方定位是"效果可用"
- 用户规模很大的商业化落地,商用前先核对 LICENSE 里的签署门槛
把"数字人视频"从按分钟计费的云端服务,变成一套能躺在自己机房里的工具,代价就是一张 NVIDIA 显卡和 100G 磁盘。部署被卡住时先翻 doc/常见问题.md,上面几个坑基本都有记录;商用授权条款看 LICENSE 和仓库里的协议 PDF。机器够的话,先拉镜像,从 lite 版本试起。
【免费下载链接】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),仅供参考