前言

本周PeerStreamEnterprise更新了大量功能,总结起来就是更好用、更安全、更方便。
具体更新如下:
1、解决execue杀进程偶发崩溃的bug
2、解决当UE实例的url不符合规则的时候,赋予第一个UE实例的urlprefix
3、解决signal.json中ueprogram没有内容,打印为空的bug
4、增加了preloadReleaseTime字段,预加载一段时间可以自动释放
5、增加了基于koa的框架进行api的处理,并增加了对静态文件托管的处理
6、优化了控制台打印,可以打印真实的IP地址
7、增加了inveta的第一个介绍api接口,并修复了日志文件路径不对的问题
8、改进了execue连接signal的延迟,不再等待10秒之后
9、增加了登录、token鉴权、系统配置等api接口,并增加了像素流的访问鉴权

访问地址,欢迎免费使用
https://github.com/inveta/PeerStreamEnterprise

支持二次开发

我们提供了基于http的api接口,可以方便大家定制自己的前端界面。

第一个api

在浏览器输入http://127.0.0.1:88/inveta
返回如下页面,说明api接口功能可以正常使用



PeerStreamEnterprise更新0713_静态文件

登录接口

url地址
http://127.0.0.1:88/api/auth

传入参数

{
  "username": "admin",
  "password": "dd2f757773f1fb6c690f3c1305c739bc4e8f35fd3e9eb69c4cdeb98d716f7eec"
}

username:用户名
password:为密码的sha256的值

对应的配置文件为signal.json目录中的userpwd字段



PeerStreamEnterprise更新0713_系统配置_02

登录成功返回值示例,status为0表示成功,其他为失败

{
  "status": 0,
  "message": "success",
  "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWF0IjoxNzIwODU1NDI3LCJleHAiOjE3MjA4NTkwMjd9.aVF41Dt8UqxuvfIiI2d9oNhMWKOaqIdla69q-MoMVeTl-7KbjVIHGTr1jexSazpwv5bQMU96kMEEFgRXaKz4vGZLBjF3kPA4iF72vuRF95CvQAgf31ITLtaHmQrctk-bFI_9Hby9qTQhQydQSMOx-1kKSIhcEMccilJEtxfrDtnemjjBhBDv2YxIkAkMNSdJV64MVkSytJJrPGwnWFyfCbCw8O1ZqAWJE4dthV9he5aR9x-IhG37niWYVUFe8ThyUk-ALeFk58nDLRldUmSPS-SC-YDy3NBbq0iDNqMJ4OGXWBPTRCdiYWvH785v1aUqGLNFaFbV89GKHiCBx5uVOQ"
}

失败示例

{
  "status": -1,
  "message": "Username or password are error"
}

token鉴权

除了登录以外的接口,都需要进行token鉴权,将登录成功返回的token赋值给Authorization即可



PeerStreamEnterprise更新0713_api接口_03

如果token鉴权失败,返回失败示例如下

{
  "status": -1,
  "message": "Failed to authenticate token"
}

获取系统配置

url地址

http://127.0.0.1:88/api/getsystemparam

请求示例



PeerStreamEnterprise更新0713_静态文件_04

返回示例

{
  "status": 0,
  "message": "success",
  "PORT": 88,
  "auth": false,
  "exeUeCoolTime": 60,
  "idleReleaseTime": 20,
  "preloadReleaseTime": 120,
  "SignalIp": "127.0.0.1",
  "WebRTCFps": 30,
  "ResX": 1920,
  "ResY": 1080,
  "Unattended": true,
  "RenderOffScreen": true,
  "AudioMixer": true,
  "iceServers": [
    {
      "urls": [
        "stun:stun.l.google.com:19302"
      ],
      "username": "1",
      "credential": "1"
    }
  ]
}

更新系统配置

url地址

http://127.0.0.1:88/api/updatesystemparam

上面获取到的所有参数都可以更新,如果更新哪个参数,只需要传入哪个参数即可
比如我们要更新PORT,示例如下



PeerStreamEnterprise更新0713_系统配置_05

此时配置文件也会更新成99



PeerStreamEnterprise更新0713_系统配置_06

不过更新系统端口 需要重新程序 不会立即生效

获取服务器配置

url地址

http://127.0.0.1:88/api/getmachineinfo



PeerStreamEnterprise更新0713_静态文件_07

返回数据格式如下

{
  "status": 0,
  "message": "success",
  "machine": [
    {
      "ip": "127.0.0.1",
      "gpu": [
        {
          "gpucard": 0,
          "gpumemory": 16
        }
      ]
    }
  ]
}

更新服务器配置

url地址

http://127.0.0.1:88/api/updatemachineinfo



PeerStreamEnterprise更新0713_api接口_08

传入参数格式如下

{
  "machine": [
    {
      "ip": "127.0.0.1",
      "gpu": [
        {
          "gpucard": 0,
          "gpumemory": 16
        }
      ]
    }
  ]
}

获取UE程序配置

url地址

http://127.0.0.1:88/api/getueprograminfo



PeerStreamEnterprise更新0713_系统配置_09

返回数据格式

{ "status": 0, "message": "success", "ueprogram": [ { "name": "test", "path": "D:\\UEProject\\ue51\\Windows\\ue51.exe", "urlprefix": "hedongzai", "gpumemory": 9, "preload": false, "param": "" }, { "name": "test", "path": "D:\\UEProject\\ue51\\Windows\\ue51.exe", "urlprefix": "hensan", "gpumemory": 8, "preload": false, "param": "" } ] }

更新UE程序配置

url地址

http://127.0.0.1:88/api/updateueprograminfo



PeerStreamEnterprise更新0713_系统配置_10

访问安全

我们增加了基于token的访问安全方案,这样可以确保像素流的画面访问的安全性。

打开开关

将auth参数设置为true即可打开安全校验,这样通过之前的方案就无法获取像素流画面。
打开网络调试返回如下错误



PeerStreamEnterprise更新0713_静态文件_11

安全调用

整个调用分为两步 第一步获取token,通过登录接口获取参考如下链接
登录接口

第二步页面访问,增加token



PeerStreamEnterprise更新0713_系统配置_12

之后画面就可以出来了



PeerStreamEnterprise更新0713_静态文件_13

如果token错误,返回错误码如下



PeerStreamEnterprise更新0713_系统配置_14

静态文件

我们又增加了静态文件托管服务,方便大家将前端网页部署进PeerStreamEnterprise
可以将打包的前端文件拷贝到dist目录下面,就可以自动进行托管。



PeerStreamEnterprise更新0713_静态文件_15

默认访问index.html文件,为其入口文件。输入IP地址+端口即可访问。

下面的计划

接下来,我们继续完善企业版,主要增加UI界面以及增加对UE实例的监控,进一步提升像素流系统的稳定性。



PeerStreamEnterprise更新0713_静态文件_16