前言
本周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接口功能可以正常使用
登录接口
url地址
http://127.0.0.1:88/api/auth
传入参数
{
"username": "admin",
"password": "dd2f757773f1fb6c690f3c1305c739bc4e8f35fd3e9eb69c4cdeb98d716f7eec"
}
username:用户名
password:为密码的sha256的值
对应的配置文件为signal.json目录中的userpwd字段
登录成功返回值示例,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即可
如果token鉴权失败,返回失败示例如下
{
"status": -1,
"message": "Failed to authenticate token"
}
获取系统配置
url地址
http://127.0.0.1:88/api/getsystemparam
请求示例
返回示例
{
"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,示例如下
此时配置文件也会更新成99
不过更新系统端口 需要重新程序 不会立即生效
获取服务器配置
url地址
http://127.0.0.1:88/api/getmachineinfo
返回数据格式如下
{
"status": 0,
"message": "success",
"machine": [
{
"ip": "127.0.0.1",
"gpu": [
{
"gpucard": 0,
"gpumemory": 16
}
]
}
]
}
更新服务器配置
url地址
http://127.0.0.1:88/api/updatemachineinfo
传入参数格式如下
{
"machine": [
{
"ip": "127.0.0.1",
"gpu": [
{
"gpucard": 0,
"gpumemory": 16
}
]
}
]
}
获取UE程序配置
url地址
http://127.0.0.1:88/api/getueprograminfo
返回数据格式
{ "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
访问安全
我们增加了基于token的访问安全方案,这样可以确保像素流的画面访问的安全性。
打开开关
将auth参数设置为true即可打开安全校验,这样通过之前的方案就无法获取像素流画面。
打开网络调试返回如下错误
安全调用
整个调用分为两步 第一步获取token,通过登录接口获取参考如下链接
登录接口
第二步页面访问,增加token
之后画面就可以出来了
如果token错误,返回错误码如下
静态文件
我们又增加了静态文件托管服务,方便大家将前端网页部署进PeerStreamEnterprise
可以将打包的前端文件拷贝到dist目录下面,就可以自动进行托管。
默认访问index.html文件,为其入口文件。输入IP地址+端口即可访问。
下面的计划
接下来,我们继续完善企业版,主要增加UI界面以及增加对UE实例的监控,进一步提升像素流系统的稳定性。