Duix.Avatar 如何把一段10秒视频变成成片口播:数字人专家完整指南
2026/9/11 2:32:20 网站建设 项目流程

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

"做一条数字人视频"听着简单,真正卡在门槛上的从来不是算法,而是工程:租 GPU 服务器、把真人形象和声音传到云上(隐私问题)、按分钟计费;想在本地自己搭,又得把 ASR、语音合成、口型驱动三段服务手动串起来,漏一环整条链路就断。Duix.Avatar 解决的就是这个痛点——一个完全开源、完全离线的数字人工具箱:提交一段 10 秒左右的视频即可完成形象与声音克隆,输入文案后自动产出口播视频,全部算力跑在自己机器上。

🎯 为什么需要它

项目结构分两层:/deploy下的三个 Docker 容器是引擎房——ASR、语音合成、face2face 口型驱动各管一段算力;src/main/service/主进程服务层是"数字人专家"——它自己不跑模型,但决定每个请求去哪个服务、什么时候轮询、失败时怎么办。你只和客户端打交道,它负责把编排做完。

🔗 跟一条完整链路走一遍

拿最能代表它能力的任务来说:

你只需要对它说:"把这段 10 秒视频克隆成数字人,让他念一段文案。"

输入只有三样:一段 10 秒视频、一个名字、一段文案。整条链路如下:

toH264() → extractAudio() → preprocess_and_tran() → makeAudio4Video() → makeVideoByF2F() → loopPending()

处理分两段。第一段是克隆:专家先用 ffmpeg 把视频统一转成 H.264,再抽出音轨转成 wav,调语音服务的训练接口拿到两个声音参考参数,供之后所有语音合成复用;形象与声音写入本地数据库,才算克隆完成。第二段是合成:文案先经 TTS 变成语音(用户若上传了自己的录音则直接采用),再为任务生成唯一编号,把语音和形象视频提交给 face2face 服务,状态置为 pending。

输出端:客户端每 2 秒轮询一次查询接口,成功后用 ffmpeg 读出成片时长并回填作品列表,可直接预览、导出。

边界处理同样明确:整条链路走单一队列,一次只合成一个任务;任何一步报错,状态直接标 failed 并把服务端原始报错写进记录,不会挂死;TTS 请求参数全部固定默认值,不允许手调。

✅ 让它不出错的几条内置规则

  • 一套状态机 + 一个队列:每个视频任务固定走 draft → waiting → pending → success / failed,轮询器每轮只取队首的 pending 任务,GPU 不会被两个任务同时抢占,作品列表里的顺序就是真实执行顺序。
  • 凭证据判成功:查询接口返回成功码且状态为"生成完成"才判成功,再回读时长入库;其余一切码值一律标 failed 并保留服务端原始报错——没有证据不下结论。
  • 参数固定不漂移:TTS 的合成参数(temperature、topP 等)全部写死默认值,用户只提供文案与声音,传参由专家兜底,结果可复现。

🚫 它不碰什么、交给谁

专家只编排,不跑模型:face2face 口型驱动算法在 duix.avatar 服务端镜像里,ASR 与语音合成分别在 fun-asr、fish-speech-ziming 服务里,涉及算法改动的需求不接手 → 转交给对应的服务端镜像。例如"我想换一种口型效果",它给出的只有交接规格——把语音和形象视频路径传到位,合成本身由 face2face 服务负责。

📁 相关路径

  • deploy/:三套服务端启动配置(标准 / lite / 5090)
  • src/main/service/video.js:合成队列与轮询的完整逻辑
  • doc/常见问题.md:服务状态、显卡与日志的自查清单

🚀 怎么用起来

  1. git clone https://gitcode.com/GitHub_Trending/he/Duix-Avatar
  2. /deploy目录执行docker-compose up -d,等三个服务全部 Running(镜像下载约 70G 流量;NVIDIA 50 系显卡改用docker-compose-5090.yml,Ubuntu 22.04 用docker-compose-linux.yml
  3. 启动客户端,上传 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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询