实时云渲染云推流突破UE像素流传输数据单个消息64KB限制

UE的像素流送Pixel Streaming通过WebRTC协议将渲染后的画面(像素数据)实时编码为视频流,传输到客户端(如浏览器)。客户端仅接收视频流并显示,所有计算和渲染都在服务器端完成。传输的是压缩后的视频流(H.264/H.265编码)。客户端的输入(如鼠标、键盘)通过WebRTC回传到服务器,服务器处理后再更新画面。

像素流的技术架构图如下。

需要将项目作为打包应用程序运行时、或使用 Standalone Game 选项在虚幻引擎中启动时才能使用像素流送插件。总流程至少包括如下四步:

浏览器对WebRTC传输数据的限制

不同浏览器对WebRTC数据传输字节长度的限制存在一定差异。在大多数情况下,单个 DataChannel 消息的最大长度通常限制在64KB左右,但不同浏览器的具体表现有所不同。

Chrome浏览器在早期版本中,单个消息的最大长度为64KB,Firefox浏览器在WebRTC数据传输时,也大致遵循类似的限制,但在某些特殊配置或版本迭代中,其限制可能会有所变化。

WebRTC数据传输字节长度限制对UE开发的三维场景与二维业务系统的通信,会产生影响。

对应用场景的限制

字节长度限制会限制一些需要大流量数据传输的应用场景的使用。像应用内需要截屏操作,由于截屏后转成base64之后数据量较大,可能无法在WebRTC的字节长度限制下一次性传输。

对开发难度的影响

为了应对字节长度限制,开发者需要编写复杂的代码来实现数据的分割、传输和重组。这增加了开发的难度和工作量,同时也增加了代码出错的概率。开发者需要编写专门的算法来确保数据分割的合理性和重组的准确性。

像素流默认WebRTC协议会导致UE三维应用与前端网页的数据通信受限,导致推流效果不佳。加上UE5.5版本后像素流插件从默认版本升级到2.0版本,带来一系列迁移改造的调整,会对已交付项目和时间跨度比较大的三维可视化场景造成影响。

实时云渲染打破像素流数据传输限制

在数字孪生可视化场景中,UE开发的高精度大场景程序,通常需要与前端网页通信实现数据的传递,并且经过Web化后,更需要与已有业务系统进行对接。像素流提供了Web化的一种技术实现方式,但是在实际项目交付过程中,存在数据通信不畅、与系统对接和二次开发能力有限等诸多限制。商业化实时云渲染产品,将行业通用需求封装成功能组件,供开发者调用。

数据通道功能组件是用来实现客户端与应用之间的双向通信的,在数字孪生、展览展示、元宇宙等场景中应用非常广泛。图示为绿色双向箭头,代表在我们云端与客户端之间的虚拟通道,为三维应用建立快速通道。在这里,我们云端处理高帧率、高清晰度的三维应用,客户端处理业务流程及其他渲染。

自LarkXR3.3.3.5版本开始引入分包发送机制,并与PaaS平台深度集成,优化了数据传输效率,真正做到UE三维应用与二维页面之间发送消息长度不设限,突破WebRTC默认的64KB限制。

本文已首发于官网:www.pingxingyun.com/

相关推荐
破 风8 小时前
AWS实现S3配置私钥以及上传
云计算·aws
wanhengidc11 小时前
云真机和云手机的区别
运维·服务器·游戏·智能手机·云计算
chen_song_12 小时前
云电脑、云游戏 集群架构
webrtc·todesk·远程控制·向日葵·低延迟·云技术
喜欢你,还有大家1 天前
云计算——虚拟化介绍
云计算
AKAMAI1 天前
AI推理硬件选型指南:CPU 与 GPU 的抉择
人工智能·云原生·云计算
三掌柜6661 天前
AWS Bedrock + DeepSeek-R1:开启企业级 AI 开发的新篇章
人工智能·云计算·aws
王道长服务器 | 亚马逊云1 天前
AWS + WordPress:中小型外贸独立站的理想组合
服务器·网络·云计算·音视频·aws
王道长服务器 | 亚马逊云1 天前
帝国CMS + AWS:老牌内容系统的新生之路
服务器·网络·数据库·云计算·aws
闲人编程1 天前
Python在云计算中的应用:AWS Lambda函数实战
服务器·python·云计算·aws·lambda·毕设·codecapsule
wanhengidc1 天前
云手机与云服务器之间的关系
服务器·游戏·智能手机·云计算·区块链