Loading...

文章背景图

MuseTalk:腾讯音乐 Lyra Lab 实时口型同步模型|部署与使用全指南

2026-10-25
1
- 字
- 分钟
|

MuseTalk —— 腾讯音乐 Lyra Lab 出品的实时高保真音频驱动视频口型同步模型

适用场景:给已有视频/照片中的人物换配音口型、配合 MuseV 生成的虚拟人视频完成口型对齐、离线批量配音成片;仓库同时提供普通推理、实时推理与 Gradio 网页 Demo 三套入口。本节命令与参数均以官方 README、官方仓库脚本(scripts/inference.py、scripts/realtime_inference.py、app.py、inference.sh、download_weights.sh、download_weights.bat、requirements.txt、configs/inference/*.yaml)为准。

项目定位与基本信息

项目 内容
一句话定位 实时高质量音频驱动口型同步模型(MuseTalk: Real-Time High-Fidelity Video Dubbing via Spatio-Temporal Sampling),在 ft-mse-vae 潜空间中按输入音频修改人脸区域(256×256),支持中/英/日等多语言音频,NVIDIA Tesla V100 上 30fps+(来源:官方 README Overview 与开头摘要)
开源许可 代码:MIT License(Copyright © 2024 Tencent Music Entertainment Group),学术与商业使用均无限制;训练好的模型权重:README 声明可用于任何用途,包括商业用途;whisper、ft-mse-vae、dwpose、S3FD 等第三方开源组件须遵守各自许可证;测试数据集仅可用于非商业研究目的(来源:官方仓库 LICENSE 文件 + README "Disclaimer/License" 章节,web_fetch 核验)
官方 GitHub 仓库 https://github.com/TMElyralab/MuseTalk(curl HEAD 200,2026-10-25 核验)
官方 HuggingFace 权重仓库 https://huggingface.co/TMElyralab/MuseTalk(curl HEAD 200);官方在线 Gradio Demo:https://huggingface.co/spaces/TMElyralab/MuseTalk(curl HEAD 200)
官方文档/官网 本项目没有独立官方文档站点;使用说明全部位于 GitHub README;技术报告:https://arxiv.org/abs/2410.10122(curl 200),v2 版本 https://arxiv.org/abs/2410.10122v2(curl 200)。README 称"对新用户提供了详细安装与使用教程",即仓库 README 本身
版本信息 官方未在 GitHub Releases 发布版本包(release 徽章显示 "no releases or repo not found",2026-10-25 curl 核验);模型版本以 README News 为准:MuseTalk 1.5 于 2025-03-28 发布(清晰度、身份一致性、唇音同步均优于 1.0);训练代码于 2025-04-05 开源;1.0 版本于 2024-04-02 发布。当前 main 分支推理命令同时支持 v1(1.0)与 v15(1.5)
作者 / 机构 Yue Zhang、Zhizhou Zhong、Minhao Liu、Zhaokang Chen、Bin Wu†、Yubin Zeng、Chao Zhan、Junxin Huang、Yingjie He、Wenjiang Zhou;同等贡献,†通讯作者 benbinwu@tencent.com;腾讯音乐娱乐 Lyra Lab(README 首页署名)
技术要点 非扩散模型:单次前向在潜空间完成 inpainting;音频由冻结的 whisper-tiny 编码;生成网络借用 Stable Diffusion UNet 结构,音频 embedding 经交叉注意力融合到图像 embedding(README "Model" 章节)
已知局限(README "Limitations") 人脸区域 256×256,分辨率未达理论上限,可结合 GFPGAN 等超分模型提升;胡须、唇形唇色等面部细节保留不充分;当前流水线逐帧生成,存在抖动

官方图片

图 07-1 MuseTalk 模型结构(README "Model" 章节原图)

MuseTalk 模型结构示意图

图 07-2 Gradio Demo 参数面板(README "Gradio Demo" 章节引用图 assets/figs/gradio_2.png)

MuseTalk Gradio 参数面板

说明:仓库另一张 assets/figs/gradio.png(硬件耗时对比图)下载后仅 13,911 字节,未达到本节 ">20KB" 的交付要求,故未引用;本地亦未保留。

环境要求

维度 要求 / 说明 官方依据
操作系统 README 同时提供 Linux 与 Windows 的安装、普通推理、实时推理命令;Gradio Demo 官方实测环境为 Windows + NVIDIA RTX 3050 Ti Laptop GPU(README "Gradio Demo" 章节)。本机 WSL2 Ubuntu 24.04 与 Windows 10/11 原生均可执行 README 命令 README Installation / Quickstart / Gradio Demo
Python 官方推荐 Python 3.10(conda create -n MuseTalk python==3.10) README "Build environment"
CUDA / PyTorch 官方推荐 CUDA 11.7;安装 PyTorch 2.0.1、torchvision 0.15.2、torchaudio 2.0.2,提供 pip(cu118 wheel)与 conda 两种方式 README "Install PyTorch 2.0.1"
GPU 与显存 实时推理基准:NVIDIA Tesla V100 上 30fps+(README Overview)。官方最低实测:Windows + RTX 3050 Ti Laptop 4GB 显存,fp16 模式生成 8 秒视频约 5 分钟(README Gradio 章节)。官方未列出其他消费级显卡的显存占用 GB 数值(待实测) README Overview / Gradio Demo
本机显卡适配说明 RTX 3070 8GB:高于官方最低实测的 4GB 机型,离线普通推理在 fp16 下可运行;官方未承诺 3070 达到实时帧率,实时推理速度以本机实测为准。RTX 4090 24GB:显存余量充足,可关闭 fp16 换取更好画质。以上为对照官方最低配置的说明,非官方实测结论 README Gradio 章节(对照得出,已注明)
内存 官方 README / 脚本未列明内存容量要求(待验证) —
Python 依赖(requirements.txt 钉版,web_fetch 核验原文) diffusers==0.30.2、accelerate==0.28.0、numpy==1.23.5、tensorflow==2.12.0、tensorboard==2.12.0、opencv-python==4.9.0.80、soundfile==0.12.1、transformers==4.39.2、huggingface_hub==0.30.2、librosa==0.11.0、einops==0.8.1、gradio==5.24.0、gdown、requests、imageio[ffmpeg]、omegaconf、ffmpeg-python、moviepy https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/requirements.txt
MMLab 生态依赖 openmim → mmengine → mmcv==2.0.1 → mmdet==3.1.0 → mmpose==1.1.0(README "Install MMLab Packages" 原文版本号) README Installation
ffmpeg 普通推理与视频合成依赖 ffmpeg;README 要求先 ffmpeg -version 确认可用;Linux sudo apt-get install ffmpeg;Windows 从 FFmpeg static 构建下载并加入 PATH,或通过 --ffmpeg_path 参数指定 README "Setup FFmpeg" + Quickstart "Prerequisites" + scripts/inference.py
磁盘空间 / 模型权重体积 下列体积为 2026-10-25 对各 HF / 官方 URL 执行 HTTP HEAD(Content-Length)实测;官方 README 未给出官方体积说明。7 个已测文件合计约 8.59 GiB;人脸解析 79999_iter.pth 托管于 Google Drive,本次未取得体积(待验证);另需为输出帧图片与成片预留磁盘 07.4.3 权重清单表(实测值 + 出处 URL)

最详细部署步骤(WSL2 Ubuntu 24.04 / Windows 10-11 双视角)

环境搭建(README Installation 原文命令)

视角 A:WSL2 Ubuntu 24.04 / Linux

# 1. 创建官方推荐环境
conda create -n MuseTalk python==3.10
conda activate MuseTalk

# 2. 安装 PyTorch 2.0.1(README Option 1:pip cu118 wheel)
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
# README Option 2(conda 方式,二选一即可):
# conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia

# 3. 拉取源码
git clone https://github.com/TMElyralab/MuseTalk.git
cd MuseTalk

# 4. 安装其余 Python 依赖(README 原文命令)
pip install -r requirements.txt

# 5. 安装 MMLab 生态(README 原文命令)
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"

# 6. 安装 ffmpeg(README Quickstart Prerequisites:Linux 用系统包管理器)
sudo apt-get update && sudo apt-get install -y ffmpeg
ffmpeg -version    # 确认命令在 PATH 中

视角 B:Windows 10/11 原生

# 1. conda 环境(与 Linux 一致)
conda create -n MuseTalk python==3.10
conda activate MuseTalk

# 2. PyTorch(README 同一组 pip 命令,Windows 下直接可用)
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118

# 3. 源码与依赖
git clone https://github.com/TMElyralab/MuseTalk.git
cd MuseTalk
pip install -r requirements.txt
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 安装(README "Setup FFmpeg" 原文):

  1. 下载 ffmpeg-static 构建包:https://github.com/BtbN/FFmpeg-Builds/releases(curl 200 核验)。
  2. Linux:解压后设置环境变量 export FFMPEG_PATH=/path/to/ffmpeg,README 示例 export FFMPEG_PATH=/musetalk/ffmpeg-4.4-amd64-static。
  3. Windows:将 ffmpeg-xxx\bin 目录加入系统 PATH;命令行运行 ffmpeg -version 能输出版本信息即配置成功;也可以在推理命令中用 --ffmpeg_path 参数指定实际 bin 目录(README Windows 推理命令即采用该方式)。

下载权重(两种官方方式)

方式一:官方下载脚本(推荐,脚本内置国内 HF 镜像)

系统 命令 脚本事实(web_fetch 核验源码)
Linux sh ./download_weights.sh 脚本内 export HF_ENDPOINT=https://hf-mirror.com;依次下载 v1.0、v1.5、sd-vae、whisper、dwpose、syncnet;gdown 下载人脸解析权重;curl 下载 resnet18
Windows download_weights.bat 脚本内 set HF_ENDPOINT=https://hf-mirror.com;使用 hf download 命令拉取 TMElyralab/MuseTalk 整仓及上述子模型;人脸解析从 HF ManyOtherFunctions/face-parse-bisent 下载两个文件

方式二:手动下载(README "Option 2: Manual Download" 原文清单)

  1. MuseTalk 训练权重:https://huggingface.co/TMElyralab/MuseTalk/tree/main
  2. 其他组件权重: - sd-vae-ft-mse:https://huggingface.co/stabilityai/sd-vae-ft-mse/tree/main(curl 200) - whisper-tiny:https://huggingface.co/openai/whisper-tiny/tree/main(curl 200) - dwpose:https://huggingface.co/yzd-v/DWPose/tree/main(curl 200) - syncnet:https://huggingface.co/ByteDance/LatentSync/tree/main(curl 200) - face-parse-bisent 79999_iter.pth:https://drive.google.com/file/d/154JgKpzCPW82qINcVieuPH3fZ2e0P812/view?pli=1 - resnet18:https://download.pytorch.org/models/resnet18-5c106cde.pth(curl 实测 46,827,520 字节)

权重目录结构(README 原文树形清单,必须按此组织到 models/ 下):

./models/
├── musetalk
│   ├── musetalk.json
│   └── pytorch_model.bin
├── musetalkV15
│   ├── musetalk.json
│   └── unet.pth
├── syncnet
│   └── latentsync_syncnet.pt
├── dwpose
│   └── dw-ll_ucoco_384.pth
├── face-parse-bisent
│   ├── 79999_iter.pth
│   └── resnet18-5c106cde.pth
├── sd-vae
│   ├── config.json
│   └── diffusion_pytorch_model.bin
└── whisper
    ├── config.json
    ├── pytorch_model.bin
    └── preprocessor_config.json

权重文件清单与实测体积(2026-10-25 HTTP HEAD Content-Length 实测)

目录 / 文件 来源仓库 实测体积 备注
models/musetalk/pytorch_model.bin https://huggingface.co/TMElyralab/MuseTalk 3,400,076,549 B ≈ 3.17 GiB MuseTalk 1.0 权重;只用 1.5 时可不下载
models/musetalkV15/unet.pth https://huggingface.co/TMElyralab/MuseTalk 3,400,074,924 B ≈ 3.17 GiB MuseTalk 1.5 权重(README 推荐版本)
models/sd-vae/diffusion_pytorch_model.bin https://huggingface.co/stabilityai/sd-vae-ft-mse 334,707,217 B ≈ 319.2 MiB 冻结 VAE
models/whisper/pytorch_model.bin https://huggingface.co/openai/whisper-tiny 151,095,027 B ≈ 144.1 MiB 冻结音频编码器
models/dwpose/dw-ll_ucoco_384.pth https://huggingface.co/yzd-v/DWPose 406,878,486 B ≈ 388.0 MiB 人脸关键点检测
models/syncnet/latentsync_syncnet.pt https://huggingface.co/ByteDance/LatentSync 1,488,019,828 B ≈ 1.39 GiB 唇音同步判别网络
models/face-parse-bisent/resnet18-5c106cde.pth https://download.pytorch.org/models/resnet18-5c106cde.pth 46,827,520 B ≈ 44.7 MiB 人脸解析 backbone
models/face-parse-bisent/79999_iter.pth Google Drive(README 手动清单) 待验证(本次未能取得 Content-Length) 人脸解析权重
合计(不含 79999_iter.pth) — 约 8.59 GiB 另需预留输出帧与成片空间

国内加速:download_weights.sh / download_weights.bat 已把 HF_ENDPOINT 指向 https://hf-mirror.com(curl 200 核验);手动下载时也可在各 HF URL 前替换域名 huggingface.co → hf-mirror.com。

关键配置文件修改(以官方 YAML 原文为准,web_fetch 核验)

普通推理配置 configs/inference/test.yaml(当前 main 分支原文):

task_0:
 video_path: "data/video/yongen.mp4"
 audio_path: "data/audio/yongen.wav"

task_1:
 video_path: "data/video/yongen.mp4"
 audio_path: "data/audio/eng.wav"
 bbox_shift: -7
字段 含义 官方说明
video_path 输入视频、图片文件或图片目录(scripts/inference.py 支持三种类型) README:video_path 为输入视频/图片/图片目录路径
audio_path 输入音频文件路径 README:audio_path 为输入音频文件路径
bbox_shift 人脸掩码上边界偏移量,仅 v1.0 生效;正值(向下)增大张嘴幅度,负值(向上)减小张嘴幅度 README "Use of bbox_shift to have adjustable results (For 1.0)";scripts/inference.py 中 v15 分支强制 bbox_shift = 0
result_name 可选,自定义输出视频文件名(scripts/inference.py 读取该字段;YAML 默认配置未使用) 源码字段

实时推理配置 configs/inference/realtime.yaml(当前 main 分支原文):

avator_1:
 preparation: True # your can set it to False if you want to use the existing avator, it will save time
 bbox_shift: 5
 video_path: "data/video/yongen.mp4"
 audio_clips:
     audio_0: "data/audio/yongen.wav"
     audio_1: "data/audio/eng.wav"
字段 含义 官方说明(README "Important notes for real-time inference")
preparation 处理新数字人时设为 True;复用已准备好的形象设为 False 以节省时间 README 实时推理注意事项第 1、4 条
bbox_shift 人脸偏移量(仅 v1.0 生效;scripts/realtime_inference.py 中 v15 分支同样固定为 0) 源码 + README
video_path 数字人参考视频路径 README 配置说明
audio_clips 实时模式下逐段生成所用的音频片段字典 README 注意事项第 2 条:准备完成后,形象将用 audio_clips 中的音频片段生成视频

README 补充:为获得最佳效果,输入视频建议 25fps(与训练时一致);帧率偏低的视频可先插帧,或用 ffmpeg 转成 25fps。

启动与推理命令

普通推理(Normal Inference,README Quickstart 原文)

Linux:

# MuseTalk 1.5(README 推荐)
sh inference.sh v1.5 normal
# MuseTalk 1.0
sh inference.sh v1.0 normal

Windows(README 原文命令,路径分隔符为反斜杠;--ffmpeg_path 指向实际 ffmpeg bin 目录):

REM MuseTalk 1.5(推荐)
python -m scripts.inference --inference_config configs\inference\test.yaml --result_dir results\test --unet_model_path models\musetalkV15\unet.pth --unet_config models\musetalkV15\musetalk.json --version v15 --ffmpeg_path ffmpeg-master-latest-win64-gpl-shared\bin

REM MuseTalk 1.0:相应改为 models\musetalk、pytorch_model.bin、--version v1

实时推理(Real-time Inference,README Quickstart 原文)

Linux:

# MuseTalk 1.5(推荐)
sh inference.sh v1.5 realtime
# MuseTalk 1.0
sh inference.sh v1.0 realtime

Windows(README 原文命令):

REM MuseTalk 1.5(推荐)
python -m scripts.realtime_inference --inference_config configs\inference\realtime.yaml --result_dir results\realtime --unet_model_path models\musetalkV15\unet.pth --unet_config models\musetalkV15\musetalk.json --version v15 --fps 25 --ffmpeg_path ffmpeg-master-latest-win64-gpl-shared\bin

REM MuseTalk 1.0:相应改为 models\musetalk、pytorch_model.bin、--version v1

inference.sh 脚本事实(web_fetch 核验):normal → scripts.inference + configs/inference/test.yaml + results/test;realtime → scripts.realtime_inference + configs/inference/realtime.yaml + results/realtime,并附加 --fps 25;v1.0 对应 --version v1 与 models/musetalk/pytorch_model.bin,v1.5 对应 --version v15 与 models/musetalkV15/unet.pth。

Gradio 网页 Demo(README "Gradio Demo" 原文命令;Windows / Linux 通用):

# 可去掉 --use_float16 换取更好画质,但会增加显存占用与推理时间(README 原文说明)
python app.py --use_float16 --ffmpeg_path ffmpeg-master-latest-win64-gpl-shared\bin

app.py 参数(源码 argparse 核验):--ip 默认 127.0.0.1,--port 默认 7860,--share(创建公开链接),--use_float16,--ffmpeg_path 默认 Windows 路径 ffmpeg-master-latest-win64-gpl-shared\bin。启动后浏览器访问 http://127.0.0.1:7860。

使用方法

方式一:Gradio 网页 Demo(README "Gradio Demo" 章节 + app.py 界面定义)

  1. 启动 python app.py --use_float16 --ffmpeg_path <ffmpeg bin 目录>。
  2. 左侧面板:Drving Audio(app.py 源码原始标签,即 Driving Audio)上传驱动音频;Reference Video 上传参考视频(app.py 的 check_video 会自动把视频转成 25fps)。
  3. 参数区: - BBox_shift value, px(bbox_shift,默认 0,仅 v1.0 可调;Demo 固定使用 v15) - Extra Margin(滑块 0–40,默认 10,决定下颌区域可动范围) - Parsing Mode(jaw / raw,默认 jaw) - Left Cheek Width / Right Cheek Width(滑块 20–160,默认 90;jaw 模式下决定左右脸颊编辑范围)
  4. 先点 "1. Test Inpainting" 仅生成第一帧用于微调口型参数,减少成片面部瑕疵(README 建议:为节省推理时间,可先生成第一帧调试最佳参数)。
  5. 参数满意后点 "2. Generate",右侧输出口型同步视频。

方式二:命令行普通推理(离线批量配音)

  1. 编辑 configs/inference/test.yaml,把 video_path / audio_path 换成自己的素材;可写多个 task_* 任务。
  2. 执行 07.4.5 节普通推理命令。
  3. 输出目录:results/test/v15/<视频名>_<音频名>.mp4(scripts/inference.py 命名规则:output_basename = f"{input_basename}_{audio_basename}",先帧序列 + 临时视频,再用 ffmpeg 合并输入音频)。

方式三:命令行实时推理

  1. 首次为新数字人准备素材:configs/inference/realtime.yaml 中 preparation: True,填写 video_path 与 audio_clips。
  2. 执行 07.4.5 节实时推理命令;首次会做人脸检测、坐标提取、VAE latent 等准备工作并缓存:v15 为 results/v15/avatars/<avatar_id>/,v1 为 results/avatars/<avatar_id>/(scripts/realtime_inference.py 源码路径规则)。
  3. 后续复用同一形象:将 preparation 改为 False,跳过准备阶段。
  4. 可选跳过图片保存以测速:
python -m scripts.realtime_inference --inference_config configs/inference/realtime.yaml --skip_save_images

(README "For faster generation without saving images" 原文命令)

普通推理参数说明表(来源:scripts/inference.py 源码 argparse,逐项核验默认值)

参数 默认值 说明
--ffmpeg_path ./ffmpeg-4.4-amd64-static/ ffmpeg 可执行文件所在目录;找不到时脚本将其加入 PATH(Windows 分隔符 ;,其他系统 :)
--gpu_id 0 使用的 GPU 编号
--vae_type sd-vae VAE 类型
--unet_config ./models/musetalk/config.json(源码默认值) UNet 配置 JSON 路径;1.5 启动命令中传 models/musetalkV15/musetalk.json
--unet_model_path ./models/musetalkV15/unet.pth(源码默认值) UNet 权重路径;1.0 传 models/musetalk/pytorch_model.bin
--whisper_dir ./models/whisper Whisper 模型目录
--inference_config configs/inference/test_img.yaml(源码默认值) 推理 YAML 配置路径
--bbox_shift 0 人脸框偏移像素;仅 v1 生效,v15 固定为 0
--result_dir ./results 结果输出根目录
--extra_margin 10 人脸裁剪额外边距(v15 生效)
--fps 25 视频帧率(图片/图片目录输入时使用)
--audio_padding_length_left 2 音频左侧 padding 长度
--audio_padding_length_right 2 音频右侧 padding 长度
--batch_size 8 推理 batch 大小
--output_vid_name None 自定义输出视频文件名;YAML 中 result_name 会覆盖
--use_saved_coord 关 复用已保存的人脸坐标 .pkl 以节省时间
--saved_coord 关 保存坐标供后续复用;未开启则处理结束后删除坐标缓存
--use_float16 关 启用 fp16(pe / vae.vae / unet.model 转半精度),降低显存与耗时
--parsing_mode jaw 人脸融合解析模式(jaw / raw)
--left_cheek_width 90 左脸颊区域宽度(v15 解析参数)
--right_cheek_width 90 右脸颊区域宽度(v15 解析参数)
--version v15 模型版本,可选 v1 / v15

实时推理参数补充(来源:scripts/realtime_inference.py 源码 argparse)

参数 默认值 说明
--batch_size 20 实时推理 batch 大小(与普通推理的 8 不同)
--skip_save_images 关 跳过分帧图片保存,仅统计速度(README 07.5.3 命令)
--extra_margin 10 人脸裁剪额外边距
--parsing_mode jaw 融合解析模式
--left_cheek_width / --right_cheek_width 90 左右脸颊宽度
其他参数 同 07.5.4 实时脚本内模型固定转半精度(pe.half() 等),无 --use_float16 开关

端到端示例(输入 → 命令 → 输出,使用仓库自带示例素材)

  1. 输入素材(仓库内置,已核验可达): - 视频:data/video/yongen.mp4(https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/data/video/yongen.mp4,HTTP HEAD 实测 1,870,923 字节) - 音频:data/audio/yongen.wav(https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/data/audio/yongen.wav,实测 1,536,078 字节)
  2. 配置:保持 configs/inference/test.yaml 中 task_0 默认值不变(即上述两个文件)。
  3. 命令(Linux / WSL2):
conda activate MuseTalk
cd MuseTalk
sh inference.sh v1.5 normal
  1. 处理过程:ffmpeg 抽帧 → Whisper 提取音频特征 → 人脸关键点与 bbox 检测(坐标缓存为 .pkl)→ VAE 编码 latent → UNet 逐 batch 推理 → 解码贴回原画面 → ffmpeg 合成 yongen_yongen.mp4 并合并音频。
  2. 输出:results/test/v15/yongen_yongen.mp4(scripts/inference.py 输出命名规则)。
  3. Windows 等价命令:
python -m scripts.inference --inference_config configs\inference\test.yaml --result_dir results\test --unet_model_path models\musetalkV15\unet.pth --unet_config models\musetalkV15\musetalk.json --version v15 --ffmpeg_path <实际 ffmpeg bin 目录>

常见坑(现象 + 原因 + 解决,依据官方 README 与源码)

# 现象 原因 官方依据 / 解决方式
1 权重下载慢、连接 HF 超时 官方默认权重托管在 HuggingFace,境内直连不稳定 使用 sh ./download_weights.sh(Linux)或 download_weights.bat(Windows);两个脚本均内置 HF_ENDPOINT=https://hf-mirror.com 镜像;手动下载时把 HF 域名替换为 hf-mirror.com
2 报错 "Unable to find ffmpeg" 或视频合成失败 ffmpeg 不在 PATH,或 --ffmpeg_path 指向目录不正确 先执行 ffmpeg -version 确认;Linux sudo apt-get install ffmpeg;Windows 从 https://github.com/BtbN/FFmpeg-Builds/releases 下载 static 包,把 bin 加入 PATH,或在命令中传正确的 --ffmpeg_path(README Setup FFmpeg + Quickstart Prerequisites)
3 显存不足(OOM) 未开 fp16,或 batch 过大;官方最低实测为 4GB 显存机型(fp16) 普通推理加 --use_float16;Gradio 启动加 --use_float16(README:去掉该选项画质更好,但显存占用与推理时间增加);必要时降低 --batch_size
4 依赖版本冲突、导入报错 requirements.txt 为钉版环境(numpy 1.23.5、transformers 4.39.2、diffusers 0.30.2 等),MMLab 也有固定版本 严格按 README 顺序安装:先 pip install -r requirements.txt,再用 mim 安装 mmcv==2.0.1 / mmdet==3.1.0 / mmpose==1.1.0;不要随意 pip install -U 升级这些包
5 成片口型节奏与原视频帧率不匹配 输入视频帧率不是 25fps(训练帧率) README:输入视频建议 25fps;帧率偏低时先插帧,或用 ffmpeg 转成 25fps;Gradio 的 check_video 会自动把上传视频转 25fps(app.py 源码)
6 v1.5 下调整 bbox_shift 没有效果 scripts/inference.py / scripts/realtime_inference.py 中 version == "v15" 时强制 bbox_shift = 0;bbox_shift 是 v1.0 专属参数 仅在 --version v1 时使用 bbox_shift(README "For 1.0" 小节与 assets/BBOX_SHIFT.md);v15 通过 extra_margin、parsing_mode、左右脸颊宽度调整
7 实时推理第二次运行仍重复做人脸检测与坐标提取 realtime.yaml 中 preparation 仍为 True 新形象首次 True 完成准备;复用同一形象改为 False(README 实时推理注意事项第 1、4 条);若修改了 bbox_shift,脚本会提示需要重建 avatar
8 Windows 下实时推理达不到 30fps+ 官方 30fps+ 实时基准为 NVIDIA Tesla V100;README 未承诺消费级 Windows 显卡实时帧率 以本机实测为准;降低 --batch_size、使用 fp16;Windows 下 app.py 已按源码设置 WindowsSelectorEventLoopPolicy 解决异步 IO 问题(app.py 源码)
9 找不到 79999_iter.pth 或 resnet18 手动下载清单中人脸解析权重来自 Google Drive,容易漏下 Linux 脚本用 gdown --id 154JgKpzCPW82qINcVieuPH3fZ2e0P812 下载;Windows bat 从 HF ManyOtherFunctions/face-parse-bisent 拉取两个文件;按 07.4.2 目录结构核对
10 输出视频面部抖动 / 身份细节丢失 README "Limitations" 已声明:当前流水线逐帧生成存在抖动;胡须、唇形唇色等细节保留不充分 属模型已知局限;可结合 GFPGAN 等超分模型后处理(README Limitations 建议)

本节来源清单

# URL 用途 验证方式(2026-10-25)
1 https://github.com/TMElyralab/MuseTalk 官方仓库主页 curl HEAD 200
2 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/README.md README 全文(定位、News、环境、权重、配置、命令、Gradio、Limitations、License) web_fetch 完整读取(5638 字符,全文)
3 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/LICENSE MIT 代码许可 + 第三方组件许可清单核验 web_fetch 完整读取(3335 字符)
4 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/requirements.txt 钉版 Python 依赖清单(18 个依赖条目) web_fetch 完整读取(72 字符)
5 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/configs/inference/test.yaml 普通推理配置字段与示例路径 web_fetch 完整读取(47 字符)
6 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/configs/inference/realtime.yaml 实时推理配置字段与示例路径 web_fetch 完整读取(65 字符)
7 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/scripts/inference.py 普通推理参数表、v15 固定 bbox_shift、输出命名规则、ffmpeg PATH 处理 web_fetch 完整读取(2739 字符)
8 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/scripts/realtime_inference.py 实时推理参数表、准备阶段逻辑、fp16 固定处理 web_fetch(snippet 定向读取 argparse 与类实现段落)
9 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/app.py Gradio 参数(ip/port/share/fp16/ffmpeg_path)、界面控件、25fps 转码、Windows 事件循环策略 web_fetch 完整读取(5366 字符)
10 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/inference.sh Linux 普通/实时推理参数拼装规则 web_fetch 完整读取(485 字符)
11 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/download_weights.sh Linux 下载脚本、HF 镜像地址、下载文件清单 web_fetch 完整读取(430 字符)
12 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/download_weights.bat Windows 下载脚本、HF 镜像地址、人脸解析替代来源 web_fetch 完整读取(349 字符)
13 https://huggingface.co/TMElyralab/MuseTalk 官方模型权重仓库(v1.0 / v1.5) curl HEAD 200;HF API 列文件 musetalk/pytorch_model.bin、musetalkV15/unet.pth 等
14 https://huggingface.co/spaces/TMElyralab/MuseTalk 官方在线 Gradio Demo curl HEAD 200
15 https://arxiv.org/abs/2410.10122 官方技术报告 curl HEAD 200
16 https://arxiv.org/abs/2410.10122v2 技术报告 v2(README News 10/18/2024 引用) curl HEAD 200
17 https://huggingface.co/stabilityai/sd-vae-ft-mse/tree/main sd-vae-ft-mse 权重来源 curl HEAD 200;权重体积 HTTP HEAD 334,707,217 B
18 https://huggingface.co/openai/whisper-tiny/tree/main whisper-tiny 权重来源 curl HEAD 200;体积 HTTP HEAD 151,095,027 B
19 https://huggingface.co/yzd-v/DWPose/tree/main DWPose 权重来源 curl HEAD 200;体积 HTTP HEAD 406,878,486 B
20 https://huggingface.co/ByteDance/LatentSync/tree/main SyncNet 权重来源 curl HEAD 200;体积 HTTP HEAD 1,488,019,828 B
21 https://drive.google.com/file/d/154JgKpzCPW82qINcVieuPH3fZ2e0P812/view?pli=1 face-parse-bisent 79999_iter.pth 官方手动下载链接 来自 README 手动清单;Google Drive 体积本次未能取得(待验证)
22 https://download.pytorch.org/models/resnet18-5c106cde.pth resnet18 权重官方直链 curl HEAD 200;体积 46,827,520 B
23 https://hf-mirror.com 官方脚本内置 HF 国内镜像 curl HEAD 200;镜像地址由 #11、#12 脚本源码核验
24 https://github.com/BtbN/FFmpeg-Builds/releases README 指定的 Windows/Linux ffmpeg static 构建下载页 curl HEAD 200
25 https://github.com/chaojie/ComfyUI-MuseTalk README "Third party integration" 第三方 ComfyUI 集成(README 注明未由官方验证维护) curl HEAD 200
26 https://github.com/user-attachments/assets/02f4a214-1bdd-4326-983c-e70b478accba 图 07-1 模型结构图原图(README ![Model Structure]) curl -L 跟随重定向下载 + file 校验 PNG 1934×646,410,486 字节
27 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/assets/figs/gradio_2.png 图 07-2 Gradio 参数面板原图 curl 下载 + file 校验 PNG 1781×1066,75,170 字节
28 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/data/video/yongen.mp4 端到端示例输入视频 HTTP HEAD 206,1,870,923 字节
29 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/data/audio/yongen.wav 端到端示例输入音频 HTTP HEAD 206,1,536,078 字节
30 https://raw.githubusercontent.com/TMElyralab/MuseTalk/main/data/audio/eng.wav 配置 task_1 / realtime audio_1 示例音频 HTTP HEAD 206,1,920,078 字节
31 https://github.com/TMElyralab/MuseTalk/releases GitHub Releases 页面 curl 徽章查询确认:官方未发布 Release 包
32 https://github.com/TMElyralab/MuseV README 推荐的配套文本/图片/姿态生成视频方案(组合使用) README "Combining MuseV and MuseTalk" 引用;未单独抓取页面
33 https://download.pytorch.org/whl/cu118 README 安装命令中 torch 2.0.1 cu118 wheel 索引 curl HEAD 200
评论交流

文章目录