Duix.Avatar 去水印完整指南:5 步解锁无水印口播视频输出
【免费下载链接】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
一、你卡住的,是视频角落的那块水印
数字人口播视频最常卡住人的地方有两个:导出的成片角落多了一块水印,"能看"变"不能直接用";或者你用本地接口搭了自建内容系统,同一个模型出的视频有的带水印、有的不带,谁也说不出差在哪一环。两类问题的根源是同一个参数:watermark_switch,它是视频合成服务决定是否往成片里烧录水印的总开关。
- 看懂 Duix.Avatar 无水印功能在项目中如何生效
- 逐字段读懂合成请求里的
watermark_switch等参数 - 用 5 步验证你的视频是无水印输出
- 掌握 3 个高频故障的「现象→排查→解决」处理法
二、无水印功能定位与原理速览
Duix.Avatar 的视频合成分两层:桌面客户端负责收集文案、音频和模特,本地 Docker 服务(face2face 引擎)负责真正渲染,而水印就是在渲染层加上去的。客户端每提交一次合成任务,都会通过watermark_switch告诉引擎"加不加水印"。
核心代码在 src/main/service/video.js,这段代码负责组装一次视频合成的请求参数:
async function makeVideoByF2F(audioPath, videoPath) { const uuid = crypto.randomUUID() const param = { audio_url: audioPath, // 音频路径:本次口播的语音文件 video_url: videoPath, // 视频路径:模特(形象)的视频 code: uuid, // 唯一任务编号,供后续查询进度 chaofen: 0, // 口型重叠参数,常规保持 0 watermark_switch: 0, // 水印开关:0 = 无水印,1 = 加水印 pn: 1 // 合成任务优先级,常规保持 1 } const result = await makeVideoApi(param) return { param, result } }参数随后被发到本地服务接口(见 src/main/api/f2f.js),这段代码只做了最薄的一层转发:
export function makeVideo(param) { return request.post(`${serviceUrl.face2face}/submit`, param) }在官方客户端里watermark_switch固定为 0,也就是你正常生成的视频本来就是无水印的——这正是开源本地部署的优势:不存在免费版/专业版之分,去水印无需升级任何订阅。三种常见使用方式的能力差异如下:
| 使用方式 | 水印状态 | 控制方式 | 适用场景 |
|---|---|---|---|
| 官方桌面客户端 | 无水印(固定 0) | 无需操作,客户端自动组装 | 日常口播视频生成 |
| 自建系统调用本地 API | 由你决定 | 请求体中watermark_switch传 0 或 1 | 自建内容系统、批量任务 |
| 第三方封装 / 旧版服务容器 | 视版本可能带水印 | 取决于该版本的请求参数 | 使用前先验证传参 |
三、最小可行路径:5 步验证无水印输出
这一节的目标是走通"打开客户端到确认成片无水印"的最短链路,全程约 5 分钟(不含合成耗时):
- 启动本地服务:在 deploy/ 目录执行
docker-compose up -d,等 3 个容器全部 Running。 - 打开 Duix.Avatar 客户端,选择一个已训练好的模特(形象)。
- 输入口播文案(或直接上传音频),点击"生成视频"。此时客户端已向合成引擎发出
watermark_switch: 0的任务。 - 等待合成完成,在"我的作品"页查看视频预览。
- 导出视频文件,用外部播放器检查画面四角与中央,确认没有任何水印。
整条链路可以概括为:
客户端首页长这样,"Create Video" 横幅就是口播视频生成入口:
四、三类使用方式的无水印分场景方案
根据你使用 Duix.Avatar 的方式不同,"去水印"要做的事不一样,下面三个小节对应三类用户。
4.1 官方桌面客户端用户:无需配置,只需验证
官方客户端已把watermark_switch写死为 0,设置面板里既没有"添加水印"的开关,也不存在误开启的可能,你只需跑通一次生成流程并检查导出文件。若成片仍发现水印,先别改客户端参数,按第六节的排错流程确认水印是否来自服务端容器。
4.2 自建系统用户:调用 API 时自行配置参数
如果你绕过客户端,直接调用本地合成接口http://127.0.0.1:8383/easy/submit(服务地址定义在 src/main/config/config.js),就需要自己组装请求参数:把请求体中的watermark_switch字段置为0即可无水印输出;将来想给某些素材加品牌水印,把它改成1即可,同一套接口无需切换服务。
风险提醒:只改动你自己系统里的请求参数。服务容器内运行的是第三方开源代码,不要修改容器镜像里的源码文件——这类改动可能违反服务条款,也大概率在服务升级时被覆盖还原。
4.3 离线 / 内网环境用户:重点防传参错位
全离线环境下客户端与服务在同一台机器,接口地址就是本地127.0.0.1,不存在"连不上"的问题,真正的风险是"参数传给了错误版本":如果服务容器升级了而客户端还是旧版本,请求参数结构可能不匹配。建议每次升级服务后都做一次验证——生成一条视频,并在客户端日志里确认提交请求中的watermark_switch仍是 0。
五、进阶与定制:读懂合成请求的全部参数
如果你要调用 API 自建系统,就需要把请求体每个字段的确切含义弄明白,视频合成用到的字段全部在下表中:
| 参数 | 含义 | 推荐值 | 备注 |
|---|---|---|---|
| audio_url | 本次口播的语音文件路径 | 你的实际 .wav 路径 | 需可被服务容器读到 |
| video_url | 模特的形象视频路径 | 你的实际 .mp4 路径 | 需可被服务容器读到 |
| code | 唯一任务编号 | 由crypto.randomUUID()生成 | 查询进度接口复用同一值 |
| chaofen | 口型重叠参数 | 0 | 常规场景保持 0 |
| watermark_switch | 水印开关 | 0 | 0 = 无水印,1 = 加水印 |
| pn | 任务优先级 | 1 | 常规场景保持 1 |
任务提交后用http://127.0.0.1:8383/easy/query?code={任务编号}轮询进度,status变为 2 表示合成完成,返回的result是结果视频的文件名。一条正常流程从"提交任务"经过"进度 0→100"再到"拿到结果文件",耗时取决于视频长度与显卡性能,通常几十秒到几分钟。最终文件落在本地数据目录:Windows 为D:\duix_avatar_data\face2face\temp,Linux 为~/duix_avatar_data/face2face/temp(路径逻辑同样定义在 src/main/config/config.js)。
六、无水印输出排错与验证高频问题
以下三个问题按「现象 → 排查 → 解决」展开,覆盖绝大多数"以为无水印却不是"的场景。
6.1 现象:导出的视频上仍有水印
排查:打开客户端右上角 Setting 菜单,选择 "Open Log" 查看提交记录,确认请求中watermark_switch的实际取值,入口如下图:
解决:日志里是 0 但成片仍有水印,说明水印来自服务端容器侧(合成引擎不同版本的水印行为),此时对照 deploy/ 目录下的 docker-compose 文件确认镜像版本,升级服务容器到最新版本后重新生成验证。
6.2 现象:提交任务直接失败,视频没生成
排查:合成接口默认指向127.0.0.1:8383,容器没起来时会立刻出现连接被拒或超时。在 Docker 里确认 3 个服务是否 Running,并用nvidia-smi确认显卡驱动正常。
解决:回到 deploy/ 目录重新执行docker-compose up -d重建服务,等容器全部 Running 后再点生成。
6.3 现象:合成成功但找不到视频文件
排查:客户端把成片写入本地数据目录,而不是"下载"之类的系统位置,去常规位置找会扑空。
解决:直接到D:\duix_avatar_data\face2face\temp(Windows)或~/duix_avatar_data/face2face/temp(Linux)按最新时间戳找 mp4 文件;或者用客户端"我的作品"页的导出入口另存到指定位置,更稳妥。
七、小结
Duix.Avatar 的无水印能力本质就是合成请求里的watermark_switch: 0:官方客户端已替你写死,自建系统调用 API 时传 0 即可,任何"疑似带水印"的情况都可以从客户端日志的提交参数查起。现在就可以去生成一条视频、逐角检查画面——没有水印,验证就完成了。下一篇我们继续以这套本地服务为入口,讲chaofen等影响口播视频质量的合成参数怎么调。
【免费下载链接】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),仅供参考