garycaogan/ai-live-avatar

AI 实时直播间:Vidu S2 实时数字人 + 弹幕过滤调度 + 衣柜换装 + OBS 叠层(角色资产不含)

这是什么

ai-live-avatar 是一个真实可运行的项目,让AI生成的数字人主持自己的直播。观众发送聊天消息(弹幕),AI虚拟形象实时回复、换装或执行手势——全部由 Vidu S2实时数字人 服务渲染。这个仓库是使其成为可能的“中间层”:它过滤并调度传入的评论,管理虚拟形象的人设和衣橱,渲染直播叠加层,提供本地控制工作台,并输出到OBS或直接推流。

工作原理

  • Vidu S2 生成虚拟形象的视觉、语音和口语回复。本项目不训练或渲染虚拟形象本身——它编排Vidu的API。
  • 评论管道:传入的弹幕通过过滤器(moderation.json中的黑名单),然后基于规则的路由器(live/router.py)将每条消息分类为聊天、换装、道具、背景、动作或恢复。路由器不使用LLM——它快速且免费。
  • 排队:评论被排队,以便虚拟形象在回复完一条后再处理下一条。礼物不会插队。
  • 衣橱:每套服装都是一张完整的照片(与基础图像相同的房间、灯光、构图)。换装会使用新照片重启Vidu会话,大约需要6秒。
  • 动作:关键词触发小手势(比心、挥手、眨眼)。空闲闲聊来自人设定义的话题池。
  • 叠加层与推流:舞台页面提供虚拟形象流、透明叠加层和信息卡片。输出到OBS(通过浏览器源或WebSocket控制)或直接RTMP推流。

你需要什么

  • macOS/Linux,Python 3.11+,带libx264和aac的ffmpeg
  • Vidu API密钥(付费;官方费率约169元/小时)
  • 可选:用于生成角色图像/服装/背景和语音克隆的Evolink API密钥;OBS 30+;YouTube推流密钥
  • 你自己的角色资产——作者的图像、语音和人设不包含在内(gitignored)

快速开始

  1. 克隆,创建venv,安装依赖,获取阿里云RTC厂商SDK,将config.example.json复制为config.json。
  2. 将API密钥存储在~/.deepsea/中,并设置受限权限。
  3. 运行python server.py;打开http://127.0.0.1:28900/workbench访问工作台。
  4. 创建角色:上传基础图像,编写人设和开场白,添加服装,选择/克隆语音,配置动作关键词。
  5. 连接OBS(提供浏览器源URL)或直接推流。模拟模式(tests/dev_mock_stack.py)允许你在不消耗Vidu积分的情况下测试完整流程。

值得注意的设计决策

  • 默认禁用背景/道具更改:在测试中,流中视觉编辑导致虚拟形象的衣服变形。可以通过config.json启用,但作者警告不要在公共流中使用。
  • 自动恢复:如果Vidu在流中中断,服务器可以在3秒后重启会话(每小时最多6次),除非中断是由于积分不足或内容审核。
  • 弹幕来源:通过提供的桥接脚本支持YouTube聊天;中国平台需要其官方直播互动API(而非网页抓取)。项目不包含抖音集成。
  • 合规性:叠加层永久显示“AI实时生成”标签,这是AI虚拟形象直播的平台规则要求。

结论

这是一个功能齐全、MIT许可的工具,用于运行AI主持的直播,支持实时聊天互动、换装和手势——不是演示或教程。它实用,但需要付费API积分、你自己的角色资产和一些设置工作。

相关

  • 项目
  • 项目
  • 项目
  • 项目