视频音频对嘴--Wav2Lip
之前介绍了将图片加音频进行对嘴处理,生成新的视频:
基础版: https://www.cnblogs.com/cj8988/p/18952604
进阶版(加表情) :https://www.cnblogs.com/cj8988/p/18957718
这里介绍一个视频对嘴,一个视频加音频进行对嘴,生成新的视频。
Wav2Lip-HD:改进Wav2Lip以实现高保真视频。
一:源码下载
核心源码:https://github.com/saifhassan/Wav2Lip-HD
高清处理源码:https://github.com/xinntao/Real-ESRGAN
Real-ESRGAN解压后放到Wav2Lip-HD文件夹中。

二:模型下载
根据文档,下载相应模型,然后放到相应的位置上。
Wav2Lip: https://drive.google.com/drive/folders/1tB_uz-TYMePRMZzrDMdShWUZZ0JK3SIZ
ESRGAN: https://drive.google.com/file/d/1Al8lEpnx2K-kDX7zL2DBcAuDnSKXACPb/view
Face_Detection: https://drive.google.com/file/d/1uNLYCPFFmO-og3WSHyFytJQLLYOwH5uY/view
Real-ESRGAN: https://drive.google.com/drive/folders/1BLx6aMpHgFt41fJ27_cRmT8bt53kVAYG
Real-ESRGAN: https://drive.google.com/file/d/1qNIf8cJl_dQo3ivelPJVWFkApyEAGnLi/view
下载的相应模型就放到相应位置:

下载一个ffmpeg.exe 放到根目录下Wav2Lip-HD:https://ffmpeg.org/download.html
(如果最新版本不行,可以下载6.1版本:ffmpeg version 6.1-full_build)
三:运行
(1):安装一个虚拟环境(window的Anaconda)进行运行,这样就不会破坏本地的换,没有Anaconda的需要下载安装:https://www.anaconda.com/download/success

(2)创建虚拟环境:
#创建虚拟环境,这里使用3.10的环境:
conda create --name wavalip python=3.10 #查看环境:
conda info --envs #激活环境:
conda activate wavalip #退出:
# conda deactivate
(3)运行:
需要先修改一下文件:run_final.bat。将视频和音频放到相应位置,然后修改这里的文件名字。

可以先注释代码中的 REM Step 2 ~ REM Step 4,只保留第一个 Step 1。
第一步就是视频根据你的音频进行对嘴处理,生成新的视频。
Step 2 ~ Step 4 就是对你的视频进行高清处理,这一步是很耗时的,很慢的。

#在虚拟环境中运行
#激活环境:
conda activate wavalip #运行
run_final.bat #如果有报错,根据报错安装相应的包
# pip install ...
不打开高清处理,应该还是很快的,生成的视频在文件夹: output_videos_wav2lip 中。没有问题后,可以打开Step 2 ~ Step 4。打开后会很慢,建议找的视频和音频时长一样,而且尽量段一些,这样可以减少生成时间。
打开高清处理,生成的视频在:output_videos_hd 文件夹中。
看了一下日志,先使用Wav2Lip生成对嘴视频,然后将视频拆分为每一帧图片(文件夹frames_wav2lip中查看),然后将所有图片高清处理(处理后的图片在文件夹frames_hd 中),最后将高清图片转为视频,并且加上音频。
最后生成的就是高清对嘴视频。(如果视频有两人,音频也有应该有两个人)。
平台视频截图:

高清视频截图:

很明显,如果条件可以,最好进行高清处理,这样生成的视频才能看。
查看文档:
https://github.com/saifhassan/Wav2Lip-HD
https://github.com/Rudrabha/Wav2Lip
视频音频对嘴--Wav2Lip的更多相关文章
- win10如何让她闭嘴、按什麽建系统都要说话、如何让她闭嘴?
win10如何让她闭嘴.按什麽建系统都要说话.如何让她闭嘴? 开始 设置 轻松使用 讲述人,关掉……
- 转:基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴等)【模式识别中的翘楚】
文章来自于:http://blog.renren.com/share/246648717/8171467499 基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴 ...
- iOS超全开源框架、项目和学习资料汇总--数据库、缓存处理、图像浏览、摄像照相视频音频篇
iOS超全开源框架.项目和学习资料汇总--数据库.缓存处理.图像浏览.摄像照相视频音频篇 感谢:Ming_en_long 的分享 大神超赞的集合,http://www.jianshu.com/p/f3 ...
- ZT 俞敏洪:2014我要闭嘴 相信未来不是梦
俞敏洪:2014我要闭嘴 相信未来不是梦 手机免费访问www.cnfol.com2013年12月11日 08:38 中国企业家网 查看评论 字体:小 中 大中金在线微博微信加关注 扫描二维码 关注 ...
- OpenCV-Python 人脸眼睛嘴识别
# 识别眼睛.嘴巴.人脸 image = cv2.imread('./yong.jpg') gray = cv2.cvtColor(image,code=cv2.COLOR_BGR2BGRA) # 加 ...
- Android获取视频音频的时长的方法
android当中获取视频音频的时长,我列举了三种. 1:获取视频URI后获取cursor cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore ...
- WPF中播放视频音频
首先要在WPF中播放视频和音频,我们就需要用到MediaElement控件,下面我们示例播放音频和视频. 用MediaElement播放音频: 第一步:将你需要播放的音频(mp3)放在你WPF项目的D ...
- PS 如何把大嘴变小嘴
Photoshop整容教程:让MM美唇大嘴变小嘴 2009-06-17 14:15作者:佚名出处:天极网软件频道责任编辑:王健 下面就开始实际操作了. 1.首先从Photosh ...
- 心里想的VS嘴上说的
心里想的VS嘴上说的 背景:昨天开会,在招行总行那边,今天检讨下自己不会说话,真是太难了我! 一.昨日重现 现在回想起当时的场景觉得自己也真是搞笑,这都没死,太难了我.昨天下午在五楼开会,这也是我入职 ...
- iOS开发 简单实现视频音频的边下边播 (转)
1.ios视频音频边缓存边播放,缓存时可以在已下载的部分拖拽进度条. 3.无论是下载到一半退出还是下载完退出,已缓存的数据都存到自己指定的一个路径.如果已下载完,下次播放时可以不再走网络,直接播放 ...
随机推荐
- 关于ASCII码的一些信息(转载自https://blog.csdn.net/na_tion/article/details/50148883)
ASCII码分基本表(128个字符,从00000000到01111111).扩展表(256个字符,从00000000到11111111)和压缩表(64个字符),我们经常用的是128个的基本表,而在一些 ...
- unigui显示websocket服务端向客户端发送信息【15】
用WebSocket从服务端直接发送消息给all客户端. 1.在ServerModule 放TUniThreadTimer 2.timer event: procedure TUniServerMod ...
- 物理机burpsuite抓包虚拟机以及Chrome导入burp证书
记录物理机的burpsuite抓包虚拟机谷歌浏览器和遇到的问题总结 从别的地方搬家过来的,图片有水印懒得改了就这样吧,或者改天抹了( 打开虚拟机,网络适配器选择NAT 打开主机的burpsuite,点 ...
- 端口telnet不通排查过程
现状 简单描述下最近在做啥,我手里维护的一些系统的线上服务器,还在使用centos7,7.3/7.6/7.9都有,运维侧选定的替换系统是openEuler20.03-LTS-SP1.按理说,运维直接在 ...
- 测试用例Xmind转XML格式教程
运行环境: Python版本:3.7(Python2.x和Python2.x均可) 第三方库:xmind2testlink/xmind2testcase 1.安装Python(以Python3.x为例 ...
- 应对海量数据挑战,如何基于Euro NCAP标准开展高效智驾测试与评估?
一.前言 随着自动驾驶技术的快速发展,庞大的测试数据和复杂的场景需求为性能与安全评估带来了巨大挑战.如何高效管理海量数据.挖掘关键场景,并满足以Euro NCAP(European New Car A ...
- MySQL 事务的二阶段提交是什么?
MySQL 事务的二阶段提交是什么? 二阶段提交(Two-Phase Commit, 2PC)是分布式事务中的一种协调协议,用于确保多个资源(如数据库或数据节点)在事务提交时保持一致性.MySQL 在 ...
- Java虚拟机代码是如何一步一步变复杂且难以理解的?
有相关统计数据显示,Java开发者有1000万+,这么多的人每天都在使用Java虚拟机进行开发,不过真正看过虚拟机代码的人应该非常非常少吧,可能有些人研究过,不过由于Java虚拟机是一个高度复杂的系统 ...
- 代码随想录第二十五天 | Leecode 491. 非递减子序列、46. 全排列、47. 全排列 II
Leecode 491. 非递减子序列 题目描述 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 .你可以按 任意顺序 返回答案. 数组中可能含有重 ...
- centos6分区要点
安装centos6系统时,为了以后能够扩展存储,分区时要注意几点: 1.boot引导分区要选固定分区类型存储,大小是500M 2.其余分区全部做成物理卷lvm pyshiic类型存储 3.在这个物理 ...