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

Unreal像素流ubantu os部署细节

Unreal像素流ubantu os部署细节

  • 前言
  • Docker 运行时环境部署:
    • 1、Docker镜像资源获取:
    • 2、镜像资源构造容器:
    • 3、运行容器以及控制台用户切换:
    • 4、映射路径内容启动程序
  • 注意事项

前言

在一般的Linux服务进行Unreal服务的部署,一般需要GPU等硬件以及关联的依赖程序安装,以此处为例,这边Ubantu主要需要安装的依赖主要有valkan、nvidia等依赖。在本篇文章主要介绍另外一种部署的方式,使用的是Docker容器相关的内容。

Docker 运行时环境部署:

1、Docker镜像资源获取:

这里默认服务器已经准备好了相关的docker环境已经相关硬件

docker pull adamrehn/ue4-runtime:22.04-vulkan

2、镜像资源构造容器:

# 依据镜像构造容器内容 - 指定第一张显卡
sudo docker run --gpus device=0 --net=host -it -v /home/sfxc/gisSpace/Demo/Linux:/home/ue4/ adamrehn/ue4-runtime:22.04-vulkansudo docker run --gpus=all --net=host -it -v /home/sfxc/gisSpace/Demo/Linux:/home/ue4/ adamrehn/ue4-runtime:22.04-vulkan

3、运行容器以及控制台用户切换:

# 运行容器
sudo docker restart 52584baf31f5
# 使用根用户进入容器内部
sudo docker exec -it -u root  52584baf31f5 /bin/bash
# 切换默认用户ue4
su ue4

4、映射路径内容启动程序

# 启动程序像素流监听端口
sh ./BenuaPark.sh -PixelStreamingIP=192.168.168.8 -PixelStreamingPort=8888 -RenderOffScreen -log
# 运行可用nohup进行挂起
nohup /home/sfxc/gisSpace/Demo/Linux/$PIXCEL_NAME -PixelStreamingIP=192.168.168.8 -PixelStreamingPort=8888 -RenderOffScreen -log > /dev/null 2>&1 &
  • > /dev/null 这个部分是为了将标准输出(stdout)重定向到 /dev/null。
/dev/null 是一个特殊的文件,通常被称为“黑洞”。
任何写入 /dev/null 的数据都会被丢弃,不会产生输出。因此,> /dev/null 的意思是:忽略命令运行时的输出信息。
  • 2>&1 这是将标准错误输出(stderr)重定向到标准输出(stdout)。
在 Linux 系统中,stdout(标准输出)和 stderr(标准错误)是两个不同的输出流,分别表示程序的正常输出和错误输出。stdout 默认的文件描述符是 1。stderr 默认的文件描述符是 2。
2>&1 的意思是:将标准错误流(文件描述符 2)重定向到标准输出流(文件描述符 1)。

因为我们已经将标准输出通过 > /dev/null 重定向到“黑洞”,因此,2>&1 会将标准错误流也一并重定向到 stdout,从而一起丢弃。

> /dev/null:将标准输出重定向到 /dev/null,丢弃正常输出。2>&1:将标准错误重定向到标准输出,意味着标准错误也会被丢弃。

启动后,程序有多个关联进程,关闭是需要注意将全部内容进行结束

ps aux | grep UnrealEngineApp | grep -v grep | awk '{print $2}' | xargs kill -9
  • grep -v grep:过滤掉 grep 自己的进程。
  • awk ‘{print $2}’:提取进程的 PID(第二列)。
  • xargs kill:将提取到的 PID 传递给 kill 命令

注意事项

  • 需要宿主机或者另一个dock容器配合启动信令,进行推流
  • 应用打包需要注意:
    windows环境-turnkey会自动检测autosdk对应的版本,在项目配置完Linux工具环境后,需要在电脑配置好交叉编译工具以及环境变量LINUX_MULTIARCH_ROOT
# UE 5.3.2 对应交叉编译工具 v22_clang-16.0.6-centos7, 具体参照官方
# https://dev.epicgames.com/documentation/en-us/unreal-engine/linux-development-requirements-for-unreal-engine?application_version=5.3
# 检验cmd脚本:
%LINUX_MULTIARCH_ROOT%x86_64-unknown-linux-gnu\bin\clang++ -v

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用Maven创建一个Java项目并在repository中使用
  • qwen2 VL 多模态图文模型;图像、视频使用案例
  • ElK 8 收集 Nginx 日志
  • windows server2012 配制nginx安装为服务的时候,直接跳要安装.net框架,用自动的安装,直接失败的解决。
  • 从入门到精通,带你探索适合新手的视频剪辑工具
  • STM32快速复习(十二)FLASH闪存的读写
  • 海外服务器哪个速度最快且性能稳定
  • 鸿萌数据恢复服务: 修复 Windows, Mac, 手机中 “SD 卡无法读取”错误
  • 【git系列】git中的那些迷惑的术语以及概念详解
  • Linux(ubuntu)(c语言程序)
  • 算法训练——day16快乐数
  • 硬件开篇——体系架构
  • Rust GUI框架Tauri V1 入门
  • 拓扑排序基础
  • 2024 ccpc 网络赛题解
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Facebook AccountKit 接入的坑点
  • IOS评论框不贴底(ios12新bug)
  • JavaScript 基本功--面试宝典
  • SQLServer插入数据
  • 测试开发系类之接口自动化测试
  • 利用jquery编写加法运算验证码
  • 前端学习笔记之观察者模式
  • 使用docker-compose进行多节点部署
  • 双管齐下,VMware的容器新战略
  • 说说动画卡顿的解决方案
  • 算法之不定期更新(一)(2018-04-12)
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 一道闭包题引发的思考
  • nb
  • 整理一些计算机基础知识!
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #define与typedef区别
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (分布式缓存)Redis持久化
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (三分钟)速览传统边缘检测算子
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)socket Aio demo
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .Net 6.0 处理跨域的方式
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET的数据绑定
  • .net专家(张羿专栏)
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • /etc/shadow字段详解
  • @ModelAttribute 注解