实时云渲染——比像素流送节省80%精力的UE程序推流技术

发布于:2025-05-09 ⋅ 阅读:(19) ⋅ 点赞:(0)

UE5引擎除了适合开发3A游戏,同样适用于开发大场景高精度的数字孪生可视化场景,自带的Nanite 虚拟微多边形几何体技术、Lumen 全动态全局光照技术、高度可扩展的架构、强大的地形和植被系统以及高效的流媒体技术,使UE5在数字孪生领域的技术占有率遥遥领先。为了实现UE程序BS化、与业务系统对接的需求,需要在UE5程序中集成像素流(PixelStreaming)服务,包括安装插件、打包项目、运行服务以及如何配置多客户端连接等,需要开发者从引擎层面进行修改。实时云渲染(Real-time Rendering)技术作为通用引擎的流送技术,比像素流推出还要早几年。本文对二者之间的技术实现作以初步对比,主要从如何使UE程序实现网页推流这一目标的角度,来进行拆解。

如何使用像素流服务

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

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

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

1. 集成像素流插件

在UE引擎中找到像素流送(Pixel Streaming) 插件并勾选 启用(Enabled) 框,重启项目修改应用。打包Windows项目,-PixelStreamingIP=localhost 设置换成需要访问的公网IP。

2.配置信令服务器

为了使UE程序可以通过网络访问,需要开启网络服务,与客户端浏览器建立点对点的链接。注意,如果是公网使用,注意要有固定的外网IP,来支持外部人员的访问。可以使用公有云的CPU服务器作为信令服务器,或者考虑一些低成本的第三方方案,如NAT代理转发方案等。

3.使用远程工具连接服务器

采用Windows自带的远程工具,启动后将信令服务器复制,生成的目录在\Windows\项目名\Samples下,运行WebServers\SignallingWebServer\platform_scripts\cmd目录的setup.bat文件。安装好后确认服务正常运行,打开config.json文件配置信令,蒋“Publiclp”:"localhost” 改为公网IP。

4.启动信令服务器

按照虚幻引擎官网文档指示,运行 SignallingWebServer\platform_scripts\cmd\Start_WithTURN_SignallingServer.ps1 开启信令服务器。服务器启动,能够接收连接后,控制台窗口中将出现以下命令行:

WebSocket listening to Streamer connections on :8888
WebSocket listening to Players connections on :80
Http listening on *: 80

命令行启动应用,启动成功后可以在信令和Web服务器打开的控制台窗口中看到对应的输出行:Streamer connected: ::1

MyPixelStreamingApplication.exe -AudioMixer -PixelStreamingIP=公网IP -PixelStreamingPort=8888

5.多终端访问推流页面

新建浏览器窗口页(选择Chrome内核浏览器),地址栏中: http://服务器IP:信令端口 ,在浏览器上成功打开推流画面,证明流程正确,可以满足单点推流使用。如果要满足1对多的服务配置,使用像素流送中的Matchmaker来自动分配端口。

2.如何使用实时云渲染服务

实时云渲染是一种更广义的技术,通常指在云端完成3D场景的渲染,并将渲染结果以视频流的形式传输到客户端。它可以使用多种协议(如WebRTC、RTMP、SRT等)传输数据,不受限于引擎种类。相比于像素流送必须与UE引擎强绑定,实时云渲染服务与引擎和应用松耦合,提供了强大的二次开发能力。下面以LarkXR实时云渲染PaaS平台为例,介绍UE三维应用如何一键部署实时云渲染服务。

LarkXR实时云渲染平台的整体架构如下,包含覆盖云、网、端和开箱即用的PaaS平台功能。

简单的说,UE应用无需集成像素流插件/无需修改程序,在客户预期要部署的云服务器上,只需一步:安装LarkXR的软件包,直接通过管理后台上传应用,即可实现在指定网络下的推流,在任意终端设备上即可实时访问。

1.下载LarkXR软件程序包,自助获取测试授权码

https://www.pingxingyun.com/devCenter.html,下载LarkXR单机版测试,建议能访问外网的环境可以直接使用在线安装版本,自动配置服务器环境。注册个人开发者获取测试授权码,激活LarkXR平台(类似激活微软Office办公软件的方法)。

2.添加程序包

上传打包好的Zip程序包,同步完成后自动生成URL链接,可以通过各类终端访问交互。UE demo :3D可视化楼宇项目:https://larkxrpub.pingxingyun.com:443/webclient/?appliId=1323331555975757824&wsId=Qt5HqKaq&timestamp=1777446078000&signature=135F46F29AC7AF645FDE83D4C422DE3C51B0CC7F

3.如何零代码、零部署使用实时云渲染服务

针对个人开发者,LarkXR提供两种测试方式,一种是开发者本地部署一套环境,开通相关端口,如需外网访问需要固定IP(或者使用官方提供的NAT代理转发服务)。还有一种托管应用方案,无需部署,一键上传,即可自动同步,生成可直接访问的URL链接,特别适合于短时、少并发的演示汇报场景。

1.添加应用

在页面点击【添加托管应用】或【添加应用】跳转到应用上传页面

2.默认设置

默认选项:表格前带红星号的都是必填项,表格后面带问号的是说明内容,比如应用执行路径怎么选择,支持上传哪些应用等。

渲染类型默认为3D共享,适用于纯三维开发的应用。 如果是二三维混合开发的应用可以使用2D共享模式。当选择 2D 共享模式 时,需确认应用类型,若应用为 WebGL 应用,仅需填写 WebGL 的网址

3.高级设置

高级选项: 高级设置里可以更改应用的一些配置,如显示方式、初始化模式、初始背景色等。 可以等到应用上传完使用过后根据自己的需求更改配置。

4.生成链接,分享应用

同步成功之后,方可进入应用。根据应用大小估算同步时间,1G的应用同步时间大概在10~30s左右。点击【更多】,从【分享】按钮中复制链接进行分享。注意不要直接把浏览器地址栏的URL分享,无法访问。


网站公告

今日签到

点亮在社区的每一天
去签到