SadTalker 说话视频生成指南:一张照片加一段音频,让肖像开口说话
2026/9/12 6:30:23 网站建设 项目流程

SadTalker 说话视频生成指南:一张照片加一段音频,让肖像开口说话

【免费下载链接】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 是音频驱动的说话视频生成工具:给它一张肖像照片和一段音频,它会生成口型同步的说话头部视频,渲染分辨率由--size控制,默认 256,也可指定 512 使用新版 512x512 面部模型。项目由西安交通大学与腾讯 AI Lab 联合开发,方法发表于 CVPR 2023,代码以 Apache 2.0 协议开源。

🧩 最短路径:装环境、下模型

整条链路只依赖三样东西:Python 3.8、Git、FFmpeg。装好之后,剩下的都能交给脚本:

git clone https://gitcode.com/GitHub_Trending/sa/SadTalker bash scripts/download_models.sh bash webui.sh
  • Linux/macOS 依次执行上面三行:克隆仓库、把全部模型文件自动下载到checkpoints/gfpgan/weights/,再运行webui.sh自动创建 venv、安装依赖,浏览器会直接打开 Gradio 界面。macOS 若报 dlib 相关错误,补一句pip install dlib即可。
  • Windows 装好三样前置后,在仓库目录双击webui.bat,脚本会自动装依赖并启动界面;模型文件需要手动下载,分别放入checkpoints/gfpgan/weights/两个目录。

WebUI 和命令行共用同一套模型,哪边顺手动哪边。

🎬 三条命令出第一条说话视频

不用自己准备素材,仓库自带示例音频和肖像,替换成自己的文件后一条命令就能跑:

python inference.py --driven_audio examples/driven_audio/bus_chinese.wav \ --source_image examples/source_image/art_0.png \ --enhancer gfpgan

前两个参数分别是音频和图片,--enhancer gfpgan打开面部增强。跑完后成片输出到results/<时间戳>/<时间戳>.mp4,终端会打印最终文件名。不想敲命令的话,在 Gradio 界面里上传照片和音频、点生成,效果一致。

🎚 三个参数决定成片效果

完整参数表在官方文档 docs/best_practice.md。对成片影响最大的三个,按重要度排:

1.--preprocess:先决定素材怎么裁

默认crop:自动检测面部关键点,裁出面部特写再生成,头部运动和表情都最稳定。素材是全身或半身照时,改用full并加上--still固定头部姿态,可以得到自然的全身说话视频。resize会把整图缩放到目标分辨率再渲染,适合证件照这类头像素材;官方文档明确提示全身照用它会效果不佳。

2.--enhancer:面部细节增强

--enhancer gfpgan(或RestoreFormer)会在成片上跑人脸修复网络,提升面部细节;想连背景一起增强,再加--background_enhancer realesrgan。成片脸部发糊时,这是第一个该打开的开关。

3.--expression_scale:表情强度

默认 1.0,数值越大,面部表情动作越强。成片表情过于夸张、和语气不搭时,把这个值调低一档再重新生成。

另有一个可选项:--ref_eyeblink--ref_pose可以从另一段参考视频里借用眨眼和头部姿态,成片的眼睛活动会更自然。

🖼 输入素材这样选

图片

  • 正面、面部清晰:系统要先检出面部关键点才能裁剪,人脸占比太小或角度太偏时无法定位。
  • 光线均匀,避免强烈侧光和重阴影。
  • 只支持真人或接近真人的肖像,官方文档明确说明动漫等风格化图像不适用。

音频

  • 只支持 wav 和 mp3,其他格式会报解码错误,官方 FAQ 有说明。
  • 录音尽量干净,少带环境噪音:音频负责驱动口型和表情,素材越噪,结果越不稳。
  • 仓库examples/driven_audio/自带 14 段示例音频,覆盖中文、英文、日文,不用录音也能马上生成。

📚 三类具体用法

课程与培训视频

讲师的正面肖像加上录好的课程音频,得到的说话视频可以直接放在课程首页或作为试看片段。内容更新时只换音频,不用重新拍摄。

外语教学素材

示例音频里有英文(如RD_Radio31_000.wav)和日文(japanese.wav),配上固定肖像就能做出"真人语音加静态图"的发音演示素材。语言课里更换语段、更新讲义的成本很低。

纪念与个人创作

老照片、个人照片用--preprocess full --still生成全身说话视频,头像是默认crop模式即可。想让眼神更自然,加--ref_eyeblink从一段实拍视频里借用眨眼。

❓ 卡住了先看这三条

更多问题见官方 docs/FAQ.md。最常遇到的是这三条:

  1. 提示ffmpeg is not recognized或找不到命令:先装 ffmpeg。Linux 用conda install ffmpeg,macOS 用brew install ffmpeg,Windows 需要把 ffmpeg 加入 PATH。
  2. checkpoints\BFM_Fitting\...等文件不存在:模型没下全或放错位置。重新执行scripts/download_models.sh,确认checkpoints/gfpgan/weights/两个目录完整。
  3. Mac M1 报 Illegal Hardware Error:dlib 的编译版本不兼容,单独执行pip install dlib重装。

适合手里有现成照片和音频、又不想学剪辑和动画的人,教学、课程、纪念类内容都能直接套用。下一步可以先用仓库里的示例素材跑通流程,再换成自己的素材,按--preprocess--enhancer--expression_scale的顺序逐项调整。

【免费下载链接】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),仅供参考

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

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

立即咨询