云端旁路转推回调
更新时间:2024-08-15
旁路转推回调配置
百度智能云实时音视频 RTC 支持通过控制台自助配置旁路转推回调地址,来接收云端旁路转推事件回调。
配置旁路转推回调步骤
- 访问 RTC 控制台。
- 访问 应用管理 -> 应用 -> 回调配置。
- 编辑 旁路转推回调,输入回调地址,点击确认。
注意事项
- 回调地址必须是公网可以访问的 HTTP/HTTPS 地址;
- 配置了旁路转推回调后,不论是通过服务端 OpenAPI 创建的云端旁路转推任务,还是通过 SDK API 发起的云端旁路转推任务,回调服务器都能收到百度智能云 RTC 服务器发送的旁路转推事件回调。
回调内容
回调 HTTP 方法
百度智能云 RTC 服务器,向回调地址发送请求,统一使用 HTTP POST 方法。
回调请求体
旁路转推事件回调请求体格式如下:
字段名称 | 类型 | 描述 |
---|---|---|
version | String | 事件结构的版本号,当前事件格式下取值固定为 "2" |
eventId | String | 事件 ID,用于日志追踪等 |
eventGroupId | int | 事件分组,取值 1 时表示云端旁路转推事件 |
eventType | String | 事件类型,支持的取值有:LIVESTREAMING_BYPASS_STARTED 、LIVESTREAMING_BYPASS_STATE_CHANGED 和 LIVESTREAMING_BYPASS_STOPPED ,具体事件描述见下文。 |
ts | Long | 事件发送时间,为毫秒级别 Unix 时间戳 |
eventInfo | EventInfo | 事件信息。对不同的事件分组、事件类型,事件信息也不同,旁路转推事件信息结构见下文。 |
EventInfo 结构
字段名称 | 类型 | 描述 |
---|---|---|
appId | String | 应用ID |
roomName | String | 房间名 |
userId | Long | 客户端 uid。 对服务端 OpenAPI 形式启动的转推任务,只有单路转推任务的事件中会包含该字段。 对 SDK API 形式启动的转推任务,只有主播模式转推任务的事件中会包含该字段。 |
taskId | String | 服务端 OpenAPI 形式转推任务 ID。 SDK API 形式启动的转推任务的事件中无该字段。 |
pushUrl | String | 推流地址 |
state | String | 推流状态,LIVESTREAMING_BYPASS_STATE_CHANGED 事件中会包含该字段。支持的取值和含义:RUNNING :推流中;RECOVERING :推流中断后正在重连;FAILURE :推流失败。 |
云端旁路转推事件描述
事件 | 含义 | 详情 |
---|---|---|
LIVESTREAMING_BYPASS_STARTED | 云端旁路转推启动事件 | 对于服务端 OpenAPI 创建的旁路转推任务,在调用 start 接口启动转推任务时,会触发该事件。 对于 SDK API 发起的旁路转推任务,在转推任务被启动、并且相关客户端实际推流时,会触发该事件。 |
LIVESTREAMING_BYPASS_STATE_CHANGED | 云端旁路转推状态变化事件 | 当转推任务正常进行时,转推状态发了变化会触发该事件。 转推状态变化原因主要包括:直播服务器主动断开推流、百度服务器网络异常导致重连等。 |
LIVESTREAMING_BYPASS_STOPPED | 云端旁路转推结束事件 | 对于服务端 OpenAPI 创建的旁路转推任务,在调用 stop 接口停止转推任务、或者相关客户端无流时间超出最大续播时间等原因导致任务结束时,会触发该事件。 对于 SDK API 发起的旁路转推任务,在调用停止转推任务、或者相关客户端推流退出导致任务结束时,会触发该事件。 |
回调内容示例
转推启动事件示例
{
"version" : "2",
"eventGroupId" : 1,
"eventType" : "LIVESTREAMING_BYPASS_STARTED",
"eventId" : "testEventId",
"ts" : 1718958094142,
"eventInfo" : {
"appId" : "testapp",
"roomName" : "654321",
"userId" : 123456,
"taskId" : "testTaskId",
"pushUrl" : "rtmp://***/***/***",
"eventTs" : 1718958094128
}
}
转推状态变化事件示例
{
"version" : "2",
"eventGroupId" : 1,
"eventType" : "LIVESTREAMING_BYPASS_STATE_CHANGED",
"eventId" : "testEventId",
"ts" : 1718958096395,
"eventInfo" : {
"appId" : "testapp",
"roomName" : "654321",
"userId" : 123456,
"taskId" : "testTaskId",
"pushUrl" : "rtmp://***/***/***",
"state" : "RUNNING",
"eventTs" : 1718958096000
}
}
转推结束事件示例
{
"version" : "2",
"eventGroupId" : 1,
"eventType" : "LIVESTREAMING_BYPASS_STOPPED",
"eventId" : "testEventId",
"ts" : 1718958158093,
"eventInfo" : {
"appId" : "testapp",
"roomName" : "654321",
"userId" : 123456,
"taskId" : "testTaskId",
"pushUrl" : "rtmp://***/***/***",
"eventTs" : 1718958158093
}
}