Tips
- 之前服务器搬家了,现在恢复正常。(2021-06-07)
- UE4提供的网页端在新版本的chrome有不支持协议的BUG,已修复
背景
- 官方的需要Nodejs支持
- 多人的太麻烦了
- 官方的登录验证太low了
- UE4版本需要部署在云上,费用过高(后经测试+turn服务器是可以部署在本地的)
新轮子功能
- UE4端本地部署,直接连接云服务器+turn服务器,即可完成外网部署
- 采用Redis验证用户,每个用户名+IP可获取10分钟的用户体验,步骤请看下文
- 采用C++ 编写,提高性能的同时支持多用户接入
- 同时支持windows和linux,本文提供编译后的二进制文件分别支持windows10 centos7(已不再提供,需要请留言)
- 无需更换插件,直接接入,网页端仅有3行代码修改
新轮子所需材料
- coturn 本文提供编译后的centos7二进制文件
- 自己写的一套服务器代码,集成了curl,libuv...,(不开源,怕自己写的太low)
效果图来一波
UE4端(第一人称射击模板打的包) 点击下载
-
截图与文件说明
- StartPixelStreamApp.ps1代码(双击bat文件启动),然后访问https://app.svvip.cn:444/ps/按提示输入即可访问到像素流
#用户名
streamerUser = Read-Host "UserName"
$appName = Read-Host "AppName"
if($appName -eq ""){
$appName="PS3.exe"
}
$serverAddr = [System.Net.Dns]::GetHostAddresses('turn.svvip.cn')
if($serverAddr -eq "10.0.3.100")
{
$X=":80"
$serverAddr = "turn.svvip.cn$X"
}
else
{
$X=":81"
$serverAddr = "turn.svvip.cn$X"
}
#以&结尾
$serverAddr="$serverAddr/?type=streamer&user=$streamerUser&"
#端口就为0就行,因为前面已经输入端口,此处是为了增加输入参数type,user
$Arguments = "-AudioMixer -PixelStreamingIP=$serverAddr -PixelStreamingPort=0 -windowed -ResX=400 -ResY=400"
Write-Output "Start App Arguments:$Arguments"
Start-Process -FilePath $appName -ArgumentList $Arguments
- 服务器核心代码 点击下载
压缩文件内包含源代码,与二进制文件,与bat启动说明 -
测试截图
- 帮助说明
- WEB端可打开开发者界面【F12】查看错误信息
- 测试顺序:下载Demo,运行Bat文件,输入用户名,在浏览器中输入https://app.svvip.cn:444/ps/index.html,输入用户名即可看到效果
- 如需其他帮助,请留言。