UE像素流是什么
UE像素流是什么
UE像素流送是一种云渲染技术,由虚幻引擎(UE)提出,用于在浏览器中运行高画质3D应用或游戏。其原理是在远程计算机(可以是云端服务器或本地高性能服务器)上运行UE开发的应用程序,利用服务器的CPU、GPU、内存等资源来运行游戏逻辑并渲染每一帧画面,然后将渲染后的画面(像素数据)通过视频压缩编码技术实时编码为媒体流,再通过轻量级Web服务堆栈和WebRTC点对点通信框架,将媒体流发送到用户设备上的标准Web浏览器中进行播放。用户可以通过浏览器进行交互,将键盘、鼠标和触摸等事件发送回虚幻引擎应用程序,服务器根据用户输入更新画面并再次编码传输,形成实时的交互体验。
像素流送技术框架主要包含两部分:
-
像素流送插件(Pixel Streaming Plugin):在虚幻引擎中运行,负责使用视频压缩对每个渲染帧的最终结果进行编码,将视频帧与游戏音频一起打包成媒体流,并通过直接点对点连接将该流发送到一个或多个连接的浏览器。
-
信令和Web服务器:负责协商浏览器和像素流送插件之间的连接,并为浏览器提供播放媒体流的HTML和JavaScript环境。
具体流程如下:
- 启动像素流送插件时,它首先会建立与信令和网络服务器的连接。
- 客户端连接到信号服务器,信号服务器为其提供一个包含播放器小部件和JavaScript控制代码的HTML页面。
- 用户启动流时,信令服务器会协商在客户端浏览器和虚幻引擎应用程序之间建立直接连接。如果两者不在同一网络,可能需要使用STUN或TURN服务器来确定彼此的外部可见IP地址。
- 连接建立后,像素流送插件开始将媒体直接流式传输到浏览器,而来自客户端的输入由播放器页面的JavaScript环境直接发送回虚幻引擎应用程序。
- 即使在媒体流开始播放后,信令和Web服务器仍会保持与浏览器和虚幻引擎应用程序的连接,以处理浏览器发起的断开连接等情况。
开源解决方案
PeerStreamEnterprise
inveta团队打造的企业级管理平台,帮助大家用好云渲染。
https://github.com/inveta/PeerStreamEnterprise
或
https://github.com/inveta/peer-stream
- 完善的日志功能,可以追踪各种异常
- 分布式部署,可以支持windows、linux以及信创环境
- 支持公网访问以及渲染服务部署本地
- 支持管理多个UE实例
- 支持多个机器、多个显卡的负载均衡
- 支持UE实例的全生命周期管理(启动、关闭)
- 支持预加载,更好的用户体验
- 支持api的二次开发
- 支持静态网页文件的托管
参考
- http://www.cesiumlab.com/esss.html
- https://github.com/inveta/PeerStreamEnterprise