音视频通话

云端直播推流

功能介绍

用于多个主播实时连麦互动。技术实现上,SDK 会把房间里多个主播的音视频在服务器合成一路流后推流到直播平台,直播观众可以获取 RTMP 或 HLS 流观看直播。

Web SDK 提供云端直播推流能力;不支持在浏览器端进行本地直播推流。

互动直播架构图:

注意:

须在成功进入房间后,方可创建云端混图器进行推流。

须联系商务为账号开通「云端直播服务」;未开通时创建可能失败。

1. 开通服务

  • 请确保您已成功 注册 账号。
  • 请联系商务为对应账号开通「云端直播服务」。

2. 创建直播间并获得推流地址

可以是 SDK 系统的直播平台,也可以是第三方直播平台。以 SDK 系统平台为例:

3. 开始云端直播推流

合流模式、左右布局示例(1280×720,15 帧,推流到 rtmp://xxx):

左右布局示例图

var cloudMixerCfg = {
  mode: 0,
  videoFileCfg: {
    svrPathName: "rtmp://xxx",
    vWidth: 1280,
    vHeight: 720,
    vFps: 15,
    layoutConfig: [{
      type: 0,
      top: 180,
      left: 0,
      width: 640,
      height: 360,
      keepAspectRatio: 1,
      param: { camid: "Usr1.-1" },
    }, {
      type: 0,
      top: 180,
      left: 640,
      width: 640,
      height: 360,
      keepAspectRatio: 1,
      param: { camid: "Usr2.-1" },
    }],
  },
};

var mixerID = CRVideo_CreateCloudMixer(cloudMixerCfg);

合流模式下,videoFileCfg.svrPathName 可填写 rtmp://rtsp:// 等推流地址,详见 CRVideo_CloudMixerVideoFileCfg

相关 API 请参考:

4. 更新互动直播内容

画中画布局示例:

画中画布局示例图

var cloudMixerCfg = {
  videoFileCfg: {
    layoutConfig: [{
      type: 0,
      top: 0,
      left: 0,
      width: 1280,
      height: 720,
      keepAspectRatio: 1,
      param: { camid: "Usr1.-1" },
    }, {
      type: 0,
      top: 495,
      left: 880,
      width: 400,
      height: 225,
      keepAspectRatio: 1,
      param: { camid: "Usr2.-1" },
    }],
  },
};

CRVideo_UpdateCloudMixerContent(mixerID, cloudMixerCfg);

相关 API 请参考:

5. 观众观看直播

通过 播放器 SDK 观看直播。

6. 停止互动直播

停止云端直播推流后,也会触发 CRVideo_CloudMixerStateChanged 通知。

CRVideo_DestroyCloudMixer(mixerID);

相关 API 请参考:

7. 回放点播

通过 点播 API 回放点播。

相关文档