SadTalker安装教程:30分钟从环境搭建到跑通第一条说话视频
【免费下载链接】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)。下面按实际操作顺序带你完成 SadTalker安装、模型下载和第一次推理,全程约半小时。
跑通第一条视频:SadTalker 环境搭建四步 🚦
整条路线只有四步:克隆仓库、建环境、装依赖、下模型,最后跑一条命令出片。按顺序执行即可。
第 1 步:克隆仓库
git clone https://gitcode.com/GitHub_Trending/sa/SadTalker cd SadTalker第 2 步:建独立 Python 环境
项目依赖锁定在 Python 3.8,用 conda 隔离最省事:
conda create -n sadtalker python=3.8 conda activate sadtalker第 3 步:装 PyTorch 和全部依赖
pip install torch torchvision torchaudio conda install ffmpeg pip install -r requirements.txt- PyTorch 请选与你显卡驱动匹配的版本;没有独显的机器直接装 CPU 版即可。
ffmpeg是视频读写工具,后面合成 mp4 全靠它,Windows 原生环境装完请确认ffmpeg在%PATH%里。- macOS(Apple 芯片)用户额外执行一次
pip install dlib,这是唯一需要单独处理的依赖。
第 4 步:下载模型文件
bash scripts/download_models.sh脚本会把 4 个核心权重放进./checkpoints/:两个映射网络mapping_00109-model.pth.tar、mapping_00229-model.pth.tar,以及新版 safetensors 格式的SadTalker_V0.0.2_256.safetensors、SadTalker_V0.0.2_512.safetensors(对应 256/512 两种输出分辨率)。wget -nc参数会让已存在的文件自动跳过,脚本可以放心重复执行。
跑第一条命令
依赖和模型就位后,直接用仓库自带的示例音频和示例图片出片:
python inference.py \ --driven_audio examples/driven_audio/bus_chinese.wav \ --source_image examples/source_image/full_body_1.png \ --result_dir ./results运行结束后,./results/下会生成一个带时间戳的 mp4 文件,这就是你第一条说话视频。想换素材时,把--driven_audio和--source_image指到自己的 wav 和照片路径即可。
按你的机器选参数:GPU 与 CPU 两套命令 🖥️
先跑通 256 分辨率,再按硬件上调参数,比一步到位更稳。
硬件要求速查
| 项目 | 最低配置 | 推荐配置 |
|---|---|---|
| GPU 环境 | RTX 2060(6GB 显存) | RTX 3060 及以上(8GB+ 显存) |
| CPU 环境 | i5 | i7 / i9 |
| 内存 | 8GB | 16GB+ |
| 磁盘空间 | 10GB 可用 | 20GB+ 可用 |
GPU 与 CPU 实测对比
| 维度 | GPU | CPU |
|---|---|---|
| 10 秒音频的生成耗时 | 15–30 秒 | 3–5 分钟 |
| 内存占用 | 显存 4–6GB | 内存 8–12GB |
| 适合场景 | 批量生成、反复调试 | 学习流程、偶尔出片 |
两组可直接复制的命令
GPU 机器,追求质量:
python inference.py \ --driven_audio examples/driven_audio/bus_chinese.wav \ --source_image examples/source_image/full_body_1.png \ --size 512 --batch_size 4CPU 或 6GB 小显存机器,求稳:
python inference.py \ --driven_audio examples/driven_audio/bus_chinese.wav \ --source_image examples/source_image/full_body_1.png \ --cpu --size 256 --batch_size 1两个关键参数:--size控制渲染分辨率(256 或 512),--batch_size控制渲染阶段一次处理多少帧,是显存占用的主要来源。如果你的机器显存在 6–8GB 之间,可以从--size 512 --batch_size 2起步,再视情况往上加。
出错了先查这里:四个高频报错速查 🛠️
现象:ffmpeg is not recognized/ffmpeg: command not found
原因:ffmpeg 没装,或装了但不在系统 PATH 里。
解决:
conda install ffmpegWindows 用户也可以用scoop install ffmpeg,装完重开终端。
现象:RuntimeError: CUDA out of memory(SadTalker 显存不足)
原因:512 分辨率加大 batch 时渲染阶段显存不够。
解决:
# Linux export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 # Windows 则用 set PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 python inference.py ... --size 256 --batch_size 1环境变量能减少显存碎片,降分辨率和 batch 才是根本手段。
现象:ModuleNotFoundError: No module named 'ai'或加载模型时报unexpected EOF
原因:模型文件没下全或下载中断导致损坏。
解决:
bash scripts/download_models.sh脚本带断点续传标记,重跑只补缺失文件即可。
现象:Mac M1/M2 上报Illegal Hardware Error
原因:dlib 的编译版本与 Apple 芯片不兼容。
解决:
pip install dlib单独重装 dlib 后重试。更多报错可在 docs/FAQ.md 里对照查。
让效果更好的细节 🎯
- 音频格式:wav 效果最好,采样率 16kHz 或 44.1kHz 均可;程序只接受 wav 和 mp3,其他格式请先转码(用
ffmpeg -i in.flac out.wav一条命令搞定)。 - 图像挑选:正面、光线均匀、面部清晰的照片最佳;重度美颜滤镜图容易让表情失真。模型在真人或接近真人风格的画面上才有效,纯动漫头像别抱太高期望。
- 分辨率策略:首次运行固定用 256,确认整条链路正常后再上 512;512 对显存和时间都是成倍消耗。
- 全身/半身图:加
--preprocess full --still,模型自动裁人脸区域做动画再贴回原图,头部姿态保持不动,适合整身照;--still单独用则只抑制头部运动。 - 表情幅度:
--expression_scale 1.0是默认值,调大(如 1.5)口型和表情更夸张,调小更收敛。 - 画质增强:
--enhancer gfpgan对生成人脸做超分修复,512 分辨率下提升明显;参考视频可用--ref_eyeblink借眨眼、--ref_pose借头部姿态,细节见 docs/best_practice.md。
装到这一步,你可以直接拿自己的照片和录音开始做数字人口播、课件讲解视频或虚拟角色配音,把生成的 mp4 交给剪辑工具二次处理即可。下一步建议:跑一遍python gradio_demo.py打开浏览器版操作界面,免去记命令行参数;需要接入 stable-diffusion-webui 的话,读 docs/webui_extension.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),仅供参考