云渲染UE4像素流送搭建(winows、ubuntu单实例与多实例像素流送)

2023-12-27 12:20

本文主要是介绍云渲染UE4像素流送搭建(winows、ubuntu单实例与多实例像素流送),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

windows/ubuntu20.4下UE4.27.2像素流送

像素流送技术可以将服务器端打包的虚幻引擎应用程序在客户端的浏览器上运行,用户可以通过浏览器操作虚幻引擎应用程序,客户端无需下载虚幻引擎,本文实现两台机器通过物理介质网线实现虚幻引擎应用程序的流送。(本文感谢程同事、王同事的鼎力相助

一、本地服务器虚幻引擎与打包应用程序设置

1.在虚幻编辑器中启用像素流插件,然后重启编辑器。

在这里插入图片描述

2.创建流送项目,修改项目设置。

从主菜单中选择 编辑> 编辑器偏好>关卡编辑器>播放>额外启动参数设置,设置额外启动参数值为“-AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888”

3.项目打包。

4.设置打包程序的“属性”在 项目名称末尾附加文本 -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888 。建议复制一个快捷方式(alt+拖动可执行文件,即可复制),再修改参数![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a87e2119b8674175b2466feca1278cf7.png

注: -RenderOffScreen 参数。如果虚幻引擎应用程序窗口意外被最小化,像素流送视频和输入流送将停止工作。-RenderOffScreen 能以headless模式运行应用程序,不带可见窗口,即后台运行。

二、启动信令服务器

信令服务器起桥梁作用,在虚幻引擎程序和客户端浏览器之间建立点对点连接。

在打包好的虚幻引擎程序文件夹中,在Samples/PixelStreaming/WebServers/SignallingWebServer 中找到信令服务器的路径。

注:官网给的是引擎安装文件夹的sample,因对不同的应用程序打包配置需求不一致,最好是在打包好的应用程序下配置信令服务器(此处是,王同事给的建议

1.在 SignallingWebServer\platform_scripts\下运行cmd\setup.ps1(linux运行bash\setup.sh)。会安装所有需要的依赖项,setup脚本内容就是下载node、npm、express等依赖,并配置与更新环境变量,检查。 显示蓝框中的所有依赖,即下载完成。

请添加图片描述

注:若报错“node_model”下…无法找到或者无法中创建,手动删掉该文件夹,重新执行命令即可。因首次执行会创建“node_model”文件夹,后面某些错误导致无法成功下载依赖,该文件夹会一直存在。(此处是王同事给的建议

2.运行 SignallingWebServer\platform_scripts\cmd\Start_SignallingServer.ps1 开启信令服务器,出现绿框中三行即成功。

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

3.运行 SignallingWebServer\platform_scripts\cmd\run_local.bat建立服务器端打包的虚幻引擎应用程序与客户端浏览器的连接。注:官网提供的信令服务器是有加载在线网页js插件的,因此本地服务器需要连互联网(也可把引用的js下载到本地,从本地引用无需联连外网)。

4.运行服务器端打包的虚幻引擎应用程序,如运行xxx.exe。

注:cirrus.js文件中可配置修改传送端口,客户端ip

请添加图片描述在这里插入图片描述

三、连接服务器端打包的虚幻引擎应用程序与客户端浏览器

1.浏览器导航中输入“127.0.0.1:80”,此处使用的是本地的浏览器与默认端口与IP。

在这里插入图片描述

2.若,客户端在另外设备上,只需保证本地服务器与客户端在同一网段(网线直连两个设置同一网段IP,或在同个无线网络都可)

本文是左边的笔记本作为客户端浏览器,右边的笔记本作为服务器端,如下图:

在这里插入图片描述


在这里插入图片描述在这里插入图片描述单实例的像素流送到此完成------------------------------------------------------------------------------------------------------------

四、多个虚幻程序的像素流送
多个虚幻程序对应的需要开启多个信令服务器,此处简单操作了,我自己的笔记本幻16(NVIDIA GeForce)是能带动三个的(其中有个程序是10G的地图),工作服务器是Quadro启动三个毫无压力。
在这里插入图片描述1.修改config.json,启动信令服务器
具体操作需要配置WindowsNoEditor\Samples\PixelStreaming\WebServers\SignallingWebServer\下的config.json文件,若需要跑两个,分别修改虚幻打包程序1与2的config.json,将“httpport”分别改为“50”,“60”,将“streamport”分别改为“5555”,“6666”。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述分别启动这两个程序的信令服务器,分别启动“\程序1,2\Samples\PixelStreaming\WebServers\SignallingWebServer\platform_scripts\bash\”下run_local.sh。因单实例搭建中已下载好依赖,此处只需要启动run_local.sh.

2.修改打包程序.exe
修改两个打包程序中的 -PixelStreamingPort参数值分别为“5555”,“6666”,此处与config.json像素流送端口对应上。
分别启动这两个程序。
在这里插入图片描述
在这里插入图片描述
3.打开浏览器连接“127.0.0.1:50”,“127.0.0.1:60”,完成。

在这里插入图片描述


注:
在这里插入图片描述

对于UE4官网给出的先决条件,

1.GPU硬件要求很高,尝试过在Ubuntu20.04(双NVIDDIA TITANRTX)流送,环境都搭建好,驱动也升级到最新,报错如下“找不到匹配的GPU”,发现通过限速流启动的程序根本没把独显跑起来,显卡是凉的。后续发现是升级英伟达显卡驱动后,有一个服务没打开,打开后TITANRTX才跑起来,此问题得以解决(此问题是程同事解决)。

在这里插入图片描述

2.安装nodejs,没必要提前安装,因在执行setup.sh/setup.ps1脚本时,会把缺少的依赖都装好(各个依赖的版本都是匹配的,不会出现不兼容)。我们尝试在提前装好node的情况下,反而在执行setup装依赖的过程中多处报错,因为自行安装的node一般是最新版本,会与setup中安装的其他依赖等版本不匹配。

3.停止其他web服务器也没必要,保证80、8888端口不被占用即可。

这篇关于云渲染UE4像素流送搭建(winows、ubuntu单实例与多实例像素流送)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/543118

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Spring 中使用反射创建 Bean 实例的几种方式

《Spring中使用反射创建Bean实例的几种方式》文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newI... 目录1. 使用 Class.newInstance() (仅限无参构造函数):2. 使用 Construc

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景