UE4 PixelStreaming局域网部署

目录

      • 1、局域网单实例部署
      • 2、局域网单机/多机多实例部署,动态负载
            • 可能会用到的先摘抄在这里


1、局域网单实例部署

  1. 未打包时的运行与测试

    • 从引擎目录下复制出SignllingWebServer(信令服务器),我们放置在项目目录下以便于修改。UE4 PixelStreaming局域网部署_第1张图片

    • 安装node.js环境等启动SignallingWebServer的必要条件。

    • 在项目组启用PixelStreaming像素流插件。

    • 在编译器设置中添加像素流端口等启动信息,如下图,其中PixelStreamingIP为推送的地址,这里默认填写自身IP。

    • 执行SignallingWebServe\run.bat,并运行StandaloneGame(独立进程游戏),并在支持网页端访问自身IP,即可。
      UE4 PixelStreaming局域网部署_第2张图片

填写如下
-AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888


  1. 打包后

    • 上述第一张图的SignallingWebServer会被一起打包,路径如下,如果对默认信令服务器以及web前端部分有过自定义修改,可以替换在这里。UE4 PixelStreaming局域网部署_第3张图片
    • 为打包exe添加快捷方式启动参数,-RenderOffScreen用于后台运行,其他同上。

填写如下
-AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888 -RenderOffScreen

2、局域网单机/多机多实例部署,动态负载

  • 同样是根据官方文档配置,先再说说思路吧,单实例的情况下,每个访问该界面的用户都享有控制权(这个可以通过修改web端进行一定限制)。如果需要不同的人访问时享有不同的独立推流端,则有x人访问就需要启动x个推流客户端,而每一个用于推流的UE4客户端都需要对应一个SignallingWebServer(信令服务器),此时需要用到上图官方提供的Matchmaker,该服务用于根据当前访问的人数去分配已启动的UE4客户端与信令服务器。
  • 同一局域网内的信令服务器配置好matchmaker地址后都可以访问到matchmaker,需要配置好自身IP和端口即可,其他操作同单机。
  1. 先将打包项目复制一份如下。不需要复制UE4客户端,可以只使用一个UE4客户端来创建不容启动参数的快捷方式,需要复制不同的信令服务器
    在这里插入图片描述
  2. 配置信令服务器
    • PS1的信令服务器:

      • 修改Cirrus.js中如图所示变量matchmakerAddressmatchmakerPort,我这里修改为我的本机ip。UE4 PixelStreaming局域网部署_第4张图片
      • config.jsonUseMatchmaker改为true。UE4 PixelStreaming局域网部署_第5张图片
    • PS2的信令服务器:

      • 修改Cirrus.js,除去和上述一样的修改外,还需要修改PS2自身的端口如下图,端口可以自定义。UE4 PixelStreaming局域网部署_第6张图片
      • 同上,修改PS2的config.jsonUE4 PixelStreaming局域网部署_第7张图片
  3. 配置Matchmaker
    • Matchmaker服务仅需要启动一个,我们修改PS1的Matchmaker.js,设置其端口。UE4 PixelStreaming局域网部署_第8张图片

    • 点击setUp.bat安装所需环境,但是我这里是失败了,按照报错提示手动使用 ‘npm install cors’ 等指令安装了环境。

    • 我们嵌入了自己的web页面,修改其中的跳转路径为自己的页面。UE4 PixelStreaming局域网部署_第9张图片

  4. 配置两个客户端exe的启动参数
    • PS1,添加快捷方式,添加对应的流送端口号同单端 -AudioMixer -PixelStreamingIP=10.10.82.31 -PixelStreamingPort=8888 -RenderOffScreen
    • PS2,同上, -AudioMixer -PixelStreamingIP=10.10.82.31 -PixelStreamingPort=9999 -RenderOffScreen
  5. 测试运行
    • 不分先后的启动:一个Matchmaker,两个信令与两个客户端;
    • 两个页面去访问Matchmaker服务所在的 10.10.82.31:60,此时两个访问会被分别分配至80端口与90端口,测试即成功。
  6. 多机负载
    • 在局域网内另一台电脑同上配置客户端推流端口与信令服务器端口,所连接的Matchmaker服务则统一为唯一的Matchmaker所在的IP与端口即可。

可能会用到的先摘抄在这里
  • 信令连接中断的委托UE4 PixelStreaming局域网部署_第10张图片

  • 启动项参数:

  • AudioMixed -AllowPixelStreamingCommands -PixelStreamingIP=localhost -PixelStreamingPort=8888 -RenderOffScreen -NvEncH264ConfigLevel=NV_ENC_LEVEL_H264_52

AudioMixed :必需。
PixelStreamingIP:像素流推送到的IP
PixelStreamingPort:像素流推送到的端口
AllowPixelStreamingCommands :允许用emitcommand发送 UE4控制台命令
RenderOffScreen:客户端后台运行
NvEncH264ConfigLevel=NV_ENC_LEVEL_H264_52 : 高分辨率必须添加本参数,否则回报nv错误.

你可能感兴趣的:(UE4)