新闻资讯
3DCAT实时渲染云平台

让任意设备随时随地访问您的3D/XR应用!

3DCAT实时渲染云-新闻中心

云平台推流黑边解决方案

2023-12-21 18:22:34

云平台推流时为什么会出现黑边?3DCAT实时渲染云平台本文分析了出现黑边的原因以及云平台的推流特性、应用分辨率大小计算和分辨率设置方法,以及如何在推流时通过动态的修改应用分辨率以解决黑边问题等。

一、出现黑边的原因

推流画面(应用窗口大小)的长宽比和终端设备可视区域的长宽比不一致。

如下图所示:

 云平台推流时为什么会出现黑边

1.红色框: 可视区域。可看作一个1800x800固定大小的黑色箱子

2.绿色框: 推流画面。可看作一个2000x1000大小但可缩放的砖头

3.把这个砖头缩小,放进这个黑色箱子里,居中。然后砖头长宽等比放大,砖头放大到上下或左右两边撑住黑色箱子为止。

此时砖头的大小为1600x800,砖头的左右长1600小于箱子的1800,黑色箱子左右多出来的部分就是黑边。

4.发布时,移动端的横屏竖屏指的是这个砖头横着放还是竖着放。

二、云平台推流特性

1. 推流时,由于编码问题,推流出来的分辨率是没有单数的,也没有小数。

2. 推流画面,通过点击云平台的图标(一般在左上角)可以看到分辨率A。分辨率A指的是应用画面窗口的大小,并不是设置应用的分辨率大小。所以应用设置为全屏时,分辨率A可能一直都是1920x1080或3840x2160。

3. 在云平台发布时,设置2K。则应用的长不能超过1920,宽不能超过1080;在云平台发布时,设置4K。则应用的长不能超过3840,宽不能超过2160。

三、分辨率大小计算

云平台发布时,不管设为2K还是4K,长宽比都是16:9,假设终端设备的可视区域长宽比为:a:b,(可视区域的长宽比 a:b,可从web端获知;)

则:

1. 当a/b小于16/9时,若发布为2k,则应用最大分辨率可设为:1080a/b : 1080;若发布为4k,则应用最大分辨率可设为:2160a/b : 2160。

2. 当a/b大于16/9时,若发布为2k,则应用最大分辨率可设为:1920 : 1920b/a;若发布为4k,则应用最大分辨率可设为:3840 : 3840b/a。

注意:UE应用分辨率设置一定要设置为窗口模式,否则应用如何设置都无效;

四、设置分辨率的方法

1. 通过游戏用户设置。如下图所示,一定要设置为窗口化。

 分辨率设置为窗口化

2. 通过UE控制台设置分辨率指令

拼接分辨率指令即可

r.SetRes 800x400w

中间x为小写字母x,解决黑边问题末尾只能为小写w。

设置分辨率指令

五、云平台测试效果

1. 为了方便测试,我们采用: 按下键盘的波浪键,调出UE应用控制台,输入分辨率指令的方式。所以应用打包时,要打包为开发版。

2. 云平台发布时,设置为自适应。

3. PC端测试时,打开推流链接,按下键盘上的波浪键,调出UE控制台,再输入分辨率指令即可。如输入:r.SetRes 800x400w。

4. 移动端测试时,可以在云平台键鼠映射中,添加按键A并将按键A映射为“波浪键”。移动端打开推流链接时,点下画面的按键A,即可调出UE控制台。再输入分辨率指令即可。如输入:r.SetRes 800x400w。

 云平台UE推流测试

六、动态修改分辨率

推流时,可视区域的长宽比可能会改动多次。要动态的修改应用的分辨率以解决黑边问题。则需要Web端与应用建立通信。

1. web端获取可视区域长宽比并将此数据发送给应用。

2. 应用接收到web端发送过来的数据后,计算并以窗口化的方式设置应用的分辨率。

本文《云平台推流黑边解决方案》内容由3DCAT实时云渲染解决方案提供商整理发布,如需转载,请注明出处及链接:https://www.3dcat.live/news/post-id-192/

400-8037-298

在线咨询致电