跳到主要内容

服务端旁路推流

旁路推流:将融云实时音视频流转为 rtmp 流媒体协议,推流到 CDN 服务。

业务链路

在主播加入房间、发布资源成功之后,您的 App Server 可调用融云 RTC Server API 设置旁路推流到的 CDN 地址。

(height=400)

前提条件

设置旁路推流 CDN 时必须满足以下前提条件:

  • 已开通音视频服务和直播服务。
  • 房间模式必须为直播模式。
  • 设置的 CDN 地址格式必须合法。

请求方法

POST: http(s)://api.rong-api.com/rtc/mcu/config.json

签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详见 API 请求签名

正文参数

HTTP 请求正文中包含具有以下结构的 JSON 对象:

参数类型说明
sessionIdString(必填)需要配置的直播会话 ID。您可以通过融云服务端回调获取该 sessionId,请参见房间状态同步
configStringObject 格式数据;可以设置布局相关参数
config.versionNumber(必填)直播旁路推流 CDN 的配置版本号,默认为 1
config.outputObject合流之后的媒体输出定义
config.output.cdnArray转推CDN的推流地址列表,必须传入完整的推流地址列表。多次调用以最新的为准
config.output.cdn [ i ].pushurlString完整的 CDN 推流地址;请勿填入 CDN 拉流地址

注意

  • 目前,同一房间的直播,最多支持配置 5 个 CDN 推流地址。
  • 接口传入的 config.output.cdn 列表参数,每次必须均为全量。多次调用以最新的为准。如果多次设置相同的地址,会直接返回成功。
  • 如果传入的 CDN 推流地址无效或无权限等造成的推流失败,会通过 CDN 推流回调通知您的 App 服务。
  • CDN 一般区分推流地址和拉流地址,此接口需要传入推流地址,请勿混淆。

请求示例

POST /rtc/mcu/config.json HTTP/1.1
Host: api.rong-api.com
App-Key: uwd1c0sxdlx2
Timestamp: 1585127132438
Nonce: 14314
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Room-Id: room1
Content-Type: application/json

{
"sessionId":"session1",
"config":{
"version":1,
"output":{
"cdn":[
{
"pushurl":"rtmp://your.test.cdn/room1"
},
{
"pushurl":"rtmp://your.test.cdn2/room1"
}
]
}
}
}

返回结果

HTTP 响应正文包含具有以下结构的 JSON 对象:

  • code:HTTP 响应正文中的业务码,200 为处理成功。

返回结果示例

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
"code":200
}

状态码定义

参见状态码