合流布局
合流布局
直播合流视频布局目前分为 3 种:1. 自定义布局 ;2. 悬浮布局 ;3. 自适应布局。 下面分别介绍布局效果。
自定义布局
通过调用自定义布局接口可以设置合流视频整体尺寸,以及各个连麦者视图位置及大小。
合流布局以像素方式定义视频输出尺寸。如下图所示,整体视频尺寸为宽*高 = 300 * 300;以整体作为画布,画布的原点(0,0)在左上角,那么三个连麦用户窗口相对原点的位置、宽度、高度值分别如图所示( 如需相应的设置代码,可在直播布局的接口文档中查看布局实例代码 ):
悬浮布局
背景视频默认采用第一个加入房间的用户发布的视频 或合流布局接口指定的 hostUserId 发布的视频。显示区域为整个合流视频。合流视频大小需要调用接口设置 mediaConfig(默认值是 640 * 480);
当连麦者依次加入时,按照下图显示的序列加载子视图;当有人离开时,系统会自动按照现有用户加入房间的次序重新布局视图。
自适应布局
视频的整体大小为默认值 640 * 480 或通过合流接口自定义;当有多人加入房间后,直播系统会按照具体人数平分整体视频区域,使之每个子视图加载区域大小一致;录制系统会按照参会者进入房间的次序依次把参会者图像加载在示意图的相应序号上; 当有人离开时,系统会自动按照现有用户加入房间的次序重新布局视图
以下示例代码中的 room
为主播加入直播房间成功后获取到的 RCLivingRoom
类型实例对象。
构建布局
App 可以调用 RCMCUConfigBuilder
中的接口配置 MCU 合流布局、视频水印、和 CDN 推流。
注意,通过 RCMCUConfigBuilder
完成配置后,需要调用 flush()
方法将配置同步到服务器方能生效。
获取 MCU 配置构建器实例
RCMCUConfigBuilder
是一个构建器类型,该类实例中包含了构建合流布局配置、水印配置 和 CDN 推流配置所需要的所有接口,支持链式调用。
API 参考:getMCUConfigBuilder
import { RCMCUConfigBuilder } from '@rongcloud/plugin-rtc'
// 获取构建器实例
const builder: RCMCUConfigBuilder = room.getMCUConfigBuilder()
修改布局模式
API 参考:
import { MixLayoutMode } from '@rongcloud/plugin-rtc'
/**
* 设置合流布局模式,当使用 `MixLayoutMode.CUSTOMIZE` 模式时,需自定义合流后的输出流布局结构
* @param mode
* * `MixLayoutMode.CUSTOMIZE`: 自定义布局,需用户设置布局结构
* * `MixLayoutMode.SUSPENSION`: 悬浮布局(默认)
* * `MixLayoutMode.ADAPTATION`: 自适应布局
*/
builder.setMixLayoutMode(MixLayoutMode.SUSPENSION)