当前位置: 首页 > news >正文

云渲染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单实例与多实例像素流送)

windows/ubuntu20.4下UE4.27.2像素流送 像素流送技术可以将服务器端打包的虚幻引擎应用程序在客户端的浏览器上运行,用户可以通过浏览器操作虚幻引擎应用程序,客户端无需下载虚幻引擎,本文实现两台机器通过物理介质网线实现虚幻引擎应用程序…...

Unity VR Pico apk安装失败:INSTALL_FAILED_UPDATE_INCOMPATIBLE

我的报错: PICO4企业版。安装apk,报错“安装失败。(所属的Unity项目打包的apk,被我在同一台pico4安装了20次) 调试方法: PIco4发布使用UNITY开发的Vr应用,格式为apk,安装的时候发生…...

Prompt 提示工程学习笔记

一、Prompt设计的四个关键要素: 任务描述、输入数据、上下文信息、提示风格 (1)任务描述:描述想要让LLM遵循的指令。描述应详细清晰,可进一步使用关键词突出特殊设置,从而更好地指导LLM工作。 &#xff0…...

STM32实现三个小灯亮

led.c #include"led.h"void Led_Init(void) {GPIO_InitTypeDef GPIO_VALUE; //???RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//???GPIO_VALUE.GPIO_ModeGPIO_Mode_Out_PP;//???? ????GPIO_VALUE.GPIO_PinGPIO_Pin_1|GPIO_Pin_2|GPIO_P…...

1861_什么是H桥

Grey 全部学习内容汇总: GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1861_什么是H桥 H桥电路可以…...

【计算机四级(网络工程师)笔记】操作系统运行机制

目录 一、中央处理器(CPU) 1.1CPU的状态 1.2指令分类 二、寄存器 2.1寄存器分类 2.2程序状态字(PSW) 三、系统调用 3.1系统调用与一般过程调用的区别 3.2系统调用的分类 四、中断与异常 4.1中断 4.2异常 🌈嗨&#xff…...

Swagger快速入门

1、Swagger快速入门 1.1 swagger介绍 官网:https://swagger.io/ Swagger 是一个规范和完整的Web API框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 功能主要包含以下几点: A. 使得前后端分离开发更加方便,有利于团队协作…...

数据结构之<堆>的介绍

1.简介 堆是一种特殊的数据结构,通常用于实现优先队列。堆是一个可以被看作近似完全二叉树的结构,并且具有一些特殊的性质,根据这些性质,堆被分为最大堆(或者大根堆,大顶堆)和最小堆两种。 2.…...

使用Ubuntu22+Minikube快速搭建K8S开发环境

安装Vmware 这一步,可以参考我的如下课程。 安装Ubuntu22 下载ISO镜像 这里我推荐从清华镜像源下载,速度会快非常多。 下载地址:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04.3/ 如果你报名了我的这门视频课程&#xf…...

【中小型企业网络实战案例 二】配置网络互连互通

​【中小型企业网络实战案例 一】规划、需求和基本配置-CSDN博客 热门IT技术视频教程&#xff1a;https://xmws-it.blog.csdn.net/article/details/134398330?spm1001.2014.3001.5502 配置接入层交换机 1.以接入交换机ACC1为例&#xff0c;创建ACC1的业务VLAN 10和20。 <…...

Azure Machine Learning - Azure OpenAI GPT 3.5 Turbo 微调教程

本教程将引导你在Azure平台完成对 gpt-35-turbo-0613 模型的微调。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&…...

运维大模型探索之 Text2PromQL 问答机器人

作者&#xff1a;陈昆仪&#xff08;图杨&#xff09; 大家下午好&#xff0c;我是来自阿里云可观测团队的算法工程师陈昆仪。今天分享的主题是“和我交谈并获得您想要的PromQL”。今天我跟大家分享在将AIGC技术运用到可观测领域的探索。 今天分享主要包括5个部分&#xff1a;…...

虚拟机VMware:变动ip修改固定ip

1、配置ip地址 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改为&#xff1a; 修改如下&#xff1a;TYPE"Ethernet" # 网络类型为以太网 BOOTPROTO"static" # 手动分配ip NAME"ens33" # 网卡…...

Docker部署Nexus Maven私服并实现远程访问Nexus界面

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定N…...

苏州科技大学计算机817程序设计(java) 学习笔记

之前备考苏州科技大学计算机&#xff08;专业课&#xff1a;817程序设计&#xff08;java&#xff09;&#xff09;。 学习Java和算法相关内容&#xff0c;现将笔记及资料统一整理归纳移至这里。 部分内容不太完善&#xff0c;欢迎提议。 目录 考情分析 考卷题型 刷题攻略…...

虚幻学习笔记22—C++同步和异步加载

一、前言 之前提到的静态和动态加载都是同步的加载&#xff0c;同时其中的引用基本都是硬引用。如果资源比较大的话会出现卡顿的现象&#xff0c;下面将介绍一种异步加载的方式。同时&#xff0c;还将介绍一种区别与之前的Load的方法。 在说明同步和异步加载之前需要先讲一下虚…...

华清远见嵌入式学习——ARM——作业3

作业要求&#xff1a; 代码效果图&#xff1a; 代码&#xff1a; led.h #ifndef __LED_H__ #define __LED_H__#define RCC_GPIO (*(unsigned int *)0x50000a28) #define GPIOE_MODER (*(unsigned int *)0x50006000) #define GPIOF_MODER (*(unsigned int *)0x50007000) #defi…...

19.JavaSE

一、JavaSE。 &#xff08;1&#xff09;IO流。 1.字节字符流 2.标准流打印流对象流 &#xff08;2&#xff09;集合。 1.List/Set/Queue/Map集合 2.properties集合 &#xff08;3&#xff09;多线程。 1.线程创建的…...

仓库管理用什么软件

仓库管理是一个非常重要的话题&#xff0c;大到企业&#xff0c;小到个人&#xff0c;只要有货物的往来就会有仓库方面的管理&#xff0c;最为典型的就是货物的进出库存管理&#xff0c;这也是最为基础的仓库管理内容&#xff0c;那么仓库管理要用什么软件&#xff0c;从不同的…...

飞天使-k8s知识点8-kubernetes资源对象-编写中

文章目录 资源对象是k8s核心概念 资源对象是k8s核心概念 查看防火墙规则 32002 端口的去向 [rootkubeadm-master1 ~]# iptables -t nat -vnL |grep 32000 0 KUBE-MARK-MASQ tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes-dashboard/…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

DeepSeek越强,Kimi越慌?

被DeepSeek吊打的Kimi&#xff0c;还有多少人在用&#xff1f; 去年&#xff0c;月之暗面创始人杨植麟别提有多风光了。90后清华学霸&#xff0c;国产大模型六小虎之一&#xff0c;手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水&#xff0c;单月光是投流就花费2个亿。 疯…...

JavaScript 标签加载

目录 JavaScript 标签加载script 标签的 async 和 defer 属性&#xff0c;分别代表什么&#xff0c;有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...