一种基于共享内存点对点传输的云渲染推流优化方法技术

技术编号:39184070 阅读:8 留言:0更新日期:2023-10-27 08:31
本发明专利技术涉及云渲染技术领域,公开了一种基于共享内存点对点传输的云渲染推流优化方法,包括:客户端使用WebRTC通讯对信令服务发起请求访问;信令服务将请求通过转发的方式,附带应用创建指令到推流程序;推流程序创建TCP通道和共享内存,附带应用渲染指令到渲染程序;渲染程序与推流程序的TCP通道建立连接;推流程序遵循SDP协议封装Answer响应信息并返回给信令服务;信令服务将请求通过转发的方式,附带上Answer响应信息到客户端;推流程序与客户端建立WebRTC通信点对点传输通道,实现云渲染。本发明专利技术提供的方法,能够灵活地对推流程序进行优化和定制,使得该推流程序更具备通用性、独立性和跨平台性。独立性和跨平台性。独立性和跨平台性。

【技术实现步骤摘要】
一种基于共享内存点对点传输的云渲染推流优化方法


[0001]本专利技术涉及云渲染
,特别涉及一种基于共享内存点对点传输的云渲染推流优化方法。

技术介绍

[0002]传统的云渲染推流,依赖于渲染引擎(如虚幻引擎、Unity等)的插件实现,这种方式存在依赖指定渲染引擎版本的问题,需要在不同版本的渲染引擎中使用该插件,可能需要进行适配或更新插件版本,这可能会增加开发和维护的复杂性;其次采用插件的方式只是某款渲染引擎的一个非通用方案,无法完全满足特定项目或应用的需求,某些定制化的功能或优化可能需要额外的开发工作或修改插件的源代码,一旦修改插件源码,还需要考虑不同渲染引擎之间的差异性,同一渲染引擎版本不同带来的插件兼容性和适配性的问题。

技术实现思路

[0003]本专利技术提供了一种基于共享内存点对点传输的云渲染推流优化方法,替换传统云渲染引擎的插件推流的方式,采用独立可执行的推流程序完成云渲染推流的功能,能够灵活地对推流程序进行优化和定制,而不受渲染引擎本身的限制,使得该推流程序更具备通用性、独立性和跨平台性;对比依赖传统云渲染引擎的推流插件的方式,通过基于共享内存点对点传输的方式,能够将云渲染媒体流编码和画面渲染分离,并利用WebRTC通信点对点传输的优点减少数据传输的开销,提高传输效率;其次共享内存的使用可以避免数据的复制和额外的网络开销,从而减少延迟并提高实时性。
[0004]本专利技术提供了一种基于共享内存点对点传输的云渲染推流优化方法,包括:
[0005]S1、客户端使用WebRTC通讯,遵循SDP协议封装Offer并对信令服务发起请求访问;
[0006]S2、信令服务接收到客户端请求,并将请求通过转发的方式,附带应用创建指令到推流程序;
[0007]S3、推流程序接收到应用创建指令,并创建TCP通道和共享内存,附带应用渲染指令到渲染程序;
[0008]S4、渲染程序接收到渲染指令,并与推流程序的TCP通道建立连接,实现画面渲染数据传输;
[0009]S5、推流程序接收到渲染数据,遵循SDP协议封装Answer响应信息并返回给信令服务;
[0010]S6、信令服务接收到推流服务请求,并将请求通过转发的方式,附带上Answer响应信息到客户端;
[0011]S7、推流程序与客户端建立WebRTC通信点对点传输通道,实现云渲染。
[0012]进一步地,所述步骤S1中,客户端包括移动设备和轻量级Web浏览器。
[0013]进一步地,所述步骤S3中,推流程序实现共享内存和点对点传输,包括:
[0014]S31、推流程序遵循WebRTC通信标准创建ICE候选信息;
[0015]S32、创建TCP服务通道;
[0016]S33、创建并实例化云渲染的编码器;
[0017]S34、申请共享内存空间块;
[0018]S35、通知渲染程序进行画面渲染;
[0019]S36、渲染程序通过共享内存通道进行数据传输;
[0020]S37、完成渲染,确认ICE候选应答Answer信息;
[0021]S38、客户端收到ICE应答,实现点对点云渲染画面渲染。
[0022]进一步地,所述步骤S7中,优化后的WebRTC核心通信流程,包括:
[0023]S71、确定客户端设备与服务器的通信规则和信息;
[0024]S72、根据SDP信息,客户端和推流程序端分别创建音频和视频通道;
[0025]S73、收集Candidate数据,涉及到收集设备的IP地址信息,包括IP地址、Relay服务端分配的地址;
[0026]S74、创建响应,在收到客户端的Offer消息之后,推流程序创建一个包含了其通信参数的Answer消息;
[0027]S75、优化策略,在创建Answer消息之前,引入基于共享内存传输的优化策略,将画面经过编码器压缩优化;
[0028]S76、推流程序通过信令服务与客户端建立点对点连接;
[0029]S77、在点对点连接建立之后,音视频数据可以通过云渲染推流的方式从渲染程序传送到客户端。
[0030]进一步地,所述步骤S71中,在WebRTC中,两个通信设备在通信之前,先通过SDP协议商定重要的参数,包括使用的音频和视频编解码器、主机候选地址、网络传输协议;其中,两个通信设备为客户端和推流程序。
[0031]本专利技术的有益效果为:
[0032]本专利技术提供的基于共享内存点对点传输的云渲染推流优化方法,通过采用提供独立可执行的云渲染推流程序的方式,不再依赖渲染引擎的插件实现推流,能够更好地对服务端推流侧的画面编码和传输画面进行压缩优化,不再受限于渲染引擎,对于不同的渲染引擎,只需要与推流服务程序建立TCP通道连接,并遵循渲染程序的WebRTC通信服务协议,以共享内存的方式进行数据传输,即可完成云渲染推流,使得程序更加具备通用性、独立性、跨平台性;相比传统使用渲染引擎插件方式可能需要将数据进行编码、封装和解码,会消耗网络带宽并增加传输的负担,由于共享内存传输是直接在内存中进行数据交换,避免了通过网络传输数据所带来的传输延迟,这可以显著降低数据传输的延迟,提供更实时和响应性的渲染体验,同时数据直接在共享内存区域中共享也减少了对CPU和普通内存区域资源的占用,将云渲染媒体流的编码任务交由该独立可执行程序完成,让渲染引擎只负责画面渲染,使得编码、数据压缩的任务和画面渲染分离,提高了云端服务器对复杂场景的渲染能力。
附图说明
[0033]图1为本专利技术中推流程序到渲染程序的整个流程示意图。
[0034]图2为本专利技术中推流程序实现共享内存和点对点传输的核心流程示意图。
[0035]图3为本专利技术中优化后的WebRTC核心通信流程示意图。
[0036]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0037]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0038]术语解释:
[0039]共享内存:进程间通信方式有很多种,常见的有管道、FIFO、消息队列、信号量、共享内存和套接字等,而共享内存是允许不同进程间传输共享数据最快的一种方式;
[0040]点对点传输:是一种设备之间的数据传输方式,点对点传输方式通过直接连接发送和接收设备之间的网络节点进行数据传输,降低了网络通信时延和网络拥塞的风险,为设备之间的高实时性和高可靠性的数据传输提供了保障;
[0041]云渲染像素推流:一种采用服务端渲染高分辨率的复杂场景,无需客户端具备强大GPU,能够使得移动设备和轻量级Web浏览器能够显示质量更高的图形的一项技术,用户不需要提前下载大型可执行文件或内容文件,并且不需要安装任何东西,用户唯一需要下载的是播放中的媒体流;
[0042]信令服务:在云渲染像素推流过程中,信令服务负责协商和维护客户端设备和云端像素推流之本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于共享内存点对点传输的云渲染推流优化方法,其特征在于,包括:S1、客户端使用WebRTC通讯,遵循SDP协议封装Offer并对信令服务发起请求访问;S2、信令服务接收到客户端请求,并将请求通过转发的方式,附带应用创建指令到推流程序;S3、推流程序接收到应用创建指令,并创建TCP通道和共享内存,附带应用渲染指令到渲染程序;S4、渲染程序接收到渲染指令,并与推流程序的TCP通道建立连接,实现画面渲染数据传输;S5、推流程序接收到渲染数据,遵循SDP协议封装Answer响应信息并返回给信令服务;S6、信令服务接收到推流服务请求,并将请求通过转发的方式,附带上Answer响应信息到客户端;S7、推流程序与客户端建立WebRTC通信点对点传输通道,实现云渲染。2.根据权利要求1所述的基于共享内存点对点传输的云渲染推流优化方法,其特征在于,所述步骤S1中,客户端包括移动设备和轻量级Web浏览器。3.根据权利要求1所述的基于共享内存点对点传输的云渲染推流优化方法,其特征在于,所述步骤S3中,推流程序实现共享内存和点对点传输,包括:S31、推流程序遵循WebRTC通信标准创建ICE候选信息;S32、创建TCP服务通道;S33、创建并实例化云渲染的编码器;S34、申请共享内存空间块;S35、通知渲染程序进行画面渲染;S36、渲染程序...

【专利技术属性】
技术研发人员:岑权军冯东柄凌晖伍亮
申请(专利权)人:广东元能星泰孪生科技创新有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1