一种视频通话虚拟背景实现方法及系统与流程

未命名 07-12 阅读:254 评论:0


1.本发明涉及前端页面开发技术领域,具体地说是一种视频通话虚拟背景实现方法及系统。


背景技术:

2.目前各行各业都在加快互联网转型,而在这个过程中音视频通话又是一个至关重要的组成部分,相应的根据使用场景的不同就会衍生出各种不同的需求,虚拟背景是其中较为常见且实用性较强的一种,而虚拟背景与人像的兼容性问题是目前面临的较为普遍的问题,在部署实现方式、兼容性及扩展性等各方面都需要进一步优化提升。


技术实现要素:

3.本发明的技术任务是针对以上不足之处,提供一种视频通话虚拟背景实现方法及系统,能够提升兼容性,满足国产化的需求;实现简单,开发难度较低,可快速实现,且扩展型强。
4.本发明解决其技术问题所采用的技术方案是:
5.一种视频通话虚拟背景实现方法,利用webrtc及peerjs进行视频采集及传输,基于tensorflow.js且采用mediapipe开源模型进行图像分割,并利用electron进行客户端封装;提供了一种简单可用的虚拟背景解决方案;
6.该方法的实现包括webrtc视频采集、人像分割处理、模型参数调整、人像媒体流与虚拟背景媒体流的合成、媒体信息的发布推送。
7.本方法基于tensorflow并结合webrtc技术提供一种可行的虚拟背景解决方案,采用electron客户端进行封装,提升兼容性与国产化的需求。
8.进一步的,该方法的实现过程如下:
9.1)、使用webrtc技术进行媒体信息采集;
10.2)、通过mediapipe开源模型对采集的媒体信息进行人像分割处理;
11.3)、调整mediapipe模型参数使人像分割效果达到最佳;
12.4)、将人像与虚拟背景进行整合,并通过canvas进行绘制;
13.5)、将合成视频通过webrtc进行传输实现虚拟背景效果;
14.6)、通过electron客户端进行封装,提高兼容性。
15.进一步的,所述使用webrtc技术进行媒体信息采集,
16.使用webrtc及peerjs技术采集用户的媒体信息,通过websocket进行sdp描述,媒体协商与信令交互需具备公网地址,以便在互联网可以访问。
17.进一步的,对于环境复杂的网络,包括带有防火墙或多层路由的网络,还需要部署nat穿透服务,对网络进行打洞处理,实现对复杂网络的视频穿透,防止视频通话失败。
18.优选的,所述通过mediapipe开源模型实现人像分割:
19.集成调用ai模型对采集的视频流进行处理,获取完整的图像分割信息并绘制于
canvas。
20.进一步的,本方法采用公网服务器部署,具体部署实施过程如下:
21.1)、服务器安装相应开发环境,部署相应服务;
22.2)、部署nat穿透服务:部署开源穿透服务coturn,进行相对应的配置;
23.3)、根据方案中的实现路线以及具体需求进行二次开发及修改;
24.4)、封装客户端进行分发;
25.5)、如需修改客户端,在线安装升级新版客户端。
26.本发明还要求保护一种视频通话虚拟背景实现系统,包括webrtc视频采集模块、人像分割处理模块、模型参数调整模块、人像与虚拟背景合成模块、发布模块,
27.该系统利用webrtc及peerjs进行视频采集及传输,基于tensorflow.js且采用mediapipe开源模型进行图像分割,并利用electron进行客户端封装。
28.进一步的,所述webrtc视频采集模块,使用webrtc技术进行媒体信息采集;
29.人像分割处理模块通过mediapipe开源模型对采集的媒体信息进行人像分割处理;
30.模型参数调整模块用于调整mediapipe模型参数使人像分割效果达到最佳;
31.人像与虚拟背景合成模块将人像媒体流与虚拟背景媒体流进行整合,并通过canvas进行绘制;
32.发布模块实现媒体信息的发布推送,将合成视频通过webrtc进行传输实现虚拟背景效果;
33.通过electron客户端进行封装,提高兼容性。
34.进一步的,该系统采用公网服务器部署,具体部署实施过程如下:
35.1)、服务器安装相应开发环境,部署相应服务;
36.2)、部署nat穿透服务:部署开源穿透服务coturn,进行相对应的配置;
37.3)、根据方案中的实现路线以及具体需求进行二次开发及修改;
38.4)、封装客户端进行分发;
39.5)、如需修改客户端,在线安装升级新版客户端。
40.本发明还要求保护一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器能够执行上述的视频通话虚拟背景实现方法。
41.本发明的一种视频通话虚拟背景实现方法与现有技术相比,具有以下有益效果:
42.本方法实现简单,采用的均为当前主流技术栈且学习曲线较为平缓,开发难度相对较低,可以快速实现。
43.兼容性强,采用electron构建,拥有较为良好的跨平台属性。
44.扩展性强,采用web技术进行开发,对于功能的增加及扩展大部分可通过web页面的更新完成。
附图说明
45.图1是本发明实施例提供的视频通话虚拟背景实现方法的原理示图。
具体实施方式
46.下面结合具体实施例对本发明作进一步说明。
47.一种视频通话虚拟背景实现方法,利用webrtc及peerjs进行视频采集及传输,基于tensorflow.js且采用mediapipe开源模型进行图像分割,并利用electron进行客户端封装;提供了一种简单可用的虚拟背景解决方案。
48.该方法的实现包括webrtc视频采集、人像分割处理、模型参数调整、人像媒体流与虚拟背景媒体流的合成、媒体信息的发布推送。如图1所示。
49.本方法基于tensorflow并结合webrtc技术提供一种可行的虚拟背景解决方案,采用electron客户端进行封装,提升兼容性与国产化的需求。
50.该方法的实现方式如下:
51.1)、使用webrtc技术进行媒体信息采集;
52.2)、通过mediapipe开源模型对采集的媒体信息进行人像分割处理;
53.3)、调整mediapipe模型参数使人像分割效果达到最佳;
54.4)、将人像与虚拟背景进行整合,并通过canvas进行绘制;
55.5)、将合成视频通过webrtc进行传输实现虚拟背景效果;
56.6)、通过electron客户端进行封装,提高兼容性。
57.具体实现为:
58.1、使用webrtc及peerjs技术采集用户的媒体信息,通过websocket进行sdp,媒体协商与信令交互,需要具备公网地址,以便在互联网可以访问;对于环境复杂(带有防火墙、多层路由)的网络,还需要部署nat穿透服务,对网络进行打洞处理,实现对复杂网络的视频穿透,防止视频通话失败。
59.2、通过mediapipe开源模型实现人像分割:集成调用ai模型对采集的视频流进行处理,获取完整的图像分割信息并绘制于canvas。
60.3、调整模型参数:根据实际需求与效果对模型参数进行调整,用于达到最佳的分割效果。
61.4、将人像与虚拟背景进行整合:将背景图片或者背景视频与分割出来的人像通过canvas进行整合绘制,从而实现实时通话过程中的虚拟背景。
62.5、通过webrtc将合成视频流推送到远端并发布。
63.6、通过electron封装客户端,实现国产化与跨平台。
64.本方法采用公网服务器部署,具体部署实施过程如下:
65.1)、服务器安装相应开发环境,部署相应服务;
66.2)、部署nat穿透服务:部署开源穿透服务coturn,进行相对应的配置;
67.3)、根据方案中的实现路线以及具体需求进行二次开发及修改;
68.4)、封装客户端进行分发;
69.5)、如需修改客户端,在线安装升级新版客户端。
70.本发明实施例还提供一种视频通话虚拟背景实现系统,包括webrtc视频采集模块、人像分割处理模块、模型参数调整模块、人像与虚拟背景合成模块、发布模块,
71.该系统利用webrtc及peerjs进行视频采集及传输,基于tensorflow.js且采用mediapipe开源模型进行图像分割,并利用electron进行客户端封装。
72.所述webrtc视频采集模块,使用webrtc技术进行媒体信息采集;
73.人像分割处理模块通过mediapipe开源模型对采集的媒体信息进行人像分割处理;
74.模型参数调整模块用于调整mediapipe模型参数使人像分割效果达到最佳;
75.人像与虚拟背景合成模块将人像媒体流与虚拟背景媒体流进行整合,并通过canvas进行绘制;
76.发布模块实现媒体信息的发布推送,将合成视频通过webrtc进行传输实现虚拟背景效果;
77.通过electron客户端进行封装,提高兼容性。
78.具体实现为:
79.1、webrtc视频采集模块使用webrtc及peerjs技术采集用户的媒体信息,通过websocket进行sdp,媒体协商与信令交互,需要具备公网地址,以便在互联网可以访问;
80.对于环境复杂(带有防火墙、多层路由)的网络,还需要部署nat穿透服务,对网络进行打洞处理,实现对复杂网络的视频穿透,防止视频通话失败。
81.2、人像分割处理模块通过mediapipe开源模型实现人像分割:集成调用ai模型对采集的视频流进行处理,获取完整的图像分割信息并绘制于canvas。
82.3、模型参数调整模块调整模型参数:根据实际需求与效果对模型参数进行调整,用于达到最佳的分割效果。
83.4、人像与虚拟背景合成模块将人像与虚拟背景进行整合:将背景图片或者背景视频与分割出来的人像通过canvas进行整合绘制,从而实现实时通话过程中的虚拟背景。
84.5、发布模块通过webrtc将合成视频流推送到远端并发布。
85.6、通过electron封装客户端,实现国产化与跨平台。
86.该系统采用公网服务器部署,具体部署实施过程如下:
87.1)、服务器安装相应开发环境,部署相应服务;
88.2)、部署nat穿透服务:部署开源穿透服务coturn,进行相对应的配置;
89.3)、根据方案中的实现路线以及具体需求进行二次开发及修改;
90.4)、封装客户端进行分发;
91.5)、如需修改客户端,在线安装升级新版客户端。
92.本发明实施例还提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述实施例中所述的视频通话虚拟背景实现方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
93.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
94.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
95.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过
基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
96.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
97.上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

技术特征:
1.一种视频通话虚拟背景实现方法,其特征在于,利用webrtc及peerjs进行视频采集及传输,基于tensorflow.js且采用mediapipe开源模型进行图像分割,并利用electron进行客户端封装;该方法的实现包括webrtc视频采集、人像分割处理、模型参数调整、人像媒体流与虚拟背景媒体流的合成、媒体信息的发布推送。2.根据权利要求1所述的一种视频通话虚拟背景实现方法,其特征在于,该方法的实现过程如下:1)、使用webrtc技术进行媒体信息采集;2)、通过mediapipe开源模型对采集的媒体信息进行人像分割处理;3)、调整mediapipe模型参数使人像分割效果达到最佳;4)、将人像与虚拟背景进行整合,并通过canvas进行绘制;5)、将合成视频通过webrtc进行传输实现虚拟背景效果;6)、通过electron客户端进行封装,提高兼容性。3.根据权利要求2所述的一种视频通话虚拟背景实现方法,其特征在于,所述使用webrtc技术进行媒体信息采集,使用webrtc及peerjs技术采集用户的媒体信息,通过websocket进行sdp描述,媒体协商与信令交互需具备公网地址,以便在互联网可以访问。4.根据权利要求3所述的一种视频通话虚拟背景实现方法,其特征在于,对于环境复杂的网络,包括带有防火墙或多层路由的网络,还需要部署nat穿透服务,对网络进行打洞处理,实现对复杂网络的视频穿透,防止视频通话失败。5.根据权利要求2所述的一种视频通话虚拟背景实现方法,其特征在于,所述通过mediapipe开源模型实现人像分割:集成调用ai模型对采集的视频流进行处理,获取完整的图像分割信息并绘制于canvas。6.根据权利要求1所述的一种视频通话虚拟背景实现方法,其特征在于,本方法采用公网服务器部署,具体部署实施过程如下:1)、服务器安装相应开发环境,部署相应服务;2)、部署nat穿透服务:部署开源穿透服务coturn,进行相对应的配置;3)、根据方案中的实现路线以及具体需求进行二次开发及修改;4)、封装客户端进行分发;5)、如需修改客户端,在线安装升级新版客户端。7.一种视频通话虚拟背景实现系统,其特征在于,包括webrtc视频采集模块、人像分割处理模块、模型参数调整模块、人像与虚拟背景合成模块、发布模块,该系统利用webrtc及peerjs进行视频采集及传输,基于tensorflow.js且采用mediapipe开源模型进行图像分割,并利用electron进行客户端封装。8.根据权利要求7所述的一种视频通话虚拟背景实现系统,其特征在于,所述webrtc视频采集模块,使用webrtc技术进行媒体信息采集;人像分割处理模块通过mediapipe开源模型对采集的媒体信息进行人像分割处理;模型参数调整模块用于调整mediapipe模型参数使人像分割效果达到最佳;
人像与虚拟背景合成模块将人像媒体流与虚拟背景媒体流进行整合,并通过canvas进行绘制;发布模块实现媒体信息的发布推送,将合成视频通过webrtc进行传输实现虚拟背景效果;通过electron客户端进行封装,提高兼容性。9.根据权利要求7所述的一种视频通话虚拟背景实现系统,其特征在于,该系统采用公网服务器部署,具体部署实施过程如下:1)、服务器安装相应开发环境,部署相应服务;2)、部署nat穿透服务:部署开源穿透服务coturn,进行相对应的配置;3)、根据方案中的实现路线以及具体需求进行二次开发及修改;4)、封装客户端进行分发;5)、如需修改客户端,在线安装升级新版客户端。10.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器能够执行权利要求1至6任一所述的方法。

技术总结
本发明公开了一种视频通话虚拟背景实现方法及系统,属于前端页面开发技术领域,该方法利用webrtc及peerjs进行视频采集及传输,基于Tensorflow.js且采用MediaPipe开源模型进行图像分割,并利用electron进行客户端封装;该方法的实现包括webrtc视频采集、人像分割处理、模型参数调整、人像媒体流与虚拟背景媒体流的合成、媒体信息的发布推送。本发明能够提升兼容性,满足国产化的需求;实现简单,开发难度较低,可快速实现,且扩展型强。且扩展型强。且扩展型强。


技术研发人员:苑博伟 张峰 李照川 林帅
受保护的技术使用者:浪潮软件科技有限公司
技术研发日:2023.03.29
技术公布日:2023/7/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐