LiveTalking 是一个实时交互流式数字人引擎
部署教程:LiveTalking
1. 准备工作与环境要求
在开始之前,请确保你的系统满足以下核心要求:
- 操作系统:Ubuntu 22.04 或 24.04(官方推荐,其他 Linux 发行版也可尝试)。
- GPU 硬件:
- Wav2Lip 模型:推荐 NVIDIA RTX 3060 及以上显卡(性能约 60 FPS)。
- MuseTalk 模型:推荐 NVIDIA RTX 3080Ti / 3090 / 4090 及以上显卡(性能约 42-72 FPS)。
- 显存要求:至少 6GB 以上(使用
--fp16可降低显存占用)。
- 软件环境:
- CUDA:12.4 或 12.8(运行
nvidia-smi确认版本)。 - Python:3.10 或 3.12。
- conda:推荐使用 Miniconda 管理环境。
- FFmpeg:用于视频/音频处理。
- CUDA:12.4 或 12.8(运行
2. 安装步骤
2.1 克隆仓库并创建环境
1 | git clone https://github.com/lipku/LiveTalking.git |
2.2 安装 PyTorch
根据你的 CUDA 版本安装对应的 PyTorch。以 CUDA 12.4 为例:
1 | conda install pytorch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 pytorch-cuda=12.4 -c pytorch -c nvidia |
如果 CUDA 版本是 12.8(项目测试版本),请使用以下命令:
1 | pip install torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 --index-url https://download.pytorch.org/whl/cu128 |
2.3 安装项目依赖
1 | pip install -r requirements.txt |
如果你打算使用 MuseTalk 模型,还需要额外安装 mmcv 全家桶:
1 | pip install -U openmim |
提示:如果在安装过程中遇到网络问题(如无法访问 Hugging Face),可以在运行前设置镜像:
export HF_ENDPOINT=https://hf-mirror.com。
3. 下载模型与数字人形象
3.1 下载预训练模型
从云盘下载所需的模型文件:
- 夸克云盘:https://pan.quark.cn/s/83a750323ef0
- Google Drive:https://drive.google.com/drive/folders/1FOC_MD6wdogyyX_7V1d4NDIO7P9NlSAJ?usp=sharing
3.2 放置模型文件
- 将
wav2lip256.pth拷贝到项目的models/目录下,并重命名为wav2lip.pth。 - 将
wav2lip256_avatar1.tar.gz解压后,整个文件夹拷贝到data/avatars/目录下。
3.3 下载 MuseTalk 模型(可选)
如果要使用 MuseTalk 模型,可以通过 Hugging Face 下载官方权重(使用国内镜像加速):
1 | export HF_ENDPOINT=https://hf-mirror.com |
4. 快速启动
4.1 启动服务
在项目根目录下,执行以下命令启动数字人服务:
1 | python app.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1 |
参数说明:
--transport webrtc:使用 WebRTC 传输(低延迟)。--model wav2lip:选择数字人模型(可选wav2lip、musetalk、ernerf)。--avatar_id wav2lip256_avatar1:指定使用的数字人形象。
启动后,你会看到 Running on http://0.0.0.0:8010 的提示。
注意:服务端需要开放端口 TCP 8010 和 UDP 1-65535(WebRTC 需要)。
4.2 访问 Web 界面
打开浏览器,访问 http://<你的服务器IP>:8010/index.html,点击 “Start” 连接,即可在文本框中输入文字驱动数字人说话。
5. 高级配置与常见场景
5.1 使用声音克隆(GPT-SoVITS)
在另一个终端中,启动 GPT-SoVITS 服务:
1
2
3
4
5
6
7conda create -n sovits python=3.10 -y
conda activate sovits
git clone https://github.com/RVC-Boss/GPT-SoVITS.git
cd GPT-SoVITS
pip install -r requirements.txt
# 放置你的参考音频 zero_shot_prompt.wav 到 ~/ 目录
python api_v2.py # 默认端口 9880启动 LiveTalking 时指定 TTS 参数:
1
2
3
4
5
6
7
8python app.py \
--transport webrtc \
--model wav2lip \
--avatar_id wav2lip256_avatar1 \
--tts gpt-sovits \
--TTS_SERVER http://127.0.0.1:9880 \
--REF_FILE ~/zero_shot_prompt.wav \
--REF_TEXT "大家好,我是由 LiveTalking 驱动的超酷数字人"
5.2 连接大语言模型(LLM)实现智能对话
LiveTalking 支持接入 LLM 实现智能问答。在启动时可以指定 LLM 提供商,例如通过 OrcaRouter 等 OpenAI 兼容网关接入:
1 | python app.py --transport webrtc --model wav2lip --avatar_id wav2lip256_avatar1 --llm_provider orcarouter |
具体需要根据你的 LLM 服务配置相应的环境变量,可参考 config.py 和 llm.py 文件。
5.3 使用 Docker 部署(快速体验)
如果不想手动配置环境,可以直接使用 Docker 镜像:
1 | docker run --gpus all -it --network=host --rm registry.cn-beijing.aliyuncs.com/codewithgpu2/lipku-metahuman-stream:2K9qaMBu8v |
进入容器后,更新代码并启动:
1 | cd /root/metahuman-stream |
6. 常见问题排查
- FPS 不足 25:检查日志中的
inferfps和finalfps。若inferfps达标而finalfps低,说明 CPU 性能不足(推流编码瓶颈);反之则需升级 GPU。 - 视频无法连接:检查防火墙是否开放了所需的 UDP 端口(50000-65535),以及是否使用了正确的 WebRTC 地址。
- 显存不足(OOM):添加
--fp16参数使用半精度推理,或切换至更轻量的 Wav2Lip 模型。 - 端口被占用:使用
lsof -i:8010查找并结束占用进程,或通过--port参数指定其他端口。



