合流布局
合流布局
直播合流视频布局目前分为三种:1. 自定义布局;2. 悬浮布局(默认);3. 自适应布局.下面分别介绍布局效果。
自定义布局
提示
通过调用自定义布局接口可以设置合流视频整体尺寸,以及各个连麦者视图位置及大小。
如下图所示,合流布局是以像素方式,定义视频输出尺寸, 如图整体视频尺寸 宽*高 = 300 * 300 ;以整体作为画布,画布的原点(0,0)在左上角, 那么三个连麦主播的窗口相对原点的位置,及其宽度,高度值分别如图所示(相应的设置代码也可在直播布局的接口文档中查看布局实例代码):
-
示例代码:
var _videoCustomLayouts = new List<RCRTCCustomLayout>();
_videoCustomLayouts.Add(new RCRTCCustomLayout("主播1 UserID", 70, 20, 130, 80));
_videoCustomLayouts.Add(new RCRTCCustomLayout("主播2 UserID", 20, 100, 120, 150));
_videoCustomLayouts.Add(new RCRTCCustomLayout("主播3 UserID", 160, 100, 120, 150));
Engine.SetLiveMixCustomLayouts(_videoCustomLayouts);
悬浮布局
背景视频来源默认采用第一个加入房间的主播发布的视频或合流布局接口指定的 HostVideoStream 视频流,显示区域为整个合流视频,合流视频大小需要调用接口设置 SetLiveMixVideoResolution
(默认值是 360 * 640);
当连麦者依次加入时,按照下图显示的序列加载子视图:
当有人离开时,系统会自动按照现有主播加入房间的次序重新布局视图
-
示例代码:
// 设置主播合流悬浮布局
Engine.SetLiveMixLayoutMode(RCRTCLiveMixLayoutMode.SUSPENSION);
自适应布局
视频的整体大小为默认值 360 * 640 或通过合流接口自定义;当有多人加入房间后,直播系统会按照具体人数平分整体视频区域,使之每个子视图加载区域大小一致;录制系统会按照参会者进入房间的次序依次把参会者图像加载在示意图的相应序号上。 当有人离开时,系统会自动按照现有主播加入房间的次序重新布局视图。
-
示例代码:
Engine.SetLiveMixCustomLayouts(RCRTCLiveMixLayoutMode.ADAPTIVE);