• INVETA peer-stream 自述文件


    c7363ab5c213306c07086f99540bae4c.png

    UE5 像素流式 SDK

    与 EpicGame 为 Pixel Streaming 精心设计的 SDK 相比,peer-stream.js 是一个 0 依赖的轻量级 WebRTC 库,包含一个前端组件(使用 WebComponents API)和一个信号服务器(使用 NodeJS)。

    • peer-stream.js:播放器的浏览器 SDK。

    • signal.js:node.js 信号服务器。

    • .signal.js:带有环境变量的signal.js。

    • test.html:浏览器网页。

    演示

    1. # install WebSocket
    2. npm install ws@8.5.0
    3. # start Signaling Server
    4. PORT=88 node signal.js
    5. # start packaged UE5
    6. start path/to/UE5.exe -PixelStreamingURL="ws://localhost:88"
    7. # visit webpage
    8. start http://localhost:88/test.html

    signal.js 的环境变量

    环境类型默认用法
    PORT数字88播放器和 UE5 的 WebSocket/HTTP 端口
    UE5_*string[][]播放器连接时运行命令(UE5 自动启动)
    one2one布尔false播放器和 UE5 的一对一映射
    tokenstring''WebSocket 密码
    limit数字+Infinity限制最大连接玩家数
    throttle布尔falseWebSocket 油门,防止频繁重连

    负载均衡

    signal.js接受多个 UE5 和播放器连接,其中每个 UE5 映射到具有负载平衡的多个播放器。打开one2one以保持一对一映射。提供UE5_*自动启动 UE5。中更详细的示例.signal.js

    虚幻引擎

    启用插件:

    1. Plugins > Built-In > Graphics > Pixel Streaming > Enabled
    2. Editor Preferences > Level Editor > Play > Additional Launch Parameters
    3. start path/to/UE5.exe -{key}={value}

    常见的启动选项:

    1. -PixelStreamingURL="ws://localhost:88"
    2. -RenderOffScreen
    3. -Unattended
    4. -GraphicsAdapter=0
    5. -ForceRes
    6. -Windowed
    7. -ResX=1280
    8. -ResY=720
    9. -AudioMixer
    10. -AllowPixelStreamingCommands
    11. -PixelStreamingEncoderRateControl=VBR

    对等流.js

    HTML:

    或 JavaScript:

    留言

    发送消息:

    1. // object will be JSON.stringify()
    2. ps.emitMessage(msg: string | object);

    接收消息:

    1. ps.addEventListener("message", e => {
    2. e.detail; // string
    3. });

    要求

    • 谷歌浏览器 90+

    • 虚幻引擎 5.0.0+

    • 14+

    • npm/ws 8.0+

    © 麻省理工学院许可证

    版权所有 (c) 2020-2022 XOSG

    特此免费授予任何人获得本软件和相关文档文件(“软件”)的副本,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发、再许可和/或出售本软件的副本,并允许向其提供本软件的人这样做,但须符合以下条件:

    上述版权声明和本许可声明应包含在本软件的所有副本或大部分内容中。

    本软件按“原样”提供,不提供任何形式的明示或暗示保证,包括但不限于适销性、特定用途适用性和非侵权保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任承担任何责任,无论是在合同、侵权或其他方面,由本软件或本软件的使用或其他交易引起或与之相关。软件。

  • 相关阅读:
    Node.js 应用 peer dependency 的用法
    [附源码]java毕业设计望湘人电子商城
    2023年软考时间流程安排:
    YAML配置文件
    对话PPIO边缘云联合创始人王闻宇,聊聊边缘计算与元宇宙
    c语言练习48:总结字符函数和字符串函数
    Prompt Engineering (Prompt工程)
    一图读懂「五度易链」企业创新服务解决方案,打造卓越营商环境!
    【HOG】HOG 之FPPW
    已经有 MESI 协议,为什么还需要 volatile 关键字?
  • 原文地址:https://blog.csdn.net/github_38885296/article/details/127662312