【虚幻引擎】UE4/UE5像素流在广域网上(云)部署(多实例)

2023-10-17 11:40

本文主要是介绍【虚幻引擎】UE4/UE5像素流在广域网上(云)部署(多实例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

B站教学链接:https://space.bilibili.com/449549424?spm_id_from=333.1007.0.0


一、选择云服务器

         每个云平台都提供许多预设的镜像选择,由于像素流技术目前只支持Windows操作系统,所以我们需要选择Windows Server的镜像,2012/2016/2019皆可。我们这里选择了Windows Server 2016 R2 简体中文版的镜像,之所以选择这个版本主要原因AWS 中国直接提供了这个版本下显卡的GRID驱动,省去了去Nvidia网站申请试用的麻烦。另外Community AMI 里有Windows Server with Tesla Driver的镜像,但这里的驱动不是GRID驱动,所以还是需要按照下文安装GRID驱动。

广域网部署与云部署的区别在于本地广域网需要自己有公网IP且在路由器配置中设置端口映射等,而云部署不需要。所以这里我们选择了阿里云服务器来实现像素流的云部署。

二、阿里云服务器

配置云服务器端口 ,开放80端口访问,并将需要被访问和准备推流的端口都进行开放处理,我开放了60-90等等

 三、选择UE的相关文件上传到云服务器上

  可以选择上传整个Engine文件夹

 也可以选择上传Engine\Source\ThirdParty\WebRTC和Engine\Source\Programs\PixelStreaming\WebServers下面的Matchmaker和SignallingWebServer

 三、配置上传到云服务器的相关参数

首先配置WebRTC里面的Start_AWS_TURNServer.ps1,如下,修改LoaclIP为127.0.01。

然后配置信令服务器, SignallingWebServer里的Start_AWS_WithTURN_SignallingServer.ps1,将IP填写为公网IP,比如是$PublicIp = "12.34.56.78"

然后配置分配服务器,Matchmaker里面的matchmaker.js,这里的端口与上面配置阿里云入方向策略的端口一致。

 复制一个信令服务器,进行多实例操作

 配置第一个信令服务器,开启分配服务器,配置config.json中UseMatchmaker:true,配置cirrus.js如图示

 配置第二个信令服务器,开启分配服务器,配置config.json中UseMatchmaker:true,配置cirrus.js如图示

 启动服务器,依次执行,启动Start_AWS_TURNServer.batStartSTUNServer.batMatchemaker\run.bat,以及两个信令的runAWS_WithTURN.bat

四、配置本地电脑UE程序

  • 创建两个推流快捷方式,IP为上文公网IP,端口为信令配置的端口,启动参数如下
  • -AudioMixer - PixelStreamingIP=12.34.56.78 -PixelStreamingPort=7777 -RenderOfScreen
  • -AudioMixer - PixelStreamingIP=12.34.56.78 -PixelStreamingPort=6666 -RenderOfScreen

 运行两个程序,到此即可。

 五、遇到的无法连接的一些坑

  • 环境配置要正确,刚买的服务器可能没有UE的一些配置环境,比如缺少.NET Framework3.5,NodeJS等配置环境
  • 虚幻引擎提供的启动脚本中,是通过Invoke-WebRequest的方式来自动获得公网或者局域网IP地址,有时候并不能正确获得,这时候你可以在脚本中手工指定正确的公网IP或者局域网IP的方式来设置。
  • 启动TURN服务的情况没有成功启动

  • 没有使用云服务器的用户,需要用到路由器的用户需要配置NAT进行映射检查

这篇关于【虚幻引擎】UE4/UE5像素流在广域网上(云)部署(多实例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

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.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

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

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

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域