Docker部署metahuman-stream数字人系统

metahuman-stream是基于ernerf模型的流式数字人,实现音视频同步对话。

metahuman-stream
xtts-streaming-server
srs

部署 srs

# rtmpserver
docker run -it -d \
-p 1935:1935 -p 1985:1985 -p 8080:8080 -p 8000:8000/udp -p 10080:10080/udp \
--name srs \
registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5

部署 xtts-streaming-server

下载XTTS-v2模型到宿主机

docker run --gpus=all -d -p 9000:80 \
-e COQUI_TOS_AGREED=1 \
-v /opt/data/model/XTTS-v2:/app/tts_models \
--name him-xtts-streaming-server \
ghcr.io/coqui-ai/xtts-streaming-server:latest

部署 metahuman-stream

参考项目的Dockerfile

启动容器

sudo docker run --gpus all -it -d \
--network=host \
--name nerfstream \
nvcr.io/nvidia/cuda:11.6.1-cudnn8-devel-ubuntu20.04

sudo docker exec -ti nerfstream bash

安装工具和anaconda

apt-get update -yq --fix-missing \
 && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
    pkg-config \
    wget \
    cmake \
    curl \
    git \
    vim

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

sh Miniconda3-latest-Linux-x86_64.sh -b -u -p ~/miniconda3
~/miniconda3/bin/conda init

source ~/.bashrc

创建conda环境&安装依赖

conda create -n nerfstream python=3.10

conda activate nerfstream

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

conda install pytorch==1.12.1 torchvision==0.13.1 cudatoolkit=11.3 -c pytorch

pip install "git+https://github.com/facebookresearch/pytorch3d.git"

pip install tensorflow-gpu==2.8.0

pip uninstall protobuf
pip install protobuf==3.20.1

conda install ffmpeg

apt-get install portaudio19-dev python-all-dev python3-all-dev
conda install pyaudio

克隆源码&安装项目依赖

cd /
git clone https://github.com/lipku/metahuman-stream.git
cd metahuman-stream
pip install -r requirements.txt

cd /
git clone https://github.com/lipku/python_rtmpstream.git
cd python_rtmpstream
git submodule update --init
pip install wheel
cd python
# 修改conda目录
vim CMakeLists.txt
pip install .

配置LLM

以Qwen为例,修改app.py

def llm_response(message):
    from llm.LLM import LLM
    llm = LLM().init_model('Qwen', model_path= 'Qwen/Qwen-1_8B-Chat')
    response = llm.chat(message)
    print(response)
    return response

运行

export HF_ENDPOINT=https://hf-mirror.com
python app.py										# 默认
python app.py --tts xtts --ref_file data/ref.wav	#指定克隆的语音

效果

在这里插入图片描述

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种开源的容器化平台,可轻松部署、运行和管理容器化应用程序。Nginx是一款高性能的Web服务器和反向代理服务器,而Nginx Proxy Manager则是一个基于Nginx的图形化界面工具,用于管理Nginx代理服务器。 要在Docker部署Nginx Proxy Manager,需要执行以下步骤: 1. 首先,确保你的系统上已安装Docker。你可以通过命令"docker --version"来检查是否已成功安装。 2. 打开终端或命令提示符,并使用Docker命令从Docker Hub下载Nginx Proxy Manager的镜像。可以使用以下命令下载并创建容器: ``` docker run -d -p 80:80 -p 81:81 -p 443:443 -v nginx-proxy-manager_data:/data -v /var/run/docker.sock:/var/run/docker.sock jlesage/nginx-proxy-manager ``` 3. 这个命令会从Docker Hub上下载最新版本的Nginx Proxy Manager镜像,并在本地创建一个名为"nginx-proxy-manager"的容器。该容器将监听80、81和443端口,并将其映射到宿主机上。 此外,该命令还将容器中的/data目录映射到名为nginx-proxy-manager_data的Docker卷,以及将宿主机的/var/run/docker.sock文件映射到容器的/var/run/docker.sock文件中。 4. 当容器成功创建后,你可以通过访问http://localhost:81来访问Nginx Proxy Manager的图形化界面。在该界面中,你可以添加和管理Nginx反向代理服务器、创建和编辑主机、设置SSL证书等。 通过以上几个简单的步骤,你可以在Docker中轻松地部署Nginx Proxy Manager,实现代理服务器的管理与配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值