1.本发明涉及音视频实时通讯领域,尤其涉及一种基于虚拟仿真引擎的图像实时渲染方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.随着实时通讯技术的发展,实时通讯的音视频实时通讯功能开始在商务会话及人们日常通讯中发挥着越来越重要的作用。
3.当前进行通讯的双方,需要将各自的nat(network address translation)信息、ip地址及端口等通讯信息发送至对方,以实现双方的通讯连接。但这种简单的通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差等现象。
技术实现要素:
4.本发明提供一种基于虚拟仿真引擎的图像实时渲染方法、装置及计算机可读存储介质,其主要目的在于解决通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差的问题。
5.为实现上述目的,本发明提供的一种基于虚拟仿真引擎的图像实时渲染方法,包括:
6.获取请求连接端的连接信息,将所述请求连接端的连接信息发送至预构建的第三方服务器进行信息交换,得到目标连接端的连接信息;
7.根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接;
8.在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息;
9.根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接;
10.利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染。
11.可选地,所述获取请求连接端的连接信息,包括:
12.利用预构建的stun服务器,接收所述请求连接端的连接请求;
13.根据所述连接请求,在所述stun服务器中查询所述请求连接端的nat信息、公网ip、子网ip及端口;
14.将所述请求连接端的nat信息、公网ip、子网ip及端口,发送至所述请求连接端,得到所述请求连接端的连接信息。
15.可选地,所述根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接,包括:
16.提取所述请求连接端及目标连接端的nat信息;
17.判断所述请求连接端与所述目标连接端的nat信息是否相同;
18.若所述请求连接端与所述目标连接端的nat信息相同,则利用预构建的内网信息,建立所述请求连接端与所述目标连接端的通讯连接;
19.若所述请求连接端与所述目标连接端的nat信息不同,则判断所述请求连接端与所述目标连接端的nat信息中,是否存在对称型nat;
20.若所述请求连接端与所述目标连接端的nat信息中,存在对称型nat,则利用预构建的turn服务器,将所述请求连接端与所述目标连接端连接信息进行数据转发,建立所述请求连接端与所述目标连接端的通讯连接;
21.若所述请求连接端与所述目标连接端的nat信息中,不存在对称型nat,则利用所述stun服务器,查询出所述请求连接端与所述目标连接端的公网信息;
22.利用所述请求连接端与所述目标连接端的公网信息,建立所述请求连接端与所述目标连接端的通讯连接。
23.可选地,所述利用预构建的turn服务器,将所述请求连接端与所述目标连接端连接信息进行数据转发,建立所述请求连接端与所述目标连接端的通讯连接,包括:
24.将存在所述对称型nat的请求连接端或/和目标连接端中的连接信息打包,得到连接信息包;
25.将所述连接信息报发送至所述turn服务器,利用所述turn服务器根据所述连接信息包,进行信息包交换,得到对方连接信息包;
26.根据所述对方连接信息包,建立所述请求连接端与所述目标连接端的通讯连接。
27.可选地,所述在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息,包括:
28.在所述目标连接端,利用预构建的调用方法,获取所述目标连接端的会话信息;
29.将所述目标连接端的会话信息,通过所述第三方服务器传递到所述请求连接端,得到所述目标会话信息。
30.可选地,所述根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接,包括:
31.在所述请求连接端,提取所述目标会话信息中的目标密钥及期望传输内容;
32.根据所述目标密钥及期望传输内容,构建请求端报文;
33.将所述请求端报文,通过所述通讯连接,发送至所述至所述目标连接端的ip端口,实现所述请求连接端及所述目标连接端的会话连接。
34.可选地,所述利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染,包括:
35.获取所述目标连接端的网页应用中的原始音视频信息;
36.将所述音视频信息通过预构建的网页开发接口层,发送至所述网页实时通讯框架中的浏览器接口层,得到待处理音视频信息;
37.利用所述网页实时通讯框架中的音视频引擎,将所述待处理音视频信息进行音视频处理,得到目标音视频信息;
38.将所述目标音视频信息,通过所述会话连接,在所述请求连接端的网页应用中进行通讯视频实时渲染。
39.为了解决上述问题,本发明还提供一种基于虚拟仿真引擎的图像实时渲染装置,所述装置包括:
40.通讯连接建立模块,用于获取请求连接端的连接信息,将所述请求连接端的连接信息发送至预构建的第三方服务器进行信息交换,得到目标连接端的连接信息;根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接;
41.目标会话信息获取模块,用于在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息;
42.会话连接建立模块,用于根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接;
43.通讯视频实时渲染模块,用于利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染。
44.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
45.存储器,存储至少一个指令;及
46.处理器,执行所述存储器中存储的指令以实现上述所述的基于虚拟仿真引擎的图像实时渲染方法。
47.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的基于虚拟仿真引擎的图像实时渲染方法。
48.相比于背景技术所述:通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差的现象,本发明实施例通过获取所述请求连接端的连接信息,并根据所述请求连接端的连接信息获取所述目标连接端的信息,在获得所述请求连接端及目标连接端的连接信息后,再建立所述通讯连接,利用预构建的第三方服务器交换所述请求连接端及所述目标连接端的会话信息,得到所述目标会话信息,最后根据所述目标会话信息及所述通讯连接建立所述请求连接端与目标连接端的会话连接,当建立好两端的会话连接后,利用所述网页实时通讯框架,实现所述请求连接端与目标连接端的通讯视频实时渲染。因此本发明提出的基于虚拟仿真引擎的图像实时渲染方法、装置、电子设备及计算机可读存储介质,可以解决通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差的问题。
附图说明
49.图1为本发明一实施例提供的基于虚拟仿真引擎的图像实时渲染方法的流程示意图;
50.图2为图1中其中一个步骤的详细实施流程示意图;
51.图3为图1中另一个步骤的详细实施流程示意图;
52.图4为本发明一实施例提供的基于虚拟仿真引擎的图像实时渲染装置的功能模块图;
53.图5为本发明一实施例提供的实现所述基于虚拟仿真引擎的图像实时渲染方法的电子设备的结构示意图。
54.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
55.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
56.本技术实施例提供一种基于虚拟仿真引擎的图像实时渲染方法。所述基于虚拟仿真引擎的图像实时渲染方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,所述基于虚拟仿真引擎的图像实时渲染方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
57.参照图1所示,为本发明一实施例提供的基于虚拟仿真引擎的图像实时渲染方法的流程示意图。在本实施例中,所述基于虚拟仿真引擎的图像实时渲染方法包括:
58.s1、获取请求连接端的连接信息,将所述请求连接端的连接信息发送至预构建的第三方服务器进行信息交换,得到目标连接端的连接信息。
59.可解释的,所述连接信息指所述请求连接端或所述目标连接端的nat信息、公网ip、子网ip及端口等信息。所述nat(network address translation)信息指网路地址转换信息。nat可以为所述请求应用端提供公用ip地址,通过所述公用ip地址可以建立所述请求应用端的私有ip地址对应到所述公用ip地址的专属通讯端口。
60.可解释的,所述连接信息可以表示为ice candidate。
61.应明白的,ice(interactive connectivity establishment)表示互动式连接建立,是一种框架,可以使用各种nat穿透技术(例如:stun、turn),该技术可以让客户端成功穿越远程用户与网络之间可能存在各类防火墙。
62.所述第三方服务器指所述请求连接端与所述目标连接端的公用服务器。
63.详细地,可参阅图2所示,所述获取请求连接端的连接信息,包括:
64.s11、利用预构建的stun服务器,接收所述请求连接端的连接请求;
65.s12、根据所述连接请求,在所述stun服务器中查询所述请求连接端的nat信息、公网ip、子网ip及端口;
66.s13、将所述请求连接端的nat信息、公网ip、子网ip及端口,发送至所述请求连接端,得到所述请求连接端的连接信息。
67.可解释的,所述stun服务器指能提供stun协议的服务器,所述stun(simple traversal of udp over nats)是一种网络协议,即指nat的udp简单穿越。它允许位于nat(或多重nat)后的客户端找出自己的公网地址,查出自己位于哪种类型的nat之后及nat为某一本地端口所绑定的网端端口,这些信息被用来在两个同时处于nat路由器之后的主机之间建立udp通信。
68.s2、根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接。
69.本发明实施例中,所述根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接,包括:
70.提取所述请求连接端及目标连接端的nat信息;
71.判断所述请求连接端与所述目标连接端的nat信息是否相同;
72.若所述请求连接端与所述目标连接端的nat信息相同,则利用预构建的内网信息,
建立所述请求连接端与所述目标连接端的通讯连接;
73.若所述请求连接端与所述目标连接端的nat信息不同,则判断所述请求连接端与所述目标连接端的nat信息中,是否存在对称型nat;
74.若所述请求连接端与所述目标连接端的nat信息中,存在对称型nat,则利用预构建的turn服务器,将所述请求连接端与所述目标连接端连接信息进行数据转发,建立所述请求连接端与所述目标连接端的通讯连接;
75.若所述请求连接端与所述目标连接端的nat信息中,不存在对称型nat,则利用所述stun服务器,查询出所述请求连接端与所述目标连接端的公网信息;
76.利用所述请求连接端与所述目标连接端的公网信息,建立所述请求连接端与所述目标连接端的通讯连接。
77.应明白的,即使通过stun服务器取得公用ip地址,也不一定能建立所述请求连接端与所述目标连接端的连线。因为不同的nat类型处理传入的udp分组方式不同。udp分组方式有四种主要类型,其中有三种可以使用stun穿透,分别是:完全圆锥形nat、受限圆锥形nat及端口受限圆锥型nat。在大型公司网络中经常采用对称型nat(又称双向nat),则不能使用stun穿透,这类路由器会通过nat部署symmetric nat限制,路由器智慧接受之前连接过的节点,这类网络需要使用turn技术。
78.可解释的,所述turn(traversal using relays around nat)指通过turn服务器开启连线并转送数据,进而绕过symmetric nat的限制。可以通过所述turn服务器建立连线,再告知所有端点传送连接信息包至所述turn服务器,最后让turn服务器传送连接信息包给自己,这个方法更耗时且更占频宽,因此在没有其他替代方案时才会使用这个方法。
79.详细地,可参阅图3所示,所述利用预构建的turn服务器,将所述请求连接端与所述目标连接端连接信息进行数据转发,建立所述请求连接端与所述目标连接端的通讯连接,包括:
80.s21、将存在所述对称型nat的请求连接端或/和目标连接端中的连接信息打包,得到连接信息包;
81.s22、将所述连接信息报发送至所述turn服务器,利用所述turn服务器根据所述连接信息包,进行信息包交换,得到对方连接信息包;
82.s23、根据所述对方连接信息包,建立所述请求连接端与所述目标连接端的通讯连接。
83.s3、在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息。
84.可解释的,所述会话信息指session description数据,所述session description数据中涉及对应的连接端的密钥及期望传输内容。
85.应明白的,所述请求连接端与所述目标连接端想要创建连接,一般来说需要有一个双方都能访问的服务器,来帮助两端交换连接所需要的信息,有了交换数据的服务器后,首先要交换的数据是session description数据(简称sd),session description数据中描述了连接双方想要建立怎样的连接,即连接的形式与内容。
86.本发明实施例中,所述在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息,包括:
87.在所述目标连接端,利用预构建的调用方法,获取所述目标连接端的会话信息;
88.将所述目标连接端的会话信息,通过所述第三方服务器传递到所述请求连接端,得到所述目标会话信息。
89.可理解的,在建立连接之前,所述请求连接端与所述目标连接端需要先通过api来指定自己要传输的数据类型,例如:audio、video及datachannel等,以及自己希望接收的数据类型。在明确自己的输出与接收的数据类型后,所述请求连接端通过调用createoffer()方法,获取offer类型的session description数据,再通过所述公共服务器传递给所述目标连接端。同样,所述目标连接端通过调用createanswer()方法获取answer类型的session description数据,通过所述公共服务器传递给所述请求连接端。在这一过程中,无论哪一方创建offer(answer)都无所谓,只要保证连接双方创建的session description数据类型是相互对应的即可。
90.s4、根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接。
91.本发明实施例中,所述根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接,包括:
92.在所述请求连接端,提取所述目标会话信息中的目标密钥及期望传输内容;
93.根据所述目标密钥及期望传输内容,构建请求端报文;
94.将所述请求端报文,通过所述通讯连接,发送至所述至所述目标连接端的ip端口,实现所述请求连接端及所述目标连接端的会话连接。
95.应明白的,所述请求连接端与目标连接端向目标ip端口发送报文,通过session description数据中涉及的密钥以及期望传输的内容建立加密长连接。
96.s5、利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染。
97.应明白的,所述网页实时通讯框架指webrtc(web real-time communication),是一个支持网页浏览器进行实时语音对话或视频对话的实时通讯解决方案,其中包含视频音频采集、编解码、数据传输及音视频展示等功能。利用所述网页实时通讯框架可以快速构建一个音视频通讯应用。所述网页实时通讯框架不仅支持web之间的音视频通讯,还支持android以及ios端。此外,由于该项目是开源的,因此可以通过编译c 代码,达到全平台的互通。
98.可解释的,所述网页实时通讯框架的架构组件包括:your web app、web api、webrtc native c api、transport/session、audioengine及videoengine等组件。其中,所述web api又包括:media api、rtcpeerconnection及peer-to-peer date api三类。
99.本发明实施例中,所述利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染,包括:
100.获取所述目标连接端的网页应用中的原始音视频信息;
101.将所述音视频信息通过预构建的网页开发接口层,发送至所述网页实时通讯框架中的浏览器接口层,得到待处理音视频信息;
102.利用所述网页实时通讯框架中的音视频引擎,将所述待处理音视频信息进行音视频处理,得到目标音视频信息;
103.将所述目标音视频信息,通过所述会话连接,在所述请求连接端的网页应用中进行通讯视频实时渲染。
104.可解释的,利用自主研发的图形渲染引擎与rtx30系列显卡的gpu和第二代光线追踪技术的结合,在服务端的显卡集群进行实时图像渲染,通过webrtc技术显示到客户端终端。
105.相比于背景技术所述:通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差的现象,本发明实施例通过获取所述请求连接端的连接信息,并根据所述请求连接端的连接信息获取所述目标连接端的信息,在获得所述请求连接端及目标连接端的连接信息后,再建立所述通讯连接,利用预构建的第三方服务器交换所述请求连接端及所述目标连接端的会话信息,得到所述目标会话信息,最后根据所述目标会话信息及所述通讯连接建立所述请求连接端与目标连接端的会话连接,当建立好两端的会话连接后,利用所述网页实时通讯框架,实现所述请求连接端与目标连接端的通讯视频实时渲染。因此本发明提出的基于虚拟仿真引擎的图像实时渲染方法、装置、电子设备及计算机可读存储介质,可以解决通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差的问题。
106.如图4所示,是本发明一实施例提供的基于虚拟仿真引擎的图像实时渲染装置的功能模块图。
107.本发明所述基于虚拟仿真引擎的图像实时渲染装置100可以安装于电子设备中。根据实现的功能,所述基于虚拟仿真引擎的图像实时渲染装置100可以包括通讯连接建立模块101、目标会话信息获取模块102、会话连接建立模块103及通讯视频实时渲染模块104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
108.所述通讯连接建立模块101,用于获取请求连接端的连接信息,将所述请求连接端的连接信息发送至预构建的第三方服务器进行信息交换,得到目标连接端的连接信息;根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接;
109.可解释的,所述连接信息指所述请求连接端或所述目标连接端的nat信息、公网ip、子网ip及端口等信息。所述nat(network address translation)信息指网路地址转换信息。nat可以为所述请求应用端提供公用ip地址,通过所述公用ip地址可以建立所述请求应用端的私有ip地址对应到所述公用ip地址的专属通讯端口。
110.可解释的,所述连接信息可以表示为ice candidate。
111.应明白的,ice(interactive connectivity establishment)表示互动式连接建立,是一种框架,可以使用各种nat穿透技术(例如:stun、turn),该技术可以让客户端成功穿越远程用户与网络之间可能存在各类防火墙。
112.所述第三方服务器指所述请求连接端与所述目标连接端的公用服务器。
113.本发明实施例中,所述获取请求连接端的连接信息,包括:
114.利用预构建的stun服务器,接收所述请求连接端的连接请求;
115.根据所述连接请求,在所述stun服务器中查询所述请求连接端的nat信息、公网ip、子网ip及端口;
116.将所述请求连接端的nat信息、公网ip、子网ip及端口,发送至所述请求连接端,得
到所述请求连接端的连接信息。
117.可解释的,所述stun服务器指能提供stun协议的服务器,所述stun(simple traversal of udp over nats)是一种网络协议,即指nat的udp简单穿越。它允许位于nat(或多重nat)后的客户端找出自己的公网地址,查出自己位于哪种类型的nat之后及nat为某一本地端口所绑定的网端端口,这些信息被用来在两个同时处于nat路由器之后的主机之间建立udp通信。
118.本发明实施例中,所述根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接,包括:
119.提取所述请求连接端及目标连接端的nat信息;
120.判断所述请求连接端与所述目标连接端的nat信息是否相同;
121.若所述请求连接端与所述目标连接端的nat信息相同,则利用预构建的内网信息,建立所述请求连接端与所述目标连接端的通讯连接;
122.若所述请求连接端与所述目标连接端的nat信息不同,则判断所述请求连接端与所述目标连接端的nat信息中,是否存在对称型nat;
123.若所述请求连接端与所述目标连接端的nat信息中,存在对称型nat,则利用预构建的turn服务器,将所述请求连接端与所述目标连接端连接信息进行数据转发,建立所述请求连接端与所述目标连接端的通讯连接;
124.若所述请求连接端与所述目标连接端的nat信息中,不存在对称型nat,则利用所述stun服务器,查询出所述请求连接端与所述目标连接端的公网信息;
125.利用所述请求连接端与所述目标连接端的公网信息,建立所述请求连接端与所述目标连接端的通讯连接。
126.应明白的,即使通过stun服务器取得公用ip地址,也不一定能建立所述请求连接端与所述目标连接端的连线。因为不同的nat类型处理传入的udp分组方式不同。udp分组方式有四种主要类型,其中有三种可以使用stun穿透,分别是:完全圆锥形nat、受限圆锥形nat及端口受限圆锥型nat。在大型公司网络中经常采用对称型nat(又称双向nat),则不能使用stun穿透,这类路由器会通过nat部署symmetric nat限制,路由器智慧接受之前连接过的节点,这类网络需要使用turn技术。
127.可解释的,所述turn(traversal using relays around nat)指通过turn服务器开启连线并转送数据,进而绕过symmetric nat的限制。可以通过所述turn服务器建立连线,再告知所有端点传送连接信息包至所述turn服务器,最后让turn服务器传送连接信息包给自己,这个方法更耗时且更占频宽,因此在没有其他替代方案时才会使用这个方法。
128.本发明实施例中,所述利用预构建的turn服务器,将所述请求连接端与所述目标连接端连接信息进行数据转发,建立所述请求连接端与所述目标连接端的通讯连接,包括:
129.将存在所述对称型nat的请求连接端或/和目标连接端中的连接信息打包,得到连接信息包;
130.将所述连接信息报发送至所述turn服务器,利用所述turn服务器根据所述连接信息包,进行信息包交换,得到对方连接信息包;
131.根据所述对方连接信息包,建立所述请求连接端与所述目标连接端的通讯连接。
132.所述目标会话信息获取模块102,用于在所述第三方服务器中,利用所述请求连接
端的会话信息进行会话信息交换,得到目标会话信息;
133.可解释的,所述会话信息指session description数据,所述session description数据中涉及对应的连接端的密钥及期望传输内容。
134.应明白的,所述请求连接端与所述目标连接端想要创建连接,一般来说需要有一个双方都能访问的服务器,来帮助两端交换连接所需要的信息,有了交换数据的服务器后,首先要交换的数据是session description数据(简称sd),session description数据中描述了连接双方想要建立怎样的连接,即连接的形式与内容。
135.本发明实施例中,所述在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息,包括:
136.在所述目标连接端,利用预构建的调用方法,获取所述目标连接端的会话信息;
137.将所述目标连接端的会话信息,通过所述第三方服务器传递到所述请求连接端,得到所述目标会话信息。
138.可理解的,在建立连接之前,所述请求连接端与所述目标连接端需要先通过api来指定自己要传输的数据类型,例如:audio、video及datachannel等,以及自己希望接收的数据类型。在明确自己的输出与接收的数据类型后,所述请求连接端通过调用createoffer()方法,获取offer类型的session description数据,再通过所述公共服务器传递给所述目标连接端。同样,所述目标连接端通过调用createanswer()方法获取answer类型的session description数据,通过所述公共服务器传递给所述请求连接端。在这一过程中,无论哪一方创建offer(answer)都无所谓,只要保证连接双方创建的session description数据类型是相互对应的即可。
139.所述会话连接建立模块103,用于根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接;
140.本发明实施例中,所述根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接,包括:
141.在所述请求连接端,提取所述目标会话信息中的目标密钥及期望传输内容;
142.根据所述目标密钥及期望传输内容,构建请求端报文;
143.将所述请求端报文,通过所述通讯连接,发送至所述至所述目标连接端的ip端口,实现所述请求连接端及所述目标连接端的会话连接。
144.应明白的,所述请求连接端与目标连接端向目标ip端口发送报文,通过session description数据中涉及的密钥以及期望传输的内容建立加密长连接。
145.所述通讯视频实时渲染模块104,用于利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染。
146.应明白的,所述网页实时通讯框架指webrtc(web real-time communication),是一个支持网页浏览器进行实时语音对话或视频对话的实时通讯解决方案,其中包含视频音频采集、编解码、数据传输及音视频展示等功能。利用所述网页实时通讯框架可以快速构建一个音视频通讯应用。所述网页实时通讯框架不仅支持web之间的音视频通讯,还支持android以及ios端。此外,由于该项目是开源的,因此可以通过编译c 代码,达到全平台的互通。
147.可解释的,所述网页实时通讯框架的架构组件包括:your web app、web api、
webrtc native c api、transport/session、audioengine及videoengine等组件。其中,所述web api又包括:media api、rtcpeerconnection及peer-to-peer date api三类。
148.本发明实施例中,所述利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染,包括:
149.获取所述目标连接端的网页应用中的原始音视频信息;
150.将所述音视频信息通过预构建的网页开发接口层,发送至所述网页实时通讯框架中的浏览器接口层,得到待处理音视频信息;
151.利用所述网页实时通讯框架中的音视频引擎,将所述待处理音视频信息进行音视频处理,得到目标音视频信息;
152.将所述目标音视频信息,通过所述会话连接,在所述请求连接端的网页应用中进行通讯视频实时渲染。
153.可解释的,利用自主研发的图形渲染引擎与rtx30系列显卡的gpu和第二代光线追踪技术的结合,在服务端的显卡集群进行实时图像渲染,通过webrtc技术显示到客户端终端。
154.详细地,本发明实施例中所述基于虚拟仿真引擎的图像实时渲染装置100中能够产生如下技术效果:
155.相比于背景技术所述:通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差的现象,本发明实施例通过获取所述请求连接端的连接信息,并根据所述请求连接端的连接信息获取所述目标连接端的信息,在获得所述请求连接端及目标连接端的连接信息后,再建立所述通讯连接,利用预构建的第三方服务器交换所述请求连接端及所述目标连接端的会话信息,得到所述目标会话信息,最后根据所述目标会话信息及所述通讯连接建立所述请求连接端与目标连接端的会话连接,当建立好两端的会话连接后,利用所述网页实时通讯框架,实现所述请求连接端与目标连接端的通讯视频实时渲染。因此本发明提出的基于虚拟仿真引擎的图像实时渲染方法、装置、电子设备及计算机可读存储介质,可以解决通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差的问题。
156.如图5所示,是本发明一实施例提供的实现基于虚拟仿真引擎的图像实时渲染方法的电子设备的结构示意图。
157.所述电子设备1可以包括处理器10、存储器11和总线12,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于虚拟仿真引擎的图像实时渲染程序。
158.其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于虚拟仿真引擎的图像实时渲染程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
159.所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如基于虚拟仿真引擎的图像实时渲染程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
160.所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
161.图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
162.例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
163.进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
164.可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
165.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
166.所述电子设备1中的所述存储器11存储的基于虚拟仿真引擎的图像实时渲染程序是多个指令的组合,在所述处理器10中运行时,可以实现:
167.获取请求连接端的连接信息,将所述请求连接端的连接信息发送至预构建的第三方服务器进行信息交换,得到目标连接端的连接信息;
168.根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接;
169.在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息;
170.根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端
的会话连接;
171.利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染。
172.具体地,所述处理器10对上述指令的具体实现方法可参考图1至图5对应实施例中相关步骤的描述,在此不赘述。
173.进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
174.本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
175.获取请求连接端的连接信息,将所述请求连接端的连接信息发送至预构建的第三方服务器进行信息交换,得到目标连接端的连接信息;
176.根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接;
177.在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息;
178.根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接;
179.利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染。
180.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
181.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
182.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
183.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
184.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
185.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机
技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
186.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
187.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
技术特征:
1.一种基于虚拟仿真引擎的图像实时渲染方法,其特征在于,所述方法包括:获取请求连接端的连接信息,将所述请求连接端的连接信息发送至预构建的第三方服务器进行信息交换,得到目标连接端的连接信息;根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接;在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息;根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接;利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染。2.如权利要求1所述的基于虚拟仿真引擎的图像实时渲染方法,其特征在于,所述获取请求连接端的连接信息,包括:利用预构建的stun服务器,接收所述请求连接端的连接请求;根据所述连接请求,在所述stun服务器中查询所述请求连接端的nat信息、公网ip、子网ip及端口;将所述请求连接端的nat信息、公网ip、子网ip及端口,发送至所述请求连接端,得到所述请求连接端的连接信息。3.如权利要求2所述的基于虚拟仿真引擎的图像实时渲染方法,其特征在于,所述根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接,包括:提取所述请求连接端及目标连接端的nat信息;判断所述请求连接端与所述目标连接端的nat信息是否相同;若所述请求连接端与所述目标连接端的nat信息相同,则利用预构建的内网信息,建立所述请求连接端与所述目标连接端的通讯连接;若所述请求连接端与所述目标连接端的nat信息不同,则判断所述请求连接端与所述目标连接端的nat信息中,是否存在对称型nat;若所述请求连接端与所述目标连接端的nat信息中,存在对称型nat,则利用预构建的turn服务器,将所述请求连接端与所述目标连接端连接信息进行数据转发,建立所述请求连接端与所述目标连接端的通讯连接;若所述请求连接端与所述目标连接端的nat信息中,不存在对称型nat,则利用所述stun服务器,查询出所述请求连接端与所述目标连接端的公网信息;利用所述请求连接端与所述目标连接端的公网信息,建立所述请求连接端与所述目标连接端的通讯连接。4.如权利要求3所述的基于虚拟仿真引擎的图像实时渲染方法,其特征在于,所述利用预构建的turn服务器,将所述请求连接端与所述目标连接端连接信息进行数据转发,建立所述请求连接端与所述目标连接端的通讯连接,包括:将存在所述对称型nat的请求连接端或/和目标连接端中的连接信息打包,得到连接信息包;
将所述连接信息报发送至所述turn服务器,利用所述turn服务器根据所述连接信息包,进行信息包交换,得到对方连接信息包;根据所述对方连接信息包,建立所述请求连接端与所述目标连接端的通讯连接。5.如权利要求1所述的基于虚拟仿真引擎的图像实时渲染方法,其特征在于,所述在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息,包括:在所述目标连接端,利用预构建的调用方法,获取所述目标连接端的会话信息;将所述目标连接端的会话信息,通过所述第三方服务器传递到所述请求连接端,得到所述目标会话信息。6.如权利要求5所述的基于虚拟仿真引擎的图像实时渲染方法,其特征在于,所述根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接,包括:在所述请求连接端,提取所述目标会话信息中的目标密钥及期望传输内容;根据所述目标密钥及期望传输内容,构建请求端报文;将所述请求端报文,通过所述通讯连接,发送至所述至所述目标连接端的ip端口,实现所述请求连接端及所述目标连接端的会话连接。7.如权利要求6所述的基于虚拟仿真引擎的图像实时渲染方法,其特征在于,所述利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染,包括:获取所述目标连接端的网页应用中的原始音视频信息;将所述音视频信息通过预构建的网页开发接口层,发送至所述网页实时通讯框架中的浏览器接口层,得到待处理音视频信息;利用所述网页实时通讯框架中的音视频引擎,将所述待处理音视频信息进行音视频处理,得到目标音视频信息;将所述目标音视频信息,通过所述会话连接,在所述请求连接端的网页应用中进行通讯视频实时渲染。8.一种基于虚拟仿真引擎的图像实时渲染装置,其特征在于,所述装置包括:通讯连接建立模块,用于获取请求连接端的连接信息,将所述请求连接端的连接信息发送至预构建的第三方服务器进行信息交换,得到目标连接端的连接信息;根据所述请求连接端及所述目标连接端的连接信息,建立所述请求连接端及所述目标连接端的通讯连接;目标会话信息获取模块,用于在所述第三方服务器中,利用所述请求连接端的会话信息进行会话信息交换,得到目标会话信息;会话连接建立模块,用于根据所述目标会话信息及所述通讯连接,构建所述请求连接端及所述目标连接端的会话连接;通讯视频实时渲染模块,用于利用所述会话连接及预构建的网页实时通讯框架,实现所述请求连接端及所述目标连接端的通讯视频实时渲染。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的基于虚拟仿真引擎的图像实时渲染方法。10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的基于虚拟仿真引擎的图像实时渲染方法。
技术总结
本发明涉及音视频实时通讯领域,揭露了一种基于虚拟仿真引擎的图像实时渲染方法,包括:将请求连接端的连接信息进行信息交换,得到目标连接端的连接信息,根据请求连接端及目标连接端的连接信息,建立通讯连接,利用请求连接端的会话信息进行会话信息交换,得到目标会话信息,根据目标会话信息及通讯连接,构建会话连接,利用会话连接及网页实时通讯框架,实现请求连接端及目标连接端的通讯视频实时渲染。本发明还提出一种基于虚拟仿真引擎的图像实时渲染装置、电子设备以及计算机可读存储介质。本发明可以解决通讯连接方式存在着相互之间的通讯连接不稳定、视频渲染效果差的问题。题。题。
技术研发人员:李宏伟 李艳飞 启哲 张磊 纪永罡 张天龙
受保护的技术使用者:辽宁向日葵教育科技有限公司
技术研发日:2022.02.17
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-10367.html