【虚幻引擎】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

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二