在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:PixelStreamer开源软件地址:https://gitee.com/pqo/PixelStreamer开源软件介绍:3D 像素流: 虚幻引擎 WebRTC 核心组件和 EpicGames 官方的像素流 SDK 相比,我们开发出了更轻量的像素流 SDK,包含 2 个文件:前端组件(WebComponents API)外加信令服务器(NodeJS)。
启动信令服务器首先从 npm 安装 WebSocket 依赖,然后启动 signal.js。 npm install [email protected]node signal.js {key}={value} 启动选项:
启动 UE4首先开启像素流插件,然后在独立启动模式的设置中,或者打包后的文件中输入启动选项。 Plugins > Built-In > Graphics > Pixel Streaming > EnabledEditor Preferences > Level Editor > Play > Additional Launch Parametersstart packaged.exe -{key}={value} 常用的启动选项: -ForceRes -ResX=1920 -ResY=1080 -AudioMixer -RenderOffScreen -graphicsadapter=0 -AllowPixelStreamingCommands -PixelStreamingEncoderRateControl=VBR -PixelStreamingURL="ws://localhost:8888" 前端的 2 种调用方法JavaScript: import "peer-stream.js";const ps = document.createElement("video", { is: "peer-stream" });ps.setAttribute("signal", "ws://127.0.0.1:88/hello");document.body.append(ps); or HTML: <script src="peer-stream.js"></script><video is="peer-stream" signal="ws://127.0.0.1:88/hello"></video> 常用的调试命令信令服务器可以通过 eval 函数解释执行任意的 NodeJS 代码,使用时需要注意安全。 ps.debug('PLAYER.clients.size') // 显示玩家数量ps.debug('PLAYER.clients.forEach(p=>p.playerId!==playerId&&p.close(1011,"Infinity"));limit=1;') // 移除其他玩家ps.debug('[...PLAYER.clients].map(x=>x.req.socket.remoteAddress)') // 每个玩家的IP地址ps.debug('playerId') // 我的IDps.onmouseenter=_=>{ps.focus();ps.requestPointerLock()}) // 鼠标锁ps.style.pointerEvents='none' // 只读的<video> 常见排错方法和技巧(前后端、测试组、三维组遇到的各种坑汇总)
丑化 JS 代码为了屏蔽我们的开发环境(虚幻引擎),需要对 JS 文件进行丑化,删除关键字,替换变量名。 npm install uglify-js -guglifyjs peer-stream.js > ps.min.jsuglifyjs signal.js > signal.min.js 软件要求
|
请发表评论