惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CERT Recently Published Vulnerability Notes
U
Unit 42
T
The Blog of Author Tim Ferriss
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Securelist
L
Lohrmann on Cybersecurity
Blog — PlanetScale
Blog — PlanetScale
Recorded Future
Recorded Future
D
DataBreaches.Net
Spread Privacy
Spread Privacy
T
Threat Research - Cisco Blogs
I
Intezer
P
Palo Alto Networks Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
I
InfoQ
宝玉的分享
宝玉的分享
Security Latest
Security Latest
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threatpost
Cisco Talos Blog
Cisco Talos Blog
P
Proofpoint News Feed
博客园 - 司徒正美
H
Hacker News: Front Page
Y
Y Combinator Blog
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
NISL@THU
NISL@THU
月光博客
月光博客
有赞技术团队
有赞技术团队
Cloudbric
Cloudbric
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
A
Arctic Wolf
博客园 - 【当耐特】
W
WeLiveSecurity
V
Visual Studio Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
V
V2EX
C
Cyber Attacks, Cyber Crime and Cyber Security
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog

流动

2026 音色克隆方案对比:IndexTTS-2、CosyVoice、GPT-SoVITS、Fish Speech、VoxCPM 部署与实测 AI Agent折腾记(OpenClaw / Hermes Agent) 我的2025年 大连之行 回家收麦 六一儿童节爬长城 Golang database/sql 数据库断线自动重连机制解析 Golang默认Http Client导致的cannot assign requested address错误 清明踏春,爬山看海 购入小牛G400T电动车 北京的三月飞雪 wrenAI本地LLM模型部署 天津一日游 2024年终总结 停止使用staticfile.org服务 使用 ImageMagick 自动添加水印,保护图片版权 如何注册一个.sol域名 奥森公园半日游 昌平42公里骑行绿道打卡 十月一日爬慕田峪长城 当Hugo遇上AVIF,优化图片加载 博客被恶意镜像 Github Pages 部署流程解析 搭建个人锻炼页面 你好 Follow 中秋爬山 Google Adsense的审核之旅 让你的IPFS站点持久在线:接入Filebase的Names(IPNS)服务 一次简短的青岛之行 解决 "undeclared name: any (requires version go1.18 or later)" 编译错误 搭建自托管IPFS Gateway服务,替代Cloudflare的IPFS Gateway 302跳转的跨域问题(CORS) GORM增加sqlcommenter特性 源码分析:GORM是如何生成sql的 工银亚洲网银密码重置 加速Cloudflare访问 2023年终总结 2023年12月北京暴雪记录 使用Hugo实现响应式和优化的图片 加速Google Analytics 使用Google Indexing API加速博客收录 在Netlify上部署Twikoo评论系统 利用Github Actions定时抓取微博 北大口腔牙周刮治记录 故乡回忆之旅 解决Golang使用go get安装包后找不到可执行文件的问题 修正Hugo的JSON Feed格式 我的学车之路 将博客部署到星际文件系统(IPFS) 新冠疫情后的第一个春节 第一次清理键盘 2022年终总结 去掉Cloudflare烦人的email-decode.min.js请求 累计布局偏移修复方案改进 —— 自动生成图片宽高 优化博客的累计布局偏移(CLS)问题 将博客部署到Cloudflare Pages 奥林匹克公园向日葵之旅 记第二次洗牙 记录2022年海淀幼升小 Golang解析json的一个问题 疫情下的生活 整理下博客的一些调整 疫情下的五一假期 自己动手,更换thinkpad x1硬盘 二刷百望山 带娃游颐和园 博客架构说明 难得的清明假期 十一年的等待,终于拿到了liudon.com域名 被隔离的一周 mysql中字符串和整型自动转换的问题 一次惊心动魄的Mysql更新操作 如何在北京公积金网站上修改婚姻状况 PHP7.2编译安装后没有php.ini文件的问题 检测网站支持的SSL/TLS协议版本 记一次难忘的手术经历 十一假期经历 Swoft 框架运行分析(五) —— ConsoleProcessor模块分析 Swoft 框架运行分析(四) —— EventProcessor模块分析 一个git submodule update引发的问题 一个Curl的耗时长的问题 Swoft 框架运行分析(三) —— BeanProcessor模块分析 Swoft 框架运行分析(二) —— AnnotationProcessor模块分析 Swoft 框架运行分析(一) BCMath 与 科学计数 Flink Could Not Resolve Resourcemanager Address 解决Sublime Text安装包时"There Are No Packages Available for Installation"的报错 关于本站 2019,新开始
对口型视频合成方案对比:Wav2Lip、VideoReTalking 与 MuseTalk
Liudon · 2026-06-17 · via 流动

朋友有个口播视频合成的需求,这段时间做了些调研,核心是两个能力:音色克隆和对口型视频合成。

上一篇我们已经讲了音色克隆,今天我们来看一下对口型视频合成的实现。

部署验证

本次所有测试全部在AutoDL平台进行。

测试机器规格如下:

GPU RTX 4090(24GB) * 1
CPU 16 vCPU Intel(R) Xeon(R) Platinum 8352V CPU @ 2.10GHz
内存 120GB
硬盘 系统盘:30 GB
    数据盘:免费:50GB SSD  付费:0GB

省钱提示:

AutoDL有开机和无卡开机两种模式,无卡开机每小时0.1元,在环境部署阶段使用无卡开机模式,部署完成后再切换到正常开机模式测试。

Wav2Lip

基于2020年的A Lip Sync Expert Is All You Need for Speech to Lip Generation In the Wild论文实现,最经典的对口型方案,项目资料多、社区使用经验丰富。

项目地址: https://github.com/Rudrabha/Wav2Lip

https://github.com/anothermartz/Easy-Wav2Lip

本次使用Easy-Wav2Lip进行部署验证。

部署测试

  1. 创建虚拟环境
conda create -n wav2lip python=3.10 -y
conda activate wav2lip
  1. 克隆代码
git clone https://github.com/anothermartz/Easy-Wav2Lip.git
cd Easy-Wav2Lip
  1. 安装依赖
pip install -r requirements.txt
  1. 下载模型
  1. 合成测试
python inference.py \
    --checkpoint_path checkpoints/Wav2Lip_GAN.pth \
    --face input.mp4 \
    --audio input.wav \
    --outfile output.mp4 \
    --out_height 1608

默认合成的视频分辨率较低,可以通过 --out_height 指定输出视频高度,例如设置为原视频高度,以尽量保持输出分辨率。

实际耗时如下:

# --quality Fast
real    0m23.950s
user    1m13.251s
sys     1m1.965s

# --quality Enhanced
real    13m55.324s
user    196m45.613s
sys     6m58.818s

Video-ReTalking

基于2022年的Audio-based Lip Synchronization for Talking Head Video Editing In the Wild论文实现,由西安电子科技大学、腾讯 AI Lab、清华大学等机构提出的口型同步与表情编辑方案。

项目地址:

https://github.com/opentalker/video-retalking

部署测试

  1. 准备系统依赖
sudo apt update
sudo apt install -y git wget curl build-essential cmake ffmpeg
nvidia-smi
conda --version
  1. 克隆项目
cd ~
git clone https://github.com/OpenTalker/video-retalking.git --recursive
cd video-retalking
  1. 创建环境并安装依赖
conda create -n video_retalking python=3.8 -y
conda activate video_retalking

pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 \
    --index-url https://download.pytorch.org/whl/cu118

pip install -r requirements.txt
  1. 下载权重
cd ~/video-retalking
mkdir -p checkpoints
cd checkpoints

BASE=https://github.com/vinthony/video_retalking/releases/download/v0.0.1

for f in \
  30_net_gen.pth \
  BFM.zip \
  DNet.pt \
  ENet.pth \
  expression.mat \
  face3d.pth \
  GFPGANv1.3.pth \
  GPEN-BFR-512.pth \
  LNet.pth \
  ParseNet-latest.pth \
  RetinaFace-R50.pth \
  shape_predictor_68_face_landmarks.dat
do
  wget -c "$BASE/$f"
done

unzip -o BFM.zip -d BFM
rm BFM.zip

权重总大小约 4GB。缺任何一个文件,都可能在加载 checkpoint 阶段报错。

  1. 合成测试
python3 inference.py \
  --face input.mp4 \
  --audio input.wav \
  --outfile ./result.mp4

实际耗时如下:

real    6m13.248s
user    11m8.239s
sys     1m17.590s

MuseTalk

基于2024年的Real-Time High Quality Lip Synchronization with Latent Space Inpainting论文实现,由腾讯音乐天琴实验室开源的实时高质量唇形同步模型。

它走潜在空间 inpainting 路线,v1.5 相比早期版本提升了清晰度和唇语同步效果。

项目地址:

https://github.com/TMElyralab/MuseTalk

部署测试

  1. 安装系统依赖
nvidia-smi
conda --version
sudo apt update
sudo apt install -y git ffmpeg build-essential
  1. 创建环境
conda create -n musetalk python=3.10 -y
conda activate musetalk

pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 \
    --index-url https://download.pytorch.org/whl/cu118
  1. 克隆项目并安装依赖
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"
pip install munkres json_tricks xtcocotools
  1. 配置 FFmpeg
export FFMPEG_PATH=$(which ffmpeg)
echo 'export FFMPEG_PATH=$(which ffmpeg)' >> ~/.bashrc
source ~/.bashrc
  1. 下载模型
export HF_ENDPOINT=https://hf-mirror.com # 国内网络可以先设置 HuggingFace 镜像
cd ~/MuseTalk

hf download TMElyralab/MuseTalk --local-dir models/
hf download stabilityai/sd-vae-ft-mse --local-dir models/sd-vae-ft-mse/
hf download openai/whisper-tiny --local-dir models/whisper/
hf download yzd-v/DWPose --include "dw-ll_ucoco_384.pth" --local-dir models/dwpose/
hf download ByteDance/LatentSync --include "latentsync_syncnet.pt" --local-dir models/syncnet/
hf download afrizalha/musetalk-models \
    --include "face-parse-bisent/79999_iter.pth" \
    --local-dir models/

wget https://download.pytorch.org/models/resnet18-5c106cde.pth \
    -O models/face-parse-bisent/resnet18-5c106cde.pth

模型目录大致应包含:

models/
├── musetalk/
├── musetalkV15/
├── syncnet/
├── dwpose/
├── face-parse-bisent/
├── sd-vae-ft-mse/
└── whisper/
  1. 合成测试
python -m scripts.inference \
    --inference_config configs/inference/my_task.yaml \
    --result_dir results/my_output \
    --unet_model_path models/musetalkV15/unet.pth \
    --unet_config models/musetalkV15/musetalk.json \
    --version v15 \
    --use_float16

输出文件会保存在 results/my_output/目录下。

实际耗时如下:

real    2m54.050s
user    8m12.693s
sys     0m59.808s

方案对比总结

方案部署难度推理速度画面质量适合场景
Wav2Lip / Easy-Wav2Lip中等Fast 模式最快,Enhanced 模式最慢一般,嘴部和脸部容易模糊快速验证、低成本批量测试
Video-ReTalking较高中等偏慢较好,带人脸增强流程高质量离线视频合成
MuseTalk较高较快本次测试最好数字人、实时或准实时口型驱动

从本次测试结果看,如果只是快速验证流程,Wav2Lip / Easy-Wav2Lip 成本最低;如果更重视最终观感,可以考虑 Video-ReTalking;如果希望在速度和效果之间取得更好的平衡,MuseTalk 是目前更推荐的方案。

效果对比

Wav2Lip

Video-ReTalking

MuseTalk

基于本次测试素材来看,MuseTalk 的画面质量最优,Video-ReTalking次之,Wav2Lip最差,抖动最明显。

从合成速度来看,从快到慢依次为:Wav2Lip Fast、MuseTalk、Video-ReTalking、Wav2Lip Enhanced。

结论

整体来看,MuseTalk 在本次测试中速度和效果都比较均衡,是三个方案里我目前最推荐继续深入尝试的方案。