Skip to content

lipku/LiveTalking

Repository files navigation

English | 中文版
实时交互流式数字人,实现音视频同步对话。基本可以达到商用效果 wav2lip效果 | ernerf效果 | musetalk效果
国内镜像地址:https://gitee.com/lipku/LiveTalking

为避免与3d数字人混淆,原项目metahuman-stream改名为livetalking,原有链接地址继续可用

News

  • 2024.12.8 完善多并发,显存不随并发数增加
  • 2024.12.21 添加wav2lip、musetalk模型预热,解决第一次推理卡顿问题。感谢@heimaojinzhangyz
  • 2024.12.28 添加数字人模型Ultralight-Digital-Human。 感谢@lijihua2017
  • 2025.2.7 添加fish-speech tts
  • 2025.2.21 添加wav2lip256开源模型 感谢@不蠢不蠢
  • 2025.3.2 添加腾讯语音合成服务
  • 2025.3.16 支持mac gpu推理,感谢@GcsSloop
  • 2025.5.1 精简运行参数,ernerf模型移至git分支ernerf-rtmp
  • 2025.6.7 添加虚拟摄像头输出
  • 2025.7.5 添加豆包语音合成, 感谢@ELK-milu
  • 2025.7.26 支持musetalk v1.5版本

Features

  1. 支持多种数字人模型: ernerf、musetalk、wav2lip、Ultralight-Digital-Human
  2. 支持声音克隆
  3. 支持数字人说话被打断
  4. 支持全身视频拼接
  5. 支持webrtc、虚拟摄像头输出
  6. 支持动作编排:不说话时播放自定义视频
  7. 支持多并发

1. Installation

Tested on Ubuntu 24.04, Python3.10, Pytorch 2.5.0 and CUDA 12.4

1.1 Install dependency

conda create -n nerfstream python=3.10
conda activate nerfstream
#如果cuda版本不为12.4(运行nvidia-smi确认版本),根据<https://pytorch.org/get-started/previous-versions/>安装对应版本的pytorch 
conda install pytorch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 pytorch-cuda=12.4 -c pytorch -c nvidia
pip install -r requirements.txt
#如果需要训练ernerf模型,安装下面的库
# pip install "git+https://github.com/facebookresearch/pytorch3d.git"
# pip install tensorflow-gpu==2.8.0
# pip install --upgrade "protobuf<=3.20.1"

安装常见问题FAQ
linux cuda环境搭建可以参考这篇文章 https://zhuanlan.zhihu.com/p/674972886
视频连不上解决方法 https://mp.weixin.qq.com/s/MVUkxxhV2cgMMHalphr2cg

2. Quick Start

如果访问不了huggingface,在运行前

export HF_ENDPOINT=https://hf-mirror.com

3. More Usage

使用说明: https://livetalking-doc.readthedocs.io/

4. Docker Run

不需要前面的安装,直接运行。

docker run --gpus all -it --network=host --rm registry.cn-zhangjiakou.aliyuncs.com/codewithgpu3/lipku-livetalking:toza2irpHZ

代码在/root/livetalking,先git pull拉一下最新代码,然后执行命令同第2、3步

提供如下镜像

5. 性能

  • 性能主要跟cpu和gpu相关,每路视频压缩需要消耗cpu,cpu性能与视频分辨率正相关;每路口型推理跟gpu性能相关。
  • 不说话时的并发数跟cpu相关,同时说话的并发数跟gpu相关。
  • 后端日志inferfps表示显卡推理帧率,finalfps表示最终推流帧率。两者都要在25以上才能实时。如果inferfps在25以上,finalfps达不到25表示cpu性能不足。
  • 实时推理性能
模型 显卡型号 fps
wav2lip256 3060 60
wav2lip256 3080Ti 120
musetalk 3080Ti 42
musetalk 3090 45
musetalk 4090 72

wav2lip256显卡3060以上即可,musetalk需要3080Ti以上。

6. 商业版

提供如下扩展功能,适用于对开源项目已经比较熟悉,需要扩展产品功能的用户

  1. 高清wav2lip模型
  2. 完全语音交互,数字人回答过程中支持通过唤醒词或者按钮打断提问
  3. 实时同步字幕,给前端提供数字人每句话播报开始、结束事件
  4. 每个连接可以指定对应avatar和音色,avatar图片加载加速
  5. 动作编排:不说话时动作、唤醒时动作、思考时动作
  6. 支持不限时长的数字人形象avatar
  7. 提供实时音频流输入接口
  8. 数字人透明背景,叠加动态背景

更多详情https://livetalking-doc.readthedocs.io/zh-cn/latest/service.html#wav2lip

7. 声明

基于本项目开发并发布在B站、视频号、抖音等网站上的视频需带上LiveTalking水印和标识,如需去除请联系作者备案授权。


如果本项目对你有帮助,帮忙点个star。也欢迎感兴趣的朋友一起来完善该项目.

  • 知识星球: https://t.zsxq.com/7NMyO 沉淀高质量常见问题、最佳实践经验、问题解答
  • 微信公众号:数字人技术