消息通知服务支持的事件有:
音频流相关:
UserAudioStreamStartUserAudioStreamStop视频流相关:
UserVideoStreamStartUserVideoStreamStop屏幕音频流相关:
UserScreenAudioStreamStartUserScreenAudioStreamStop屏幕视频流相关:
UserScreenVideoStreamStartUserScreenVideoStreamStop录制相关:
RecordStartedRecordStopped(2020-12-01)RecordStopped(2022-06-01)RecordUploadStartedRecordUploadProcessingRecordUploadDoneRecordUploadBackupedRecordAudioStreamStateChangedRecordVideoStreamStateChanged房间相关:
UserJoinRoomUserLeaveRoomInvisibleUserJoinRoomInvisibleUserLeaveRoomRoleChangeInvisible2VisibleRoleChangeVisible2InvisibleRoomCreateRoomDestroy音频切片相关:
抽帧截图相关:
云录屏相关:
WebRecordResult在线媒体流相关:
RelayStreamStateChanged云录屏相关:
Webcast转推直播相关:
TranscodeStartedTranscodeStoppedTranscodeUpdatedTranscodeStateChanged公共流相关:
PushPublicStream歌曲查询相关
MusicRemovedUserAudioStreamStart
音频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID |
| UserId | String | Your_UserId | 用户 ID |
| DeviceType | String | android、ios、web、mac、windows | 终端类型 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "Your_RoomId",
"UserId": "Your_UserId",
"DeviceType": "android",
"Timestamp": "1611736812853"
}
jsonUserAudioStreamStop
音频流结束推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID |
| UserId | String | Your_UserId | 用户 ID |
| DeviceType | String | android、ios、web、mac、windows | 终端类型 |
| Reason | String | 音频流结束推送原因,参看Reason | |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
Reason
| 值 | 含义 |
|---|---|
| StreamStop | 正常流停止 |
| LeaveRoom | 用户离开房间导致流停止 |
| BannedByAdmin | 服务端封禁该音频流导致流停止 |
{
"RoomId": "Your_RoomId",
"UserId": "Your_UserId",
"DeviceType": "android",
"Reason": "StreamStop",
"Timestamp": "1611736812853"
}
jsonUserVideoStreamStart
视频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID |
| UserId | String | Your_UserId | 用户 ID |
| DeviceType | String | android、ios、web、mac、windows | 终端类型 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "Your_RoomId",
"UserId": "Your_UserId",
"DeviceType": "android",
"Timestamp": "1611736812853"
}
jsonUserVideoStreamStop
视频流结束推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID |
| UserId | String | Your_UserId | 用户 ID |
| DeviceType | String | android、ios、web、mac、windows | 终端类型 |
| Reason | String | 视频流结束推送原因,参看Reason | |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
Reason
| 值 | 含义 |
|---|---|
| StreamStop | 正常流停止 |
| LeaveRoom | 用户离开房间导致流停止 |
| BannedByAdmin | 服务端封禁该视频流导致流停止 |
{
"RoomId": "Your_RoomId",
"UserId": "Your_UserId",
"DeviceType": "android",
"Reason": "StreamStop",
"Timestamp": "1611736812853"
}
jsonUserScreenAudioStreamStart
屏幕音频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID |
| UserId | String | Your_UserId | 用户 ID |
| DeviceType | String | android、ios、web、mac、windows | 终端类型 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "Your_RoomId",
"UserId": "Your_UserId",
"DeviceType": "android",
"Timestamp": "1611736812853"
}
jsonUserScreenAudioStreamStop
屏幕音频流结束推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID |
| UserId | String | Your_UserId | 用户 ID |
| DeviceType | String | android、ios、web、mac、windows | 终端类型 |
| Reason | String | 屏幕音频流结束推送原因,参看Reason | |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
Reason
| 值 | 含义 |
|---|---|
| StreamStop | 正常流停止 |
| LeaveRoom | 用户离开房间导致流停止 |
| BannedByAdmin | 服务端封禁该屏幕音频流导致流停止 |
{
"RoomId": "Your_RoomId",
"UserId": "Your_UserId",
"DeviceType": "android",
"Reason": "StreamStop",
"Timestamp": "1611736812853"
}
jsonUserScreenVideoStreamStart
屏幕视频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID |
| UserId | String | Your_UserId | 用户 ID |
| DeviceType | String | android、ios、web、mac、windows | 终端类型 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "Your_RoomId",
"UserId": "Your_UserId",
"DeviceType": "android",
"Timestamp": "1611736812853"
}
jsonUserScreenVideoStreamStop
屏幕视频流结束推送。
注:在 Electron 1.4.0 版本中结束屏幕视频流推送时,不会触发此回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID |
| UserId | String | Your_UserId | 用户 ID |
| DeviceType | String | android、ios、web、mac、windows | 终端类型 |
| Reason | String | 屏幕视频流结束推送原因,参看Reason | |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
Reason
| 值 | 含义 |
|---|---|
| StreamStop | 正常流停止 |
| LeaveRoom | 用户离开房间导致流停止 |
| BannedByAdmin | 服务端封禁该屏幕视频流导致流停止 |
{
"RoomId": "Your_RoomId",
"UserId": "Your_UserId",
"DeviceType": "android",
"Reason": "StreamStop",
"Timestamp": "1611736812853"
}
jsonRecordStarted
录制任务开始。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务开始时,你都会收到录制任务开始的消息通知。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int32 | 0 | 任务状态,值的集合为{0,1}。其中,0 表示成功, 1 表示失败 |
| ErrorMessage | String | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 0,
"ErrorMessage": ""
}
jsonRecordStopped
录制任务结束。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务结束时,你都会收到录制任务结束的消息通知。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int32 | 0 | 任务状态,值的集合为{0,1}。其中,0 表示成功, 1 表示失败 |
| ErrorMessage | String | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误 | |
| RecordFileList | Array of RecordFile | 录制生成的音视频文件列表 |
注意:如果录制结束回调
Code=0,但是RecordFileList为空,没有生成录制文件,请联系技术支持排查具体原因。
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 0,
"ErrorMessage": "",
"RecordFileList": [
{
"Vid": "Your_Vid",
"Duration": 57472,
"Size": 5018305,
"StartTime": 1611736812853,
"StreamList": [
{
"UserId": "TestUserId",
"StreamType": 0
}
],
"VideoCodec": "h264",
"AudioCodec": "aac",
"VideoWidth": 640,
"VideoHeight": 360
}
]
}
jsonRecordStopped
录制任务结束。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务结束时,你都会收到录制任务结束的消息通知。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int32 | 0 | 任务状态,值的集合为{0,1}。其中,0 表示成功, 1 表示失败 |
| ErrorMessage | String | / | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误 |
| RecordFileList | Array of RecordFile | / | 录制生成的音视频文件列表 |
注意:如果录制结束回调
Code=0,但是RecordFileList为空,没有生成录制文件,请联系技术支持排查具体原因。
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 0,
"ErrorMessage": "",
"RecordFileList": [
{
"Vid": "Your_Vid",
"ObjectKey": "TestObjectKey",
"Duration": 57472,
"Size": 5018305,
"StartTime": 1611736812853,
"StreamList": [
{
"UserId": "TestUserId",
"StreamType": 0
}
],
"VideoCodec": "h264",
"AudioCodec": "aac",
"VideoWidth": 640,
"VideoHeight": 360
}
]
}
jsonRecordUploadStarted
上传任务启动。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int32 | 0 | 任务状态,值的集合为{0,1}。其中,0 表示成功, 1 表示失败 |
| ErrorMessage | String | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": ""
}
jsonRecordUploadProcessing
上传任务进度。
上传进程持续一分钟及以上,才会有此回调。每隔一分钟上传一次。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int32 | 0 | 任务状态,值的集合为{0,1}。其中,0 表示成功, 1 表示失败 |
| ErrorMessage | String | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误 | |
| Progress | Int | 100 | 0 到 10000 之间的数字,当前已上传文件与已录制的文件的比例乘以 10000。这个数字是不断变动的,录制完成后,到达 10000 表示上传完成。 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": "",
"Progress" : 100
}
jsonRecordUploadDone
录制文件已上传至存储平台。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int32 | 0 | 任务状态,值的集合为{0,1}。其中,0 表示成功, 1 表示失败 |
| ErrorMessage | String | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": ""
}
jsonRecordUploadBackuped
录制文件上传失败转存备份
备份使用的 TOS Bucket 需要开启版本控制,防止文件名重复导致文件被覆盖。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int32 | 0 | 任务状态,值的集合为{0,1}。其中,0 表示成功, 1 表示失败 |
| ErrorMessage | String | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": ""
}
jsonRecordAudioStreamStateChanged
录制音频流状态变化
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| UserId | String | Your_UserId | 用户 ID |
| StreamType | Int | 0 | 音频流类型。
|
| State | Int | 0 | 任务状态。
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"UserId": "Your_UserId,
"StreamType": 0,
"State": 0,
"Timestamp": "1611736812853"
}
jsonRecordVideoStreamStateChanged
录制视频流状态变化
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分 |
| UserId | String | Your_UserId | 用户 ID |
| StreamType | Int | 0 | 视频流类型。
|
| State | Int | 0 | 任务状态。
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"UserId": "Your_UserId,
"StreamType": 0,
"State": 0,
"Timestamp": "1611736812853"
}
jsonUserJoinRoom
可见用户进入房间。
相同 UserId 用户重复进房时,每一次进房都会触发该回调,建议进行去重操作。
注:关于可见用户和不可见用户,参看 setUserVisibility。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID |
| UserId | String | 4398491447867063 | 用户 ID |
| DeviceType | String | android/ios/web/mac/windows | 终端类型 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "6992870232038591758",
"UserId": "4398491447867063",
"DeviceType": "android",
"Timestamp": "1611736812853"
}
jsonUserLeaveRoom
可见用户退出房间。
相同 UserId 用户反复登录造成被踢,被踢掉用户不会触发此回调。只有在最后一次退房时会触发该回调。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID |
| UserId | String | 4398491447867063 | 用户 ID |
| DeviceType | String | android/ios/web/mac/windows | 终端类型 |
| Reason | String | 原因。参看 Reason | |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
Reason:
| 值 | 含义 |
|---|---|
| userLeave | 正常退房 |
| connectionLost | 因断网、杀进程等异常原因离开房间。用户离开房间 30 s 后触发此回调。 |
| kickedByAdmin | 使用 OpenAPI 接口将某用户踢出房间 |
| roomDismissByAdmin | 使用 OpenAPI 接口解散房间,将房间内所有用户踢出房间 |
| onUserTokenDidExpire | Token 过期被踢出房间 |
| other | 其他原因 |
{
"RoomId": "6992870232038591758",
"UserId": "4398491447867063",
"DeviceType": "android",
"Reason": "userLeave",
"Timestamp": "1611736812853"
}
jsonInvisibleUserJoinRoom
不可见用户进入房间。
相同 UserId 用户重复进房时,每一次进房都会触发该回调,建议进行去重操作。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID |
| UserId | String | 4398491447867063 | 用户 ID |
| DeviceType | String | android/ios/web/mac/windows | 终端类型 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "6992870232038591758",
"UserId": "4398491447867063",
"DeviceType": "android",
"Timestamp": "1611736812853"
}
jsonInvisibleUserLeaveRoom
不可见用户退出房间。
相同 UserId 用户反复登录造成被踢,被踢掉用户不会触发此回调。只有在最后一次退房时会触发该回调。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID |
| UserId | String | 4398491447867063 | 用户 ID |
| DeviceType | String | android/ios/web/mac/windows | 终端类型 |
| Reason | String | 原因。参看 Reason | |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
Reason:
| 值 | 含义 |
|---|---|
| userLeave | 正常退房 |
| connectionLost | 因断网、杀进程等异常原因离开房间。用户离开房间 30 s 后触发此回调。 |
| kickedByAdmin | 使用 OpenAPI 接口将某用户踢出房间 |
| roomDismissByAdmin | 使用 OpenAPI 接口解散房间,将房间内所有用户踢出房间 |
| onUserTokenDidExpire | Token 过期被踢出房间 |
| other | 其他原因 |
{
"RoomId": "6992870232038591758",
"UserId": "4398491447867063",
"DeviceType": "android",
"Reason": "userLeave",
"Timestamp": "1611736812853"
}
jsonRoleChangeInvisible2Visible
可见用户调用 setUserVisibility ,不可见 -> 可见。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID |
| UserId | String | 4398491447867063 | 用户 ID |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "6992870232038591758",
"UserId": "4398491447867063",
"Timestamp": "1611736812853"
}
jsonRoleChangeVisible2Invisible
可见用户调用 setUserVisibility ,可见 -> 不可见。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID |
| UserId | String | 4398491447867063 | 用户 ID |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "6992870232038591758",
"UserId": "4398491447867063",
"Timestamp": "1611736812853"
}
jsonRoomCreate
RTC 房间创建。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "6992870232038591758",
"Timestamp": "1611736812853"
}
jsonRoomDestroy
RTC 房间销毁,房间中所有可见用户全部离开房间。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
{
"RoomId": "6992870232038591758",
"Timestamp": "1611736812853"
}
jsonSegmentRealTimeData
指定音频流切片结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 切片任务 ID。 |
| TosBucket | String | Your_TosBucket | 储存切片的 tos bucket |
| Data | array of AudioData | / | |
| Identifier | String | Your_Identifier | 切片任务标志。若未自定义切片名,切片名默认为 UUID,自定义切片名时为自定义名称,关于自定义切片名,参看切片名设置规则。 |
AudioData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | / | 音频切片对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 音频切片的文件名。 |
| SampleRate | Int | 44100 | 音频采样率,单位 Hz。 |
| BitsPerSample | Int | 16 | 每个音频采样的比特数。 |
| Channels | Int | 2 | 音频声道数。 |
| Size | Uint64 | 256044 | 音频切片大小,单位为 byte。 |
| TimeStamp | Int64 | 1647317680214 | 音频文件生成时对应的UNIX时间戳。单位为毫秒 |
| Duration | Uint32 | 8000 | 音频的时长,单位为毫秒。 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"TosBucket": "Your_TosBucket",
"Data": [
{
"Stream": {
"UserId": "Your_UserId",
"StreamType": 0
},
"ObjectKey": "Your_ObjectKey",
"SampleRate": "44100",
"BitsPerSample": "16",
"Channels": "2",
"Size": 256044,
"TimeStamp": 1647317680214,
"Duration": 8000
}
],
"Identifier": "Your_Identifier" }
jsonSegmentRealTimeData
指定音频流切片结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 切片任务 ID。 |
| Bucket | String | Your_Bucket | 存储音频切片的桶名称 |
| Data | array of AudioData | ||
| Identifier | String | 切片任务标志。若未自定义切片名,切片名默认为 UUID,自定义切片名时为自定义名称,关于自定义切片名,参看切片名设置规则。 | |
AudioData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | / | 音频切片对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 音频切片的对象键。 |
| SampleRate | Int | 44100 | 音频采样率,单位 Hz。 |
| BitsPerSample | Int | 16 | 每个音频采样的比特数。 |
| Channels | Int | 2 | 音频声道数。 |
| Size | Uint64 | 256044 | 音频切片大小,单位为 byte。 |
| TimeStamp | Int64 | 1647317680214 | 音频文件生成时对应的UNIX时间戳。单位为毫秒 |
| Duration | Uint32 | 8000 | 音频的时长,单位为毫秒。 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Bucket": "Your_Bucket",
"Data": [
{
"Stream": {
"UserId": "Your_UserId",
"StreamType": 0
},
"ObjectKey": "Your_ObjectKey",
"SampleRate": "44100",
"BitsPerSample": "16",
"Channels": "2",
"Size": 256044,
"TimeStamp": 1647317680214,
"Duration": 8000
}
],
"Identifier": "Your_Identifier"
}
jsonSnapshotRealTimeData
指定视频流截图结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 截图任务 ID |
| TosBucket | String | Your_TosBucket | 储存截图的 TOS bucket |
| Data | array of ImageData |
ImageData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | / | 截图对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 截图对应的 TOS key。 |
| Format | Uint32 | 0 | 截图格式。
|
| Width | Uint32 | 640 | 截图宽度,单位为像素。 |
| Height | Uint32 | 360 | 截图高度,单位为像素。 |
| Size | Uint64 | 28802 | 截图大小,单位为 byte。 |
| TimeStamp | Uint64 | 1647316896085 | 截图生成时对应的 UNIX 时间戳。 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"TosBucket": "Your_TosBucket",
"Data": [
{
"Stream": {
"UserId": "Your_UserId",
"StreamType": 0
},
"ObjectKey": "Your_ObjectKey",
"Format": 0,
"Width": 640,
"Height": 360,
"Size": 28802,
"TimeStamp": 1647316896085
}
]
}
jsonSnapshotRealTimeData
指定视频流截图结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 截图任务 ID |
| Bucket | String | Your_Bucket | 存储截图的桶名称。当存储平台为 TOS,或者支持 S3 协议的第三方存储平台时此字段才会生效。 |
| VeImageXServiceId | String | / | VeImageX 的服务 ID。当存储平台为 VeImageX 时此字段才会生效。 |
| Data | array of ImageData |
ImageData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | / | 截图对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 对象键名称。当存储平台为 TOS,或者支持 S3 协议的第三方存储平台时此字段才会生效,你可以根据 ObjecetKey 找到对应的图片文件。 |
| VeImageXUri | String | Your_VeImageXUri | VeImageX 的统一资源标识符。当存储平台为 VeImageX 时此字段才会生效,你可以根据 VeImageXUri找到对应的图片文件。 |
| Format | Uint32 | 0 | 截图格式。
|
| Width | Uint32 | 640 | 截图宽度,单位为像素。 |
| Height | Uint32 | 360 | 截图高度,单位为像素。 |
| Size | Uint64 | 28802 | 截图大小,单位为 byte。 |
| TimeStamp | Uint64 | 1647316896085 | 截图生成时对应的 UNIX 时间戳。 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Bucket": "Your_Bucket",
"Data": [
{
"Stream": {
"UserId": "Your_UserId",
"StreamType": 0
},
"ObjectKey": "Your_ObjectKey",
"Format": 0,
"Width": 640,
"Height": 360,
"Size": 28802,
"TimeStamp": 1647316896085
}
]
}
jsonWebRecordResult
云录屏录制任务状态变化。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| TaskId | String | Your_TaskId | 任务 ID,是任务的唯一标志。 |
| Type | Int | 1 | 回调类型: 1: 任务启动成功 2:生成分片 3:任务失败 4:任务完成 |
| Status | Int | 4 | 任务状态: 1:启动中 2:运行中 3:任务失败 4:任务成功 |
| Message | String | http url error | 具体的错误信息 |
| Vid | String | xxxxvvv | 文件在点播平台的唯一标识。你可以根据 vid 可以在点播平台上找到对应的文件。 |
| CreateTime | Int | 1629183877 | 用户录制发起时间戳,unix 时间,单位为秒。 |
| FinishTime | Int | 1629573877 | 用户录制结束时间戳,unix 时间,单位为秒。 |
| FinalFile | File | {"Bucket":"Your\_Bucket","ObjectKey":"1.mp4"} | 所有切片文件拼接而成的最终文件。 |
| Files | []File | [{"Bucket":"Your\_Bucket","ObjectKey":"1\_00001.mp4"} ,{"Bucket":"Your\_Bucket","ObjectKey":"1\_00002.mp4"}] | 切片文件列表 |
{
"EventType": "WebRecordResult",
"EventData": "{
"TaskId": "Your_TaskId",
"Message": "running",
"Status": 2,
"Type": 1
}",
"EventTime": "2021-08-17T19:22:02+08:00",
"EventId": "Your_EventId",
"Version": "2020-12-01",
"AppId": "Your_AppId",
"Signature": "Your_Signature",
"Noce": "7733"
}
json{
"EventType": "WebRecordResult",
"EventData": "{
"TaskId": "Your_TaskId",
"Message": "running",
"Status": 2,
"Type": 2,
"FinalFile": {
"Bucket": "cloud-record-test-2",
"ObjectKey": "test-long-t4.mp4"
},
"Files": [
{
"Bucket": "cloud-record-test-2",
"ObjectKey": "test-long-t4_000001.ts",
"Index": 1
},
{
"Bucket": "cloud-record-test-2",
"ObjectKey": "test-long-t4_000002.ts",
"Index": 2
},
{
"Bucket": "cloud-record-test-2",
"ObjectKey": "test-long-t4_000003.ts",
"Index": 3
}
],
"CreateTime": 0,
"FinishTime": 0
}",
"EventTime": "2021-08-17T19:22:02+08:00",
"EventId": "Your_EventId",
"Version": "2020-12-01",
"AppId": "Your_AppId",
"Signature": "Your_Signature",
"Noce": "7733"
}
json{
"EventType": "WebRecordResult",
"EventData": "{
"TaskId": "Your_TaskId",
"Message": "TOS upload error",
"Status": 3,
"Type": 3,
"Vid": "xxxxvvv",
"CreateTime": 1629181831,
"FinishTime": 1629183877
}",
"EventTime": "2021-08-17T19:22:02+08:00",
"EventId": "Your_EventId",
"Version": "2020-12-01",
"AppId": "Your_AppId",
"Signature": "Your_Signature",
"Noce": "7733"
}
json{
"EventType": "WebRecordResult",
"EventData": "{
"TaskId": "Your_TaskId",
"Message": "success",
"Status": 4,
"Type": 4,
"Vid": "xxxxvvv",
"FinalFile": {
"Bucket": "cloud-record-test-2",
"ObjectKey": "test-long-t4.mp4"
},
"CreateTime": 1629181831,
"FinishTime": 1629183877
}",
"EventTime": "2021-08-17T19:22:02+08:00",
"EventId": "Your_EventId",
"Version": "2020-12-01",
"AppId": "Your_AppId",
"Signature": "Your_Signature",
"Noce": "7733"
}
jsonRelayStreamStateChanged
输入在线媒体流状态发生变化。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 任务 ID |
| UserId | String | Your_UserId | 在线媒体流对应的的 UserId |
| StreamUrl | String | rtmp://xxx | 在线流媒体地址 |
| Status | Int | 1 | 任务状态:1:待机中2:连接中3:运行中4:已停止 |
| StartTimeStamp | Int | 0 | 任务起始时间戳,用于定时播放,Unix时间,单位为秒。默认为 0,表示立即启动。 |
| Msg | String | / | 描述信息 |
| Reason | Int | 1 | 任务停止原因:1:空闲超时 2:停止接口调用 3:流播放结束 4:内部错误 5:url地址异常 6:编码格式不支持 7:token 错误 8:没有发布权限 9:被移除房间 仅当 status=4 时,Reason 有值。 |
{
"AppId": "Your_AppId",
"EventId": "Your_eventId",
"EventTime": "2021-08-17T19:22:02+08:00",
"EventType": "RelayStreamStateChanged",
"EventData": {
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"UserId": "Your_UserId",
"StreamUrl": "rtmp://xxx",
"Status": 1,
"StartTimeStamp": 0,
"Msg": "",
"Vid": "xxxxvvv",
"Reason": 4
},
}
jsonWebcast
云录屏任务状态发生变化
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| TaskId | String | Your_TaskId | 任务 ID |
| Status | Int | 1 | 任务状态:1:开始转推2:正常结束3:异常结束4:页面刷新5:任务重调度(推流用户重新进房) |
| Reason | String | / | 异常结束描述信息,当 Status = {3,4,5} 时才有值,可取值为:AudioCaptureModuleError、 WebRenderModuleError、SourceURLInaccessible、StartEventTimeout、PageBlank、PageCrash、PageFreeze 。 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Status": 1
}
jsonTranscodeStarted
通过调用 RTC 服务端 OpenAPI 或客户端 SDK 的 API 发起的转推直播任务开始。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时,TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| PushURL | String | rtmp://xxxx | 推流 CDN 地址。该参数当前仅在合流转推下返回。 |
| Code | Int | 0 | 操作结果类型。
|
| ErrorMessage | String | 具体错误信息,当 Code为1时,ErrorMessage 会显示具体的错误信息 |
{
"AppId": "Your_AppID",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomID",
"TaskId": "Your_TaskID",
"Timestamp": 1661150097044,
"PushURL": "rtmp://xxxx",
"Code": 0,
"ErrorMessage": ""
}
jsonTranscodeStopped
通过调用 RTC 服务端 OpenAPI 或客户端 SDK 的 API 终止了转推直播任务。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时, TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| PushURL | String | rtmp://xxxx | 推流 CDN 地址。该参数当前仅在合流转推下返回。 |
| Code | Int | 0 | 操作结果类型。
|
| ErrorMessage | String | 具体错误信息,当 Code为1时,ErrorMessage 会显示具体的错误信息 |
{
"AppId":"Your_AppID",
"BusinessId":"Your_BusinessId",
"RoomId":"Your_RoomID",
"TaskId":"Your_TaskID",
"Timestamp":1661150097044,
"PushURL": "rtmp://xxxx",
"Code":0,
"ErrorMessage":""
}
jsonTranscodeUpdated
通过调用 RTC 服务端 OpenAPI 或客户端 SDK 的 API 更新了合流转推任务。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时, TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| PushURL | String | rtmp://xxxx | 推流 CDN 地址。 |
| Code | Int | 0 | 操作结果类型。
|
| ErrorMessage | String | 具体错误信息,当 Code为1时,ErrorMessage 会显示具体的错误信息 |
{
"AppId": "Your_AppID",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomID",
"TaskId": "Your_TaskID",
"Timestamp": 1661150055041,
"PushURL": "rtmp://xxxx",
"Code": 0,
"ErrorMessage": ""
}
jsonTranscodeStateChanged
转推直播任务状态变化通知。
状态变化包括用户主动调用 RTC 服务端 OpenAPI 或客户端 SDK 的 API 更新了合流转推任务参数。也包括任务执行过程中出现的状态流转。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时, TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| StartTime | Int64 | 1661150054990 | 转推直播任务创建的 Unix 时间戳(ms) |
| FinishTime | Int64 | 0 | 转推直播任务结束的 Unix 时间戳(ms) |
| PushURL | String | rtmp://xxxx | 推流 CDN 地址。该参数当前仅在合流转推下返回。 |
| TaskState | Int | 2 | 任务状态,可取值为{1,2,3,4}。
|
| Code | Int | 0 | 错误码。可取值为{0,1,2,3,4,9999}。
|
| ErrorMessage | String | 具体错误信息。 |
{
"AppId": "Your_AppID",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomID",
"TaskId": "Your_TaskID",
"Timestamp": 1661150097044,
"StartTime": 1661150054990,
"FinishTime": 0,
"PushURL": "rtmp://xxxx",
"TaskState": 3,
"Code": 0,
"ErrorMessage": ""
}
jsonPushPublicStream
公共流推送异常或推送结束
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| PublicStreamId | String | Your_PublicStreamId | 公共流对应的流 Id |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| Status | Int | 2 | 公共流任务状态。取值为2和3。2:公共流推送结束3:公共流推送异常 |
| Msg | String | 具体的错误信息 | |
| Code | Int | 2 | 错误码。取值为1,2,3。 |
{
"AppId":"Your_AppID",
"BusinessId":"Your_BusinessId",
"PublicStreamId":"Your_PublicStreamId",
"Timestamp":1661150097044,
"Status":2,
"Msg":"call api stop",
"Code":2
}
jsonMusicRemoved
曲库下架歌曲列表
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| Timestamp | Int | 1611736812853 | 该事件在 RTC 服务器上发生的时间戳,Unix 时间,单位为毫秒 |
| SongUpdate | Array of SongUpdate | / | 下架歌曲详细信息 |
SongList
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| SongId | String | Your_SongId | 歌曲 ID |
| VendorId | Int | 1 | 供应商 ID |
| UpdateAt | Int | 1611736812853 | 歌曲更新时间戳,Unix 时间,单位为毫秒 |
{
"AppId": "Your_AppId",
"Timestamp": 1611736812853,
"SongUpdate": [
{
"SongId": "Your_SongId",
"VendorId": 2,
"UpdateAt": 1611736812853
}
]
}
json