什么是UE像素流送,像素流推流是什么原理?

2023-10-27

游戏开发者通常在运行游戏逻辑时会将游戏渲染到屏幕的同一台设备上来运行虚幻引擎应用,多人联网游戏可能会在应用程序的多个实例之间分发部分游戏逻辑,但每个单独的实例仍然会为自己的玩家在本地渲染游戏。即使是使用 HTML5 部署选项创建可以在 Web 浏览器中运行的项目版本,游戏逻辑和画面呈现仍然在每个用户的 Web 浏览器中本地运行。

然而,使用像素流送,可以在用户看不到的计算机上远程运行UE开发的应用。虚幻引擎使用该计算机可用的资源(CPU、GPU、内存等)来运行游戏逻辑并渲染每一帧。它不断地将此渲染输出编码为媒体流,该媒体流通过轻量级 Web 服务堆栈。然后,用户可以在其他计算机和移动设备上运行的标准 Web 浏览器中查看该广播流。

像素推流技术原理

用户的结果就像从 YouTube 或 Netflix 等服务观看视频流一样,但有两点区别

  • 流媒体播放的不是预先录制的视频片段,而是虚幻引擎实时生成的渲染帧和音频。
  • 用户可以从他们的浏览器控制交互,将键盘、鼠标和触摸事件以及从播放器网页发出的自定义事件发送回虚幻引擎。

UE像素流送的优势

  • 像素流送使移动设备和轻型 Web 浏览器能够显示比其他方式更好的图形质量。它们可以显示高分辨率的复杂场景,通过像素流送,用户可以运行原本只有在具有强大 GPU 的本机桌面应用程序中渲染时才有可能使用的渲染功能。
  • 用户不需要提前下载大型可执行文件或内容文件,也不需要安装任何东西。用户唯一需要下载的是播放的媒体流。
  • 可以支持多个平台,而无需创建和分发多个单独的包。只需为 Windows 或 Linux 打包应用程序一次,人们可以使用任何平台来体验UE内容。用户可以在任何支持 WebRTC 连接模型的现代浏览器中查看流,包括桌面、iOS 和 Android 平台上浏览器。
  • Pixel Streaming 系统包含最少数量的组件,任何人都可以相对容易地在本地网络中进行设置。但是,对于具有部署 Web 服务经验的团队来说,它足够强大,可以用作创建自定义云托管平台的基础。
  • Pixel Streaming 使用 WebRTC 点对点通信框架来尽可能降低用户和虚幻引擎应用程序之间的延迟。

下图简单总结了像素流送插件

像素流送技术框架

像素流送技术的框架包含两部分:像素流送插件Pixel Streaming、信令和 web 服务器。

  1. Pixel Streaming Plugin -该插件在虚幻引擎中运行。它使用视频压缩对每个渲染帧的最终结果进行编码,将这些视频帧与游戏音频一起打包成媒体流,并通过直接点对点连接将该流发送到一个或多个连接的浏览器。
  2. 信令和 Web 服务器 -信令和 Web 服务器负责协商浏览器和像素流插件之间的连接,并为浏览器提供播放媒体流的 HTML 和 JavaScript 环境。

像素推流连接方法

  1. 当启动所有像素流送插件时,在虚幻引擎中运行的像素流送插件首先会建立与信令和网络服务器的连接。
  2. 客户端连接到信号服务器,信号服务器为它提供一个 HTML 页面,其中包含播放器小部件和用 JavaScript 编写的控制代码。
  3. 当用户启动流时,信令服务器会协商在客户端浏览器和虚幻引擎应用程序之间建立直接连接。为了使此连接正常工作,浏览器和虚幻引擎应用程序需要知道彼此的 IP 地址。如果两者都在同一网络上运行,则它们通常在各自的 IP 地址上直接相互可见。但是,在两个端点之间运行的网络地址转换 (NAT) 服务可能会更改任何一方的外部可见 IP 地址。解决这个问题通常涉及使用 STUN 或 TURN 服务器,它告诉每个组件其外部可见的 IP 地址是什么。 一旦在客户端和虚幻引擎应用程序之间建立连接,像素流式处理插件就会开始将媒体直接流式传输到浏览器。来自客户端的输入由播放器页面的 JavaScript 环境直接发送回虚幻引擎应用程序。
  4. 即使在媒体流开始播放后,信令和 Web 服务器仍会保持与浏览器和虚幻引擎应用程序的连接,因此它能够处理浏览器发起的断开连接。

UE像素推流的局限性

首先像素流官方提供的并不是产品,不能拿来直接使用。其次它只适用于UE模型,再者它在实际中对于不同浏览器的兼容性不太好。而3DCAT实时云渲染技术,不仅仅是支持3D引擎的模型,对于一些非3D引擎比如一些大型的家装软件、PS、BIM等也能支持。而且还有很多针对运营的负载均衡、调度等信息,更加成熟更加产品化,做到拿来即可使用,可支持软件部署,也支持SDK对接。

3DCAT实时云渲染优势

首先,3DCAT实时云渲染不会限制任何的访问引擎,超过支持10多种国内外三维制作引擎输出的标准可执行文件,不挑引擎是最大的优势。其次3DCAT已经用于多个商业生产项目中,并不断的壮大与完善功能,提供最稳定的实时云渲染服务。此外,3DCAT所有模块均支持定制化开发,3DCAT还有强大的公有云服务,遍布全国的边缘节点,拥有超3万台的节点,而不是本地化单机部署能够比拟的。

本文《什么是UE像素流送,像素流推流是什么原理?》内容由3DCAT实时渲染云解决方案提供商整理发布,如需转载,请注明出处及链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是UE像素流送,像素流推流是什么原理? 的相关文章

  • Unity基础知识及一些基本API的使用

    Unity基础知识及一些基本API的使用 1 Unity界面介绍 Unity的默认Editor窗口主要呈现为以上布局 它们分别为 1 工具栏 工具栏提供最基本的工作功能 左侧的按钮用于访问 Unity Collaborate Unity 云
  • unity期末大作业 搬运东西过河 益智游戏

    unity期末大作业 搬运东西过河 益智游戏 详细情况如下动态图 点我下载 https download csdn net download weixin 43474701 75859840
  • unity-ugui-eventsystem

    EventSystem对象的说明 当我们在场景中创建任一UI对象后 Hierarchy面板中都可以看到系统自动创建了对象EventSystem 可以看到该对象下有三个组件 EventSystem StandaloneInputModule
  • unity制作血条

    unity制作血条 在hierarchy中create gt UI gt image 重命名为border 将血条框拖入Source Image Set Native Size 防止变形 在Canvas下create empty 命名为He
  • 【unity3D】创建TextMeshPro(TMP)中文字体(解决输入中文乱码问题)

    未来的游戏开发程序媛 现在的努力学习菜鸡 本专栏是我关于游戏开发的学习笔记 本篇是unity的TMP中文输入显示乱码的解决方式 创建 TextMeshPro 中文字体 遇到的问题描述 解决方式 Font Asset Creator 面板扩展
  • unity期末作业-插针游戏

    unity期末作业 插针游戏 附下载链接 鼠标控制针的发射 圆盘可以显示接住的针数目 若两根针碰到则界面变红 游戏结束 详细情况如下动态图 点我下载 https download csdn net download weixin 43474
  • Unity小游戏-勇闯小岛(PC) 项目展示+完整项目源码

    游戏录像 游戏玩法 主角可以变换四种状态 玩家通过四种状态特有的技能来击败眼前的怪物闯关 切换到棕色 有一个一直围绕自己旋转的大摆斧攻击敌人 切换到绿色 可以抵挡一切的投掷物 但是无法攻击敌人 切换到粉色 切换瞬间可以发出飞镖 切换到蓝色
  • UE4 射线检测案例(C++)

    UE4 射线检测 C 开发场景 玩家 C 开发的 武器 C 射线检测函数 蓝图 C 效果 制作流程 添加开火按键映射 新建一个继承ACharacter的C 用蓝图继承刚刚新建的C 然后设置好游戏模式 我 这是是 用了一个枚举 其实你直接调用
  • Unity 音频卡顿 静帧 等待等问题的解决方案

    是否遇到过在Unity中加载音频文件卡顿 也就是画面卡住 的现象 特别是加载外部音频文件时 虽然时间很短 但这终归不是什么好现象 尤其是打游戏的话 影响很大 但是一些有牌面的Boss也不能不配音乐 当然也可以通过其它方式解决 比如特定条件统
  • unity 使用vrtk4的插件 打包htv vive VR客户端包,手柄不生效

    背景 目的 u3d使用vrtk开发pico应用 vrtk是为了到时候无缝衔接后续要买的htc vive pro 2 先导入了tilia importer 也就是vrtk4 0 根据教程模块化使用功能 和pico官网下的 PICO Unity
  • 虚幻引擎程序化资源生成框架PCG 之 UPCGBlueprintElement源码笔记(一)

    UPCGBlueprintElement是PCGGraph中自定义节点的基类 但官方目前还没有给出详细的文档 所以从源代码里找点答案 文章目录 可覆盖函数 Override Functions Excute 和 Excute with Co
  • 一些个人常用的网站网址

    一些个人常用的网站网址 GitHub https github com Gitee https gitee com 1 书栈网 https www bookstack cn explore cid 27 tab popular 2 Unit
  • 【Unity2d】带你制作一款类似于金山打字的小游戏

    博主大概08年开始接触电脑游戏 当时玩的是我哥的电脑 那时候家里没网 只可以玩电脑上自带的单机游戏 比如扫雷 蜘蛛纸牌等等 当然还有红色警戒 冰封王座 星际争霸 帝国崛起等等 这些大概是我哥当时在大学下载的 也是那个时候对游戏充满了兴趣 记
  • 游戏引擎:打造梦幻游戏世界的秘密武器

    介绍 游戏引擎是游戏开发中不可或缺的工具 它为开发者提供了构建游戏世界所需的各种功能和工具 本文将介绍游戏引擎的概念 使用方法以及一个完整的游戏项目示例 游戏引擎的概念 游戏引擎是一种软件框架 它提供了游戏开发所需的各种功能和工具 包括图形
  • Unity-AR 简介

    Unity AR 简介 现有Unity AR Sdk ARKit 苹果推出的AR开发平台 ARCore Google 推出的增强现实 SDK ARFoundation ARFoundation是ARKit XR插件和ARCore XR插件
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • unity3d大型互动照片墙

    1 本次应客户需求 制作一个大型照片墙互动 输出分辨率为9600 4320 注 unity3d官方推荐最大分辨率为8192 3686 4 经过现场长达24小时暴力测试中途未发生问题 姑且判定可以达到正常标准 废话不多说 先上效果 unity
  • Unity万向节死锁解决方案(2023/12/4)

    1 万向节死锁无法解决 这是因为它的特性就是如此 就像玻璃杯就是玻璃 这不可否认 别钻牛角尖昂 2 大多数情况下欧拉角足够用 例如 CF 摄像机不可能绕z轴旋转 x轴旋转也不会超过九十度 因为那样人物的腰子会被扭断 塔防游戏 保卫萝卜 吃鸡
  • mixamo根动画导入UE5问题:滑铲

    最近想做一个跑酷游戏 从mixamo下载滑铲动作后 出了很多动画的问题 花了两周时间 终于是把所有的问题基本上都解决了 常见问题 1 动画序列 人物不移动 2 动画序列 人物移动朝向错误 3 蒙太奇 人物移动后会被拉回 4 蒙太奇 动画移动
  • 【转载】【Unity】WebSocket通信

    1 前言 Unity客户端常用的与服务器通信的方式有socket http webSocket 本文主要实现一个简单的WebSocket通信案例 包含客户端 服务器 实现了两端的通信以及客户端向服务器发送关闭连接请求的功能 实现上没有使用U

随机推荐

  • PCB走线到底能承载多大电流

    想必刚入行硬件设计领域的小白 一定存在过这种困惑 即电流与PCB走线宽度的关系 不仅小白想知道这种关系 就连有些工作多年的老司机有时也存在一定的困惑 在设置线宽时 往往是根据经验来选择 然而当电流稍作大幅度的变化 对于线宽就很难拿捏住了 在
  • 图像增强小程序——Img+

    文章目录 前言 软件 1 界面 2 软件 前言 最近闲来无事 用PyQt5写了一个图像增强查看器 可以实时查看图像增强结果 集成了常用的图像增强方式 包括反转 平移 旋转 缩放 裁剪加噪声 亮度 饱和度 颜色反转 直方图均衡 色彩平衡 Cu
  • Android组件化方案

    1为什么要项目组件化 2如何组件化 3组件化实施流程 1组件模式和集成模式的转换 2组件之间AndroidManifest合并问题 3全局Context的获取及组件数据初始化 4library依赖问题 5组件之间调用和通信 6组件之间资源名
  • socket编程出现errno:【10061】

    出现Errno10061 是因为目标主机主动拒绝 连接不能建立 这通常是因为试图连接到一个远程主机上不活动的服务 如没有服务器应用程序处于执行状态 解决方法 1 你先启动server 看是否可以正常启动 2 因为是基于TCP的 所以你试试t
  • VS2022解决Protobuf compiler version 23.4 doesn‘t match library version 4.23.4

    在使用Visual Studio 2022 MinGW CMake作为开发环境时 如果项目中使用了Protobuf 则在CMake运行时 可能会出现Protobuf compiler version 23 4 doesn t match l
  • 黑苹果系统完全移植新硬盘

    1 新硬盘格式化 1 1将新硬盘连接电脑 打开黑苹果系统下的磁盘工具 1 2选择新硬盘 点击抹掉 名称自己起 mac OS 文件格式 APFS 1 3点击确认 2 安装Carbon Copy Cloner软件 2 1 软件链接链接 http
  • Java实现简单的图形绘制程序(多种图形,多种颜色)

    今天我用GUI图形绘制组件 做了一个图形绘制工具 实现了连续划线 划线效果 图形方面支持直线 圆 椭圆 正方形 长方形的绘制 颜色选择方面支持红色 橙色 黄色 绿色 白色 蓝色 粉色 效果预览 文件树 文件准备 这几张图片被存放在了src
  • POISX线程信号量的实现原理

    sem结构体 struct semaphore raw spinlock t lock unsigned int count struct list head wait list struct semaphore waiter struct
  • 导出pdf,自动分页

    要将导出的 PDF 固定为 A4 纸大小并在超出 A4 长度时进行分页 你需要进行一些修改 以下是修改后的代码
  • perl:verilog dummy module

    https code csdn net snippets 1903886 git 样板工程 usr bin perl description not support parameter WIDTH 1 not support bigendi
  • pytorch/torch安装简明教程

    LINUX上安装 0 进入官网https pytorch org 按照你的系统以及配置 获取安装命令 1 安装gpu版本的torch cuda包 用于torch调用gpu加速库 pip install torch 1 5 0 cu101 t
  • redis运维之数据迁移

    1 导出redis的aof和rdb文件 在Redis中 可以使用BGSAVE命令导出AOF日志 而使用SAVE命令导出RDB文件 2 AOF和RDB日志的导出位置 打开redis conf文件 找到如下配置 dir path to your
  • promise中的回调函数、async和await的执行顺序

    一 几个关键问题 1 宏队列 用来保存待执行的宏任务 回调 比如 定时器回调 DOM事件回调 ajax回调 2 微队列 用来保存待执行的微任务 回调 比如 promise的回调 MutationObserver的回调 3 JS执行时 必须先
  • USB物理层

    USB总线接口具有向外提供电源的能力 并且是5V的电压 非常的适合TTL信号系统 使用这个电源可以再一定程度上为设备供电 减少了USB电源设计 简化了USB系统结构 USB 电缆有四根导线 电源线 红色Vbus 地线 黑色GND D 绿色
  • tkFileDialog.py

    def askopenfilename options Ask for a filename to open return Open options show def asksaveasfilename options Ask for a
  • Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: The last packet successfully.....

    最近将之前的项目部署到了服务器之后 发现在长时间不访问网站后 再次打开页面会出现白屏现象 除非重新刷新页面 否则无法正常加载数据 使用F12查看请求返回的JSON数据发现提示内部错误 由此可知问题在服务端 服务器相关信息 OS CentOS
  • Spring cloud Alibaba 之 分布式链路追踪 sleuth

    什么是链路追踪 微服务之间相互调用 每一个请求过来可能调用多个服务 比如 一个请求调用A 服务 A 又依赖B 服务 B又依赖C 服务 这样形成一个调用链 当我们查询日志的时候都需要知道一个请求的完整路径 这个时候链路追踪就产生作用 A 调用
  • 学python心得体会800字-浅谈我对python的学习感受

    python是一门非常有潜力的高级语言 历经多年的发展 其在编程上发挥着越来越大的作用 在这学期中 通过选修python课上的基础知识学习 我对python也有了一定的认识 而且 在字符串上的处理 python相对于c语言也是给程序员极大的
  • k8s 部署 jenkins

    一 前提条件 1 安装helm 二 安装harbor 1 添加harbor helm仓库 helm repo add jenkins https charts jenkins io 2 更新仓库 helm repo update
  • 什么是UE像素流送,像素流推流是什么原理?

    游戏开发者通常在运行游戏逻辑时会将游戏渲染到屏幕的同一台设备上来运行虚幻引擎应用 多人联网游戏可能会在应用程序的多个实例之间分发部分游戏逻辑 但每个单独的实例仍然会为自己的玩家在本地渲染游戏 即使是使用 HTML5 部署选项创建可以在 We