搭建musetalk数字人的步骤

生成数字人的视频效果

搭建步骤

下载git代码

bash 复制代码
git clone https://github.com/TMElyralab/MuseTalk.git

创建conda环境

(建议使用 python 版本 >=3.10 和 cuda 版本 =11.7。)

bash 复制代码
conda create -n musetalk python=3.10

进入conda环境

bash 复制代码
conda activate musetalk

下载项目依赖包

bash 复制代码
pip install -r requirements.txt

mmlab 封装

bash 复制代码
pip install --no-cache-dir -U openmim 
mim install mmengine 
mim install "mmcv>=2.0.1" 
mim install "mmdet>=3.1.0" 
mim install "mmpose>=1.1.0" 

注意:这一步可能提示错误,跳过即可

下载 ffmpeg-4.1.4-amd64-static

https://ffmpeg.org/download.html#releases

解压文件ffmpeg-4.1.4-amd64-static

bash 复制代码
tar -xvf ffmpeg-4.1.4-amd64-static.gz

设置环境变量

bash 复制代码
vi ~/.bashrc

最后一行填写上

bash 复制代码
export FFMPEG_PATH=/root/workspace/MuseTalk/musetalk/ffmpeg-4.1.4-amd64-static

使配置生效

bash 复制代码
source ~/.bashrc

验证安装:验证 ffmpeg 是否正确安装和配置:

bash 复制代码
$FFMPEG_PATH/ffmpeg -version
bash 复制代码
(musetalk) [root@iZ0jl0y9289xkrzfhm4p2wZ MuseTalk]# $FFMPEG_PATH/ffmpeg -version
ffmpeg version 4.1.4-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzvbi --enable-libzimg
libavutil      56. 22.100 / 56. 22.100
libavcodec     58. 35.100 / 58. 35.100
libavformat    58. 20.100 / 58. 20.100
libavdevice    58.  5.100 / 58.  5.100
libavfilter     7. 40.101 /  7. 40.101
libswscale      5.  3.100 /  5.  3.100
libswresample   3.  3.100 /  3.  3.100
libpostproc    55.  3.100 / 55.  3.100

验证ffmpeg是不是安装成功

bash 复制代码
pip list | grep ffmpeg
bash 复制代码
(musetalk) [root@iZ0jl0y9289xkrzfhm4p2wZ MuseTalk]# pip list | grep ffmpeg
ffmpeg-python                0.2.0
imageio-ffmpeg               0.5.1
(musetalk) [root@iZ0jl0y9289xkrzfhm4p2wZ MuseTalk]# 

安装正确的ffmpeg-python 库:

bash 复制代码
pip install ffmpeg-python 

下载需要的模型

链接: https://pan.baidu.com/s/1NxELa1cvtu3aDh3d9sB1Jw?pwd=yptf

提取码: yptf

下载后依次放在models目录下面

bash 复制代码
(musetalk) [root@iZ0jl0y9289xkrzfhm4p2wZ models]# ls -al
total 3905288
drwxr-xr-x  7 root root       4096 Jun 18 21:46 .
drwxr-xr-x 10 root root       4096 Jun 19 14:43 ..
drwxrwxr-x  2 root root       4096 Jun 18 21:19 dwpose
drwxrwxr-x  2 root root       4096 Jun 18 21:20 face-parse-bisent
drwxrwxr-x  2 root root       4096 Jun 18 21:18 musetalk
drwxrwxr-x  2 root root       4096 Jun 18 21:20 sd-vae-ft-mse
drwxrwxr-x  2 root root       4096 Jun 18 21:20 whisper

models的目录结构为:

./models/

├── musetalk

│ └── musetalk.json

│ └── pytorch_model.bin

├── dwpose

│ └── dw-ll_ucoco_384.pth

├── face-parse-bisent

│ ├── 79999_iter.pth

│ └── resnet18-5c106cde.pth

├── sd-vae-ft-mse

│ ├── config.json

│ └── diffusion_pytorch_model.bin

└── whisper

└── tiny.pt

准备没有声音的视频文件和音频文件

MuseTalk/data/video

MuseTalk/data/audio

编辑配置文件

bash 复制代码
task_0:
 video_path: "data/video/baichuanxu.mp4"
 audio_path: "data/audio/baichunxu.wav"
 bbox_shift: -7

模型推理

bash 复制代码
python -m scripts.inference --inference_config configs/inference/test.yaml 

下载视频,到results目录下载生成的视频

相关推荐
ι:4 分钟前
MATLAB 与 Python 搭建无人机地面站:优势、劣势与选型逻辑
python·matlab·无人机
船厂电气自动化ai大模型12 分钟前
AI大模型与数学 第32课 函数凹凸性与二阶导数:拐点求解、凹凸区间计算(10道二阶导数计算题)
数据结构·人工智能·python·深度学习·算法
jufeng130731 分钟前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 7 篇】
python·ai agent·权限系统
梦想很大很大33 分钟前
如果有一个本地优先的 Workflow 工具,你们团队会愿意用吗?
python·agent·workflow
用户8356290780511 小时前
Python 自动化 Word 文本框处理:创建、定位、填充内容与管理
后端·python
数据知道2 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
努力的小Qin3 小时前
梯度下降如何实现参数优化:从线性回归到 Sigmoid 分类
人工智能·python·神经网络
strength_zhou20133 小时前
Python检查MongoDB索引列中的字段是否存在
python·mongodb
zander2583 小时前
LeetCode 739:每日温度——为什么单调栈要持续弹出
开发语言·python·算法
for_ever_love__4 小时前
python基础语法学习: 文件操作
python·学习