nodejs 创建窗口 指定在扩展屏幕上_PixelStreaming:基本概念与上手初探

ced25099bd23216ebaab002f6a4bc1ea.png

本篇文章搬运自我的自己的博客:PixelStreaming:基本概念与上手初探

PixelStreaming是UE_4.21开始支持的一项技术,简单来说就是能够将游戏跑在服务器上,你可以通过浏览器来玩,玩家端不需要额外操作,只需要一个浏览器,所有的逻辑处理和渲染都在“云”端执行。它不仅仅只是一个插件(虽然有PixelStreamingPlugin这个插件,但它只是PixelStreaming实现中的一环),其实现具有一套独立与UE游戏的设计和组织方式。 本篇文章主要介绍PixelStreaming中的基本概念和使用PixelStreaming的Demo的实际体验。 来看一下UE自己的介绍:

Run your Unreal Engine application on a server in the cloud, and stream its rendered frames and audio to browsers and mobile devices over WebRTC.

PixelStreaming的数据传输使用的是WebRTC,P2P的连接延迟更低。

注意:本文所描述内容的测试引擎为UE_4.22.3,目前PixelStreaming只能运行在Windows平台(依赖于模块 D3DX11NvVideoEncoder库)。

UE提供的PixelStreaming展示案例的代码分成了几个部分:

PixelStreamingPlugin:提供渲染帧与音频数据的捕获与编码,并创建一个链接将音频和渲染帧的数据传递给WebRTC服务器,使用的是UE的插件方式编写和使用。

WebRTCProxy:应用/游戏与WebServer交流的中间层,作用是将游戏内编码好的渲染帧数据(.h264)与音频数据传递给WebServer,并从WebServer上接收到的用户输入再传递给应用/游戏,从而可以从浏览器上控制游戏。使用UE的Program方式编写。

WebServer:PixelStreaming设计的组织方式中,WebServer是由两个模块组成:SignalingWebServer与Matchmaker,使用的是nodejs编写。

SignallingWebServer:启动一个HTTP服务,从WebRTC接收渲染帧和音频数据传递给浏览器客户端,并接收远程用户的输入(键盘、鼠标等)再传递给WebRTC。

MatchMakerServer:如果只是启动一个游戏实例和单个的SignallingWebServer,那么使用浏览器访问的玩家操作的都是同一个游戏实例,他们的键盘和鼠标操作都会相互干扰。解决这个的问题的办法使用MatchMakerServer,但是这种方式也是需要启动多套游戏实例

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值