每次研究一个项目都需要不少精力,所以浅尝辄止是不行滴,我们必须把所有应用场景都玩一遍。而且是 step by step 带大家一起玩!
今天我就来说说如何在视频聊天中使用实时换脸技术。支持QQ,微信,ZOOM,Skype,Slack 等视频聊天,视频会议软件。
直播的思路是通过屏幕截取推流,而视频聊天的核心思路是把换脸后的窗口模拟成一个虚拟摄像头。其他东西,在之前的文章里已经说过了,今天就废话不说直接开干咯。
文章图片
假设我们已经在本地安装好了avatarify ,关于如何安装可以参考《换脸直播搞起,效果堪比川剧变脸!》或者自己从网络上找资料。
下面就直接说步骤了。
1. 安装obs
2. 安装obs的虚拟摄像头插件
3. 启动avatarify
4. 添加OSB场景
5. 启用虚拟摄像头
6. 打开视频聊天切换摄像头
1. 安装obs
OBS Studio是一款视频直播录制软件,为用户提供了视频、文本、图像等的捕获录制功能。OBS Studio界面简洁,功能强大,不仅录制质量好占用资源小而且还是免费!
简单来说能推,能录屏幕上摄像头上的各种东西!软件安装非常简单,一路next即可。
文章图片
Next
文章图片
路径可以直接默认,如果C盘空间比较紧张,可以执行把前面的盘符改成其他磁盘。然后点击Install安装。
文章图片
安装完成后勾选 Launch 点击Finish就可以直接启动。
文章图片
启动后是这个样子。语言应该是自动识别,官方自带中文。主要是几个区域,最上面为菜单,中间为直播画面显示。下方分别是:场景,来源,混音,转场特效,控件。
2. 安装obs的虚拟摄像头插件
好的软件往往都是低耦合,插件式。obs也是如此,他本身非常精简,其他功能可以通过插件实现。这里我们需要一个VirtualCam的插件。插件的作用就是把某个窗口模拟成虚拟摄像头。
安装也很简单,基本都是Next
文章图片
这一步,选择 I acceptthe 。。。然后点击Next
文章图片
这一步,选择2.only 1 virtual camera然后点击Next
文章图片
如何你的OBS开着,他就会提示你,选择Automatically close ,然后点击Next
文章图片
安装非常快,跳出两个弹出后就安装完成了。
3. 启动avatarify
这个我们在之前的文章中已经介绍了。
打开anaconda,
启用activate虚拟环境,
通过cd命令进入avatarify目录,
通过run_windows.bat命令启动avatarify 。
文章图片
启动后,是两个窗口。左边的cam是通过电脑摄像头拍到,就是你自己的脑袋(我这里就不露脸了)。右边为实时换脸后的脑袋。
4. 添加OSB场景
这一步的作用是,把换脸后的窗口添加到OBS里面。
打开 OBS Studio。
文章图片
默认应该有场景1,没有的话创建点击左下角加号创建一个,名字随意。然后添加一个来源。
文章图片
点击加号后,会有很多种来源,今天我们需要用的是窗口捕获
文章图片
名称可以默认,直接点击确定。
文章图片
这一步稍微注意几个点。窗口选择 avatarify , 捕获方式要选win10,否则窗口会有些问题。如果你不是win10用户,那就另说了。
文章图片
刚设置的头像一般是在左上角很小的区域,这样推流之后也会是这么小。所以需要放大到合适的问题。你可以直接点击边缘拖动,也可以点击头像右键,变换(T),比例适配屏幕(F)。
文章图片
这这里场景就添加完成了。
5. 启用虚拟摄像头
文章图片
在顶部菜单栏中找到工具,然后启用虚拟摄像头。
文章图片
Option勾选自动启动,Target Camera 选择OBS-Camera ,缓冲帧 0 ,点击启动。
到这里就万事俱备。可以找个好友来聊天了!
6. 打开视频聊天切换摄像头
以QQ聊天为例,找一个人打开视频聊天就好了。默认情况下会不显示自己的摄像头,此时点击聊天窗口的摄像图标切换摄像为avatarify就可以啦,通过电脑端微信也可以实现视频聊天换脸。
文章图片
【opengl|直播换脸后,我们来搞搞微信QQ聊天换脸!| avatarify】理论上来说,这种方式支持大部分视频聊天,视频会议软件。不同的视频软件,同样的思路,只需要找到切换摄像头地方,切换成avatarify就好了。
Skype
文章图片
Zoom
文章图片
Slack
文章图片
本文介绍的虚拟摄像头配置,可以让你在视频聊天窗口中放各种各样的东西,可玩性也是很高滴。
推荐阅读
- EE1612
- 人工智能|人工智能---深度学习从感知机到神经网络
- 感知机-梯度下降
- 算法|Python中机器学习神器——sklearn模块
- 量子计算|VQLS(变分量子算法解线性方程组)
- 量子计算|CDR(线性模型处理量子噪声处理方法)
- python|《机器学习》西瓜书 算法代码 python实现
- 机器学习|深度学习中优化方法
- 深度学习理论|DeepLearning:训练神经网络—梯度下降优化器(optimizer)