点量云流近期支撑了一个智慧园区模型网页云推流使用的项目,由于是第一次在项目上使用实时云渲染的技术方案,所以在支撑过程中的很多问题非常典型,今天小编就整个过程的交流做相关分享,希望对有类似问题或需求的伙伴提供一些帮助。
项目背景:使用UE5引擎开发的智慧园区模型,最初的计划是配置本地高性能电脑,只需要通过HDMI线连接大屏展示即可。但在验收过程中,业主提出需要在网页上使用,要满足2-3个用户的并发使用。项目上目前已经购买了RTX3080Ti显卡,尝试了webgl和像素流送PixelStreaming的技术路线。但是发现webgl的技术路线,推流后的网页比较糊效果不满意。而像素流送PixelStreaming不稳定,经常会出现崩溃的问题,用户体验非常不好,且目前已有的方案无法满足3个用户的使用。
需求分析:基于以上项目背景情况,点量云流认为有以下几个问题需要解决
①网页推流使用
②需要保证稳定性
③在现有硬件配置下尽可能做增加并发用户数
点量云流推流后网页使用,测试过程和疑问分享:
在测试工程师的电脑上安装点量云流渲染服务,工程师的测试机器是RTX4060显卡,性能比项目现场的机器性能弱。安装了云流渲染服务后,创建了云应用,也就是将要推流的UE应用存储路径告知云流渲染服务。云渲染服务是本地私有化部署,不需要将应用上传到云端。
Q1:创建云应用时设置了3个云推流并发,但是电脑上浏览器只能打开一个,其他的链接自动关闭了。
这是点量云流渲染系统的一个算力节省策略,同一个电脑同一个浏览器只打开一个推流网页,主要是为了减少GPU和CPU资源占用。如果想要测试多个推流后能支持多少并发,可以用浏览器的无痕模型,或者切换不同的浏览器分别打开。
Q2:在现有的GPU和CPU 硬件条件下,如何提升云串流并发数?
在点量云流实时渲染系统中,默认的是60帧率,19201080的清晰度。在该测试过程中发现,这样的参数设置只能跑2路并发。如果想实现3个并发,在现有硬件基础下,可以通过降低帧率和清晰度的方式,增加并发数。在这个项目中,将帧率降到30以后,就可以实现支持3个并发。测试使用的是RTX4060显卡,而项目上是RTX3080Ti,而3080Ti的性能比4060要高不少,因此在开发环境下测试能实现的化,在生产环境中基本没问题,或者可以将帧率和分辨率在调高一些,在满足3个并发的前提下实现合适的参数组合以实现更好的用户体验。
Q3:没用云渲染本地跑1路的时候GPU占用到了90%,实时云渲染推流之后就只能跑1路吗?
这个不一定,在本项目中,由于UE模型没有做锁帧,在本地测试的时候确实GPU占用瞬间到了90%,但点量云流系统默认是设置了帧率后自动做锁帧处理。因此该项目中可以支持3并发使用。
Q4:如果使用实时渲染推流服务,需要开放哪些端口?
还需要30000段开始的一些udp端口,用来传输画面数据,这些是浏览器访问的情况下对浏览器端要用到的。云流服务本地还可能用到一些其他端口,但不一定是浏览器访问的时候用到的,可能是本机服务之间内部通信会用到。具体关于端口的问题可以查看文档:https://doc.dolit.cn/dolitcloudserver/light_port。
Q5:云推流是否支持https证书设置?
点量云流管理平台中可以直接设置https证书,对于自签的私有证书,上传到云流管理平台替换默认的证书文件,还是通过http+ip的形式访问,申请的第三方证书可以用公网域名访问。本项目中是自签的私有证书,上传后无需修改其他的配置,只是原来推流的网页地址是http的,现在换成了https的,不需要考虑端口的切换等问题。直接重新复制要实时渲染应用的推流网址在浏览器重新打开即可。如果需要切换不同的端口也可以自己修改后,用新的端口来访问。
Q6:https访问的时候,ip+端口号,后面还要加一串参数,直接ip+端口访问不了,有直接ip+端口能访问的方法么?或者直接用域名访问
一定要有参数的,因为实时云渲染系统可以支持多个应用,参数的主要作用就是用来匹配要加载的应用。如果项目中只有一个应用,可以通过调用websdk的方式设置,或者独立做一个网页iframe嵌套实时云渲染网址,或者考虑定制服务。
Q7:实时云渲染的前端网页,如果半小时没操作是否能自动下线?
这是基础功能,在可视化云流管理平台后台可直接自定义设置,这个机制也是为了节省资源。点量云流官网的测试demo默认设置了3分钟体验时间,也是基于该功能。
**Q8:有没有1280720的分辨率,因为UI要保持16:9的比例*
在云流管理平台中支持多种分辨率的自定义,可根据项目需要选择适合的分辨率,保存后,重新打开推流网页即可生效。或者在前端页面用户手动修改需要的分辨率和画面比例。
在云流管理平台中,点开编辑云应用-高级设置-分辨率,目前支持的分辨率类型有:1280720、1920*1080、2K、4K、8K等多种。
Q9:3个并发,要求带宽要达到多少?如果带宽低,会影响帧率吗?
需要的带宽是根据单个并发设置的码率以及并发数来决定的,在本项目中设置的单个并发码率为10M,则3并发总带宽得在30M。如果码率设置的低一些,比如5M,则20M也够用,一般来说在局域网环境中20M的码率非常容易实现。但也不建议码率太低,否则可能会影响画质。
以上是智慧园区UE模型实时渲染云推流的项目支撑过程,经过多次反复的比较,最终确定的计划是仍然用1920*1080分辨率推流,同时对UE场景做进一步的优化。在开发环境的RTX4060 8G显存的电脑上能解决3路并发的问题。