SadTalker说话头完整部署指南:新手10分钟上手
2026/9/12 10:00:02 网站建设 项目流程

SadTalker说话头完整部署指南:新手10分钟上手

【免费下载链接】SadTalker[CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation项目地址: https://gitcode.com/GitHub_Trending/sa/SadTalker

SadTalker 是 CVPR 2023 的开源项目:输入一张人像图和一段音频,就能生成口型与表情自然的说话头视频。本文按环境自检、依赖安装、模型资产下载、首次运行验证的顺序带你走通全流程,跟着"自检 → 三步安装 → 首跑"的路线,大约 10 分钟就能拿到一个可播放的视频。

环境就绪自检:开跑前五分钟

动手前按表格核对一下机器配置。任何一项不达标都能事后补救,但中途排查会麻烦得多:

项目必需推荐
操作系统Linux / macOS / Windows 10+Ubuntu 20.04 及以上
运行时版本Python 3.83.8 + Anaconda(或 Miniconda)
GPU 与 CUDANVIDIA GPU、CUDA 11.x(也可纯 CPU 运行)RTX 3060 及以上,8 GB 显存
内存8 GB16 GB
磁盘10 GB 可用空间20 GB(预训练资产较大)

⚠️ 最容易踩的两个坑:Python 版本不是 3.8(项目部分依赖锁定了旧版本,用新版容易装不上),以及 FFmpeg 没装或没进 PATH。

三步完成部署:隔离环境、依赖、资产一次到位

第一步|创建隔离环境

项目的依赖版本锁定较多,装进系统公共环境极易和其他项目冲突,所以先克隆仓库并建一个独立的 conda 环境:

git clone https://gitcode.com/GitHub_Trending/sa/SadTalker cd SadTalker conda create -n sadtalker python=3.8 conda activate sadtalker

激活后校验一下版本,确认隔离环境生效:

python --version

✅ 输出以 Python 3.8 开头即通过。

第二步|安装核心依赖

先装 PyTorch 框架,因为依赖清单里的其他包都建立在它之上。GPU 机器执行:

pip install torch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1

✅ 命令走完打印安装成功即可;如果你是纯 CPU 机器,改成安装 +cpu 后缀的 CPU 版本,推理脚本运行时会自行检测设备。

再装 FFmpeg,它是音视频编解码的必选项:

conda install ffmpeg # Linux(conda 环境内) brew install ffmpeg # macOS

⚠️ Windows 请安装 FFmpeg 官方二进制包并把 bin 目录加入 PATH,装完统一用ffmpeg -version能打印版本信息来确认。

然后一键装完全部 Python 依赖(numpy、librosa、face_alignment、gfpgan 等都在清单里):

pip install -r requirements.txt

✅ 最后用一条导入命令验证,不报错并打印出版本号就说明依赖齐了:

python -c "import torch, librosa, face_alignment, gfpgan; print(torch.__version__)"

💡 如果打算用 Gradio 网页里的"文本转语音"功能,需要额外执行pip install TTS

第三步|获取预训练资产

代码和依赖就绪后还差最后一块:预训练模型。需要的资产一览:

文件大小用途
checkpoints/SadTalker_V0.0.2_256.safetensors约 1 GB256 分辨率面部渲染模型
checkpoints/SadTalker_V0.0.2_512.safetensors约 1 GB512 分辨率面部渲染模型
checkpoints/mapping_00109-model.pth.tar数百 MB映射网络(全身图模式使用)
checkpoints/mapping_00229-model.pth.tar数百 MB映射网络(标准模式使用)
gfpgan/weights/(4 个 .pth 文件)合计数 GB人脸检测、对齐、解析与 GFPGAN 面部增强

项目自带一键下载脚本(Linux/macOS 推荐):

bash scripts/download_models.sh

✅ 脚本会自动创建 checkpoints/ 与 gfpgan/weights/ 目录并逐个下载,已存在的文件会被跳过,可安全重复执行;中途断网直接重跑即可续传。

Windows 用户或脚本失败时,手动把上表文件放到对应目录即可(可在项目发布页找到下载源);如果只打算用 256 模型,512 那个文件可以跳过。

验证首次运行:三条命令确认就绪

依次执行下面三条命令,确认环境真正可用:

python -c "import torch; print(torch.__version__, torch.cuda.is_available())" ffmpeg -version python -c "import librosa, face_alignment, gfpgan, safetensors; print('deps ok')"

预期输出:第一条打印框架版本与 True(有 GPU)或 False(无 GPU);第二条打印 FFmpeg 版本信息;第三条打印 deps ok。

全绿之后跑最短示例。inference.py 内置了默认的示例图像与音频,直接运行即可:

python inference.py

运行结束后会生成一个说话头视频,保存在 results/<时间戳>.mp4。换成自己的素材时:

python inference.py --driven_audio ./examples/driven_audio/deyu.wav \ --source_image ./examples/source_image/full_body_1.png

按硬件选方案:GPU与CPU怎么选

GPU 方案CPU 方案
硬件门槛NVIDIA GPU,4 GB 显存起步任意 x86 CPU
预期速度一条视频数十秒级数分钟到数十分钟
推荐参数--size 512 --batch_size 2,可开 --enhancer gfpgan--cpu --size 256 --batch_size 1,不开增强

GPU 示例(追求质量):

python inference.py --driven_audio ./examples/driven_audio/deyu.wav \ --source_image ./examples/source_image/full_body_1.png \ --size 512 --enhancer gfpgan

CPU 示例(保证能跑):

python inference.py --cpu --driven_audio ./examples/driven_audio/deyu.wav \ --source_image ./examples/source_image/full_body_1.png \ --size 256 --batch_size 1

💡 脚本会自动检测 CUDA,--cpu 只在你想强制用 CPU 时才需要加。

错误速查与排查:症状→原因→解决

先查表,绝大多数问题落在这七类里:

症状可能原因解决办法
ModuleNotFoundError、依赖冲突包缺失或版本不符激活隔离环境,重跑 pip install -r requirements.txt
ffmpeg is not recognized未安装或不在 PATH按平台安装后用 ffmpeg -version 验证
FileNotFoundError: ... checkpoints/...资产未下载或位置不对重跑 bash scripts/download_models.sh,核对目录结构
RuntimeError: unexpected EOF ... corrupted下载中断、文件不完整重新下载对应资产并核对文件大小
CUDA out of memory显存不足设置 PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128,调小 --batch_size 或改用 --size 256
Illegal Hardware(macOS M1)dlib 构建问题单独执行 pip install dlib 重装
Error while decoding stream(音频报错)音频格式不支持项目只接受 wav/mp3,先用 ffmpeg 转换格式

几个高频问题:

问:全身图能不能直接做动画? 答:可以,加--still --preprocess full,动起来的脸部会自动贴回原图,得到全身视频。

问:想用网页界面而不是命令行? 答:python app_sadtalker.py启动 Gradio 页面,或用一键脚本 webui.sh(Linux/macOS)与 webui.bat(Windows)。

问:256 和 512 两个模型都要留吗? 答:不用,代码按 --size 自动选模型,留你打算用的那个分辨率即可。

问:产物在哪,能看到中间结果吗? 答:默认输出到 results/<时间戳>.mp4;加 --verbose 会保留全部中间产物。

收尾:部署路线回顾

核硬件、建独立 3.8 环境、装依赖、拉资产,三步走完后用首次运行验证收尾。跑通之后,建议试试--still全身模式、--enhancer gfpgan面部增强,以及用参考视频借用眨眼和姿态这几个进阶玩法。更多参数组合见 docs/best_practice.md,遇到新报错可以翻 docs/FAQ.md。

【免费下载链接】SadTalker[CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation项目地址: https://gitcode.com/GitHub_Trending/sa/SadTalker

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询