云渲染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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级