消息通知服务支持的事件有:
音频流相关:
UserAudioStreamStartUserAudioStreamStop视频流相关:
UserVideoStreamStartUserVideoStreamStop屏幕音频流相关:
UserScreenAudioStreamStartUserScreenAudioStreamStop屏幕视频流相关:
UserScreenVideoStreamStartUserScreenVideoStreamStop录制相关:
RecordStartedRecordStoppedRecordUploadStartedRecordUploadProcessingRecordUploadDoneRecordUploadBackuped房间相关:
UserJoinRoomUserLeaveRoomInvisibleUserJoinRoomInvisibleUserLeaveRoomRoleChangeInvisible2VisibleRoleChangeVisible2InvisibleRoomCreateRoomDestroy音频切片相关:
SegmentRealTimeData抽帧截图相关:
SnapshotRealTimeData云录屏相关:
WebRecordResult在线媒体流相关:
RelayStreamStateChanged页面转推相关:
Webcast转推直播相关:
TranscodeStartedTranscodeStoppedTranscodeUpdatedTranscodeStateChanged公共流相关:
PushPublicStreamUserAudioStreamStart
音频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| 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
屏幕视频流结束推送。
注:在 Elcetron 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 | 音视频应用的唯一标识 |
| BusinessId | String | 业务标识 |
| RoomId | String | 用户创建的房间 Id,房间的唯一标识 |
| TaskId | String | 任务 Id,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int 32 | 任务状态,值的集合为{0,1}。其中,0 表示成功, 1 表示失败 |
| ErrorMessage | String | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误 |
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 0,
"ErrorMessage": ""
}
json{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": "ErrorMessage"
}
jsonRecordStopped
录制任务结束。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务结束时,你都会收到录制任务结束的消息通知。
| 参数名 | 类型 | 描述 |
|---|---|---|
| AppId | String | 音视频应用的唯一标识 |
| BusinessId | String | 业务标识 |
| RoomId | String | 用户创建的房间 Id,房间的唯一标识 |
| TaskId | String | 任务 Id,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int 32 | 任务状态,值的集合为{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
}
]
}
json{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": "ErrorMessage"
}
jsonRecordStopped
录制任务结束。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务结束时,你都会收到录制任务结束的消息通知。
| 参数名 | 类型 | 描述 |
|---|---|---|
| AppId | String | 音视频应用的唯一标识 |
| BusinessId | String | 业务标识 |
| RoomId | String | 用户创建的房间 Id,房间的唯一标识 |
| TaskId | String | 任务 Id,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Int 32 | 任务状态,值的集合为{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
}
]
}
json{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": "ErrorMessage"
}
jsonRecordUploadStarted
上传任务启动。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BuisnessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 Id,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 Id,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Code32 | 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": ""
}
json{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": "ErrorMessage"
}
jsonRecordUploadProcessing
上传任务进度。
上传进程持续一分钟及以上,才会有此回调。每隔一分钟上传一次。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BuisnessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 Id,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 Id,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Code32 | 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
}
json{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": "ErrorMessage"
"progress" : 100
}
jsonRecordUploadDone
录制文件已上传至存储平台。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BuisnessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 Id,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 Id,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Code32 | 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": ""
}
json{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": "ErrorMessage"
}
jsonRecordUploadBackuped
录制文件上传失败转存备份
备份使用的 Tos Bucket 需要开启版本控制,防止文件名重复导致文件被覆盖。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识 |
| BusinessId | String | Your_BuisnessId | 业务标识 |
| RoomId | String | Your_RoomId | 用户创建的房间 Id,房间的唯一标识 |
| TaskId | String | Your_TaskId | 任务 Id,同一房间内的录制任务通过 TaskId 来区分 |
| Code | Code32 | 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": ""
}
json{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"Code": 1,
"ErrorMessage": "ErrorMessage"
}
jsonUserJoinRoom
可见用户进入房间。
注:关于可见用户和不可见用户,参看 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
可见用户退出房间。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| 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
不可见用户进入房间。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| 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
不可见用户退出房间。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| 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 | 应用的唯一标志 |
| BusinessId | String | 业务标识 |
| RoomId | String | 房间 ID,是房间的唯一标志 |
| TaskId | String | 切片任务 ID。 |
| TosBucket | String | 储存切片的 tos 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",
"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 | 应用的唯一标志 |
| BusinessId | String | 业务标识 |
| RoomId | String | 房间 ID,是房间的唯一标志 |
| TaskId | String | 切片任务 ID。 |
| Bucket | String | 存储音频切片的桶名称 |
| 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 | 应用的唯一标志 |
| BusinessId | String | 业务标识 |
| RoomId | String | 房间 ID,是房间的唯一标志 |
| TaskId | String | 截图任务 ID |
| TosBucket | String | 储存截图的 Tos bucket |
| Data | array of ImageData |
ImageData
| 参数名 | 类型 | 描述 |
|---|---|---|
| Stream | Stream | 截图对应的流的信息。 |
| ObjectKey | String | 截图对应的 TOS key。 |
| Format | Uint32 | 截图的格式, jpeg 或 png。 |
| Width | Uint32 | 截图宽度,单位为 px。 |
| Height | Uint32 | 截图高度,单位为 px。 |
| Size | Uint64 | 截图大小,单位为 byte。 |
| TimeStamp | Uint64 | 截图生成时对应的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 | 应用的唯一标志 |
| BusinessId | String | 业务标识 |
| RoomId | String | 房间 ID,是房间的唯一标志 |
| TaskId | String | 截图任务 ID |
| Bucket | String | 存储截图的桶名称。当存储平台为 TOS,或者支持 S3 协议的第三方存储平台时此字段才会生效。 |
| VeImageXServiceId | String | VeImageX 的服务 ID。当存储平台为 VeImageX 时此字段才会生效。 |
| Data | array of ImageData |
ImageData
| 参数名 | 类型 | 描述 |
|---|---|---|
| Stream | Stream | 截图对应的流的信息。 |
| ObjectKey | String | 对象键名称。当存储平台为 TOS,或者支持 S3 协议的第三方存储平台时此字段才会生效,你可以根据 ObjecetKey 找到对应的图片文件。 |
| VeImageXUri | String | VeImageX 的统一资源标识符。当存储平台为 VeImageX 时此字段才会生效,你可以根据 VeImageXUri找到对应的图片文件。 |
| Format | Uint32 | 截图的格式, jpeg 或 png。 |
| Width | Uint32 | 截图宽度,单位为 px。 |
| Height | Uint32 | 截图高度,单位为 px。 |
| Size | Uint64 | 截图大小,单位为 byte。 |
| TimeStamp | Uint64 | 截图生成时对应的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
云录屏录制任务状态变化。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| EventType | String | WebRecordResult | 事件类型 |
| EventData | String | 具体的事件内容 | |
| EventTime | String | 2021-08-19T11:47:28+08:00 | 事件产生时间,格式为 RFC3339 |
| EventId | String | 6110e5394f69bb00ca885806_bc_test1234567_bc_1111_1629344822736_img_doc | 事件 ID,具有唯一性,可用于去重 |
| Version | String | 2020-12-01 | 回调版本,本接口取值:2020-12-01 |
| AppId | String | Your_AppId | 应用的唯一标志 |
| Signature | String | Your_Signature | 回调签名 |
| Noce | String | 9091 | 签名随机数 4位 |
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| 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
输入在线媒体流状态发生变化。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| EventId | String | Your_EventId | 事件 ID,具有唯一性,可用于去重 |
| EventTime | String | 2021-08-19T11:47:28+08:00 | 事件产生时间,格式为 RFC3339 |
| EventType | String | RelayStreamStateChanged | 事件类型 |
| EventData | String | 具体的事件内容 |
Eventdata
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| 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
转推直播任务开始
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 转推直播任务 ID |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| Code | Int | 0 | 错误码。可取值为{0,1,2,3,4,9999}。0表示请求处理成功。1表示参数校验发生错误。2表示订阅不到合流用户的输入流或输入流没有音视频数据。3表示任务执行过程出现错误。4表示更新 av 参数后重推失败 或者 CDN 服务异常、请求连接失败。9999表示其他系统异常。 |
| ErrorMessage | String | 具体错误信息,当 Code为1时,ErrorMessage 会显示具体的错误信息 | |
| TaskState | Int | 2 | 任务状态,可取值为{1,2,3,4}。1表示尚未开始推流或已停止推流。2表示正在连接 CDN 服务。3表示正在推流4表示正在重连 CDN 服务。 |
{
"AppId":"Your_AppID",
"BusinessId":"Your_BusinessId",
"RoomId":"Your_RoomID",
"TaskId":"Your_TaskID",
"Timestamp":1661150097044,
"Code":0,
"ErrorMessage":"",
"TaskState":1
}
jsonTranscodeStopped
转推直播任务结束
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 转推直播任务 ID |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| Code | Int | 0 | 错误码。可取值为{0,1,2,3,4,9999}。0表示请求处理成功。1表示参数校验发生错误。2表示订阅不到合流用户的输入流或输入流没有音视频数据。3表示任务执行过程出现错误。4表示更新 av 参数后重推失败 或者 CDN 服务异常、请求连接失败。9999表示其他系统异常。 |
| ErrorMessage | String | 具体错误信息,当 Code为1时,ErrorMessage 会显示具体的错误信息 | |
| TaskState | Int | 2 | 任务状态,可取值为{1,2,3,4}。1表示尚未开始推流或已停止推流。2表示正在连接 CDN 服务。3表示正在推流4表示正在重连 CDN 服务。 |
{
"AppId":"Your_AppID",
"BusinessId":"Your_BusinessId",
"RoomId":"Your_RoomID",
"TaskId":"Your_TaskID",
"Timestamp":1661150097044,
"Code":0,
"ErrorMessage":"",
"TaskState":1
}
jsonTranscodeUpdated
转推直播任务更新
此回调事件仅对合流转推生效
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 转推直播任务 ID |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| Code | Int | 0 | 错误码。可取值为{0,1,2,3,4,9999}。0表示请求处理成功。1表示参数校验发生错误。2表示订阅不到合流用户的输入流或输入流没有音视频数据。3表示任务执行过程出现错误。4表示更新 av 参数后重推失败 或者 CDN 服务异常、请求连接失败。9999表示其他系统异常。 |
| ErrorMessage | String | 具体错误信息,当 Code为1时,ErrorMessage 会显示具体的错误信息 | |
| TaskState | Int | 2 | 任务状态,可取值为{1,2,3,4}。1表示尚未开始推流或已停止推流。2表示正在连接 CDN 服务。3表示正在推流4表示正在重连 CDN 服务。 |
{
"AppId":"Your_AppID",
"BusinessId":"Your_BusinessId",
"RoomId":"Your_RoomID",
"TaskId":"Your_TaskID",
"Timestamp":1661150055041,
"Code":0,
"ErrorMessage":"",
"TaskState":1,
"StartTime":1661150054990
}
jsonTranscodeStateChanged
转推直播任务状态变化
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志 |
| BusinessId | String | Your_BusinessId | 业务标识 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志 |
| TaskId | String | Your_TaskId | 转推直播任务 ID |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳 (ms) |
| StartTime | Int64 | 1661150054990 | 转推直播任务创建的 Unix 时间戳(ms) |
| FinishTime | Int64 | 0 | 转推直播任务结束的 Unix 时间戳(ms) |
| TaskState | Int | 2 | 任务状态,可取值为{1,2,3,4}。1表示尚未开始推流或已停止推流。2表示正在连接 CDN 服务。3表示正在推流4表示正在重连 CDN 服务。 |
| Code | Int | 0 | 错误码。可取值为{0,1,2,3,4,9999}。0表示请求处理成功。1表示参数校验发生错误。2表示订阅不到合流用户的输入流或输入流没有音视频数据。3表示任务执行过程出现错误。4表示更新 av 参数后重推失败 或者 CDN 服务异常、请求连接失败。9999表示其他系统异常。 |
| ErrorMessage | String | 具体错误信息。 |
{
"AppId":"Your_AppID",
"BusinessId":"Your_BusinessId",
"RoomId":"Your_RoomID",
"TaskId":"Your_TaskID",
"Timestamp":1661150097044,
"StartTime":1661150054990,
"FinishTime":0,
"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
}
json