像素流送技术可以将服务器端打包的虚幻引擎应用程序在客户端的浏览器上运行,用户可以通过浏览器操作虚幻引擎应用程序,客户端无需下载虚幻引擎,本文实现两台机器通过物理介质网线实现虚幻引擎应用程序的流送。(本文感谢程同事、王同事的鼎力相助)
从主菜单中选择 编辑> 编辑器偏好>关卡编辑器>播放>额外启动参数设置,设置额外启动参数值为“-AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888”
-AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888
。注: -RenderOffScreen 参数。如果虚幻引擎应用程序窗口意外被最小化,像素流送视频和输入流送将停止工作。-RenderOffScreen 能以headless模式运行应用程序,不带可见窗口,即后台运行。
信令服务器起桥梁作用,在虚幻引擎程序和客户端浏览器之间建立点对点连接。
在打包好的虚幻引擎程序文件夹中,在Samples/PixelStreaming/WebServers/SignallingWebServer 中找到信令服务器的路径。
注:官网给的是引擎安装文件夹的sample,因对不同的应用程序打包配置需求不一致,最好是在打包好的应用程序下配置信令服务器(此处是,王同事给的建议)
注:若报错“node_model”下…无法找到或者无法中创建,手动删掉该文件夹,重新执行命令即可。因首次执行会创建“node_model”文件夹,后面某些错误导致无法成功下载依赖,该文件夹会一直存在。(此处是王同事给的建议)
WebSocket listening to Streamer connections on :8888
WebSocket listening to Players connections on :80
Http listening on *: 80
注:cirrus.js文件中可配置修改传送端口,客户端ip
本文是左边的笔记本作为客户端浏览器,右边的笔记本作为服务器端,如下图:
注:
对于UE4官网给出的先决条件,
1.GPU硬件要求很高,尝试过在Ubuntu20.04(双NVIDDIA TITANRTX)流送,环境都搭建好,驱动也升级到最新,报错如下“找不到匹配的GPU”,发现通过限速流启动的程序根本没把独显跑起来,显卡是凉的。后续发现是升级英伟达显卡驱动后,有一个服务没打开,打开后TITANRTX才跑起来,此问题得以解决(此问题是程同事解决)。
2.安装nodejs,没必要提前安装,因在执行setup.sh/setup.ps1脚本时,会把缺少的依赖都装好(各个依赖的版本都是匹配的,不会出现不兼容)。我们尝试在提前装好node的情况下,反而在执行setup装依赖的过程中多处报错,因为自行安装的node一般是最新版本,会与setup中安装的其他依赖等版本不匹配。
3.停止其他web服务器也没必要,保证80、8888端口不被占用即可。